课程咨询
工作时间: 9:00-18:00
QQ
QQ
0755-28917957
拨打咨询电话:0755-28917957
电话
电话
微信
微信
回顶
检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断
荣久学院 ● 2018-12-18 15:20:02

    使用 FB125 程序来判断系统中的错误,FB125 可以诊断总线上站点的各种故障信息。FB125 是一个中断驱动功能块,它可以检测到从站的组态,掉站等故障,并且给出详细的报错信息。使用 FB125 来诊断故障必须在 OB1, OB82  OB86 中调用FB125

 

    组态软件和硬件:


    所用软件:
STEP7 V5.2

    所用硬件:

    1.PROFIBUS-DP 主站 S7-400 CPU414-3

    2. PROFIBUS-DP 从站 IM 153-2 (redundant) ET 200S / CPUDiagnostic Repeater

    3. MPI 网卡 CP5611

    4.PROFIBUS 电缆及接头

    配置完毕的系统组态图如下:

 

完成后系统组态图

 

    ▍ 下面通过 FB125 来诊断系统中的各种故障


    首先,插入功能块
 OB82OB86。在 Step 7 界面下选中 Blocks,在右侧空白区域点击鼠标右键,在下拉菜单中选择 Insert New Object-Organization Block,插入所需的 OB82  OB86 组织块,如下图所示。

 

插入组织块
0B82组织块插入

 

    由于在程序中要使用 DB125 存储故障信息,所以按照添加 OB 块的步骤添加 OB125

 

data block

 

    分别打开 OB1,OB82  OB86,在其中调用 FB125  DB125,输入程序,例子程序如下:

 

调用程序

 

    程序为诊断信息分配了存储空间,下面对每条语句的诊断功能做进一步的说明。

    
    ▍ 以下参数从
 1-8 均为输入量


    1. DP_MASTERSYSTEM (INT)
表示配置的 DP 主站系统的个数,在本例中为 1

    2EXTERNAL_DP_INTERFACEBOOL):=0CPU 主站的集成 DP 接口;=1,外部接口,如 CP/IM

    3. MANUAL_MODE (BOOL)=0,自动模式,此模式下不支持单个从站的诊断;=1,手动模式,可以进行单个从站的诊断。

    4. SINGLE_STEP_SLAVE (BOOL):转到下一个出错的 DP 从站。

    5. SINGLE_STEP_ERRORBOOL):转到正在显示的 DP 从站的下一个错误。

    6. RESET (BOOL)=1,复位,初始化系统。

    7. SINGLE_DIAG (BOOL):只在手动模式下(MANUAL_MODE=1)有效。=1,读 DP 从站的诊断。可在 SINGLE_DIAG_ADR 配置该从站的站号。

    8. SINGLE_DIAG_ADR (BYTE):只在手动模式下(MANUAL_MODE=1)有效。与 SINGLE_DIAG 配合使用,在其中设置单独诊断的从站的站号。

 

    ▍ 以下参数 9-25 均为输出量。

    9ALL_DP_SLAVES_OK (BOOL)=0,系统中从站存在故障;=1,系统中从站运行正常。

    10SUM_SLAVES_DIAG (BYTE):出错的 DP 从站的数目。

    11. SLAVE_ADR (BYTE):出错的 DP 从站的站号。

    12. SLAVE_STATE (BYTE)

 

 

    13 SLAVE_IDENT_NO (WORD):与 SLAVE_ADR 有关。

    14. ERROR_NO (BYTE):与当前 SLAVE_ADR 参数指示的从站相对应的错误编号,每个编号都有一个与之相对应的故障信息。

    15.ERROR_TYPE (BYTE)

 

 

    16MODULE_NO (BYTE):与当前 SLAVE_ADR 参数指示的从站相对应的模块编号,指示出错的从站对应的槽或模块。

    17MODULE_STATE (BYTE):与当前 SLAVE_ADR 参数指示的从站相对应的模块状态。

 

 

    18CHANNEL_NO (BYTE):与当前 SLAVE_ADR 参数指示的从站相对应的故障模块的通道编号。

    19CHANNEL_TYPE (BYTE):与当前 SLAVE_ADR 参数指示的从站相对应的模块中出错通道的类型。

    20CHANNEL_ERROR_CODE (INT):与当前 SLAVE_ADR 参数指示的从站相对应,每一个错误的通道都明确地给出了错误信息,每条信息对应着一个标号,具体标号对应的故障信息参见手册 P4-P8 表格。

    21. CHANNEL_ERROR_INFO_1(DWORD):与当前 SLAVE_ADR 参数指示的从站相对应,故障通道上的位错误信息,不同的错误信息对应不同的错误类型(ERROR_TYPE)

    ERROR_TYPE=3,通道诊断信息详见手册 P8 中部表格。

    ERROR_TYPE=4,S7 诊断信息详见手册 P9-P10 表格。

    22CHANNEL_ERROR_INFO_2(DWORD):与当前 SLAVE_ADR 参数下,与上文中 ERROR_TYPE 中的编号 4S7 诊断)相对应,提供了满足 S7 模块 DS0 数据记录的特殊错误信息,详见手册 P11 表格。

    23. DIAG_COUNTER (BYTE):显示的诊断 DP 从站的总数。

    24. DIAG_OVERFLOW (BOOL):同时接受诊断的总数大于 32 个,从站超过了 FB125 可以处理的上限,需要执行RESET 复位。

    25. BUSY (BOOL)FB125 正在诊断 DP 系统。DB125 的功能:在程序中,用到了数据块 DB125,其作用如下:

 

 

    下图为从站编号的分配表。

 

从站编号分配表

 

    通过以上两个表格,可以判断出系统中从站的状态,下面通过一个例子来说明。

    在编程界面下选择菜单栏中 PLC->Monitor/Modify Variables

 

诊断结果

 

    在 23 栏中,起始地址为 1176 字节,已组态的从站为 345 16 号从站。

    在 24 栏中,起始地址为 1192 字节,已检测到的从站为 3,4  16 号从站。

    在 25 栏中,起始地址为 1208 字节,检测不到的从站为 5号从站。

    在 26 栏中,起始地址为 1224 字节,没有故障从站。

    在 27 栏中,起始地址为 1240 字节,受影响的从站为 5号从站。

    可以看到,通过 FB125 可以获得一个详细的诊断结果,从故障站点,故障模块,故障通道,逐步明确故障的发生地点;根据故障信息,有助于找出故障原因,从而排除故障。同时数据存储区可以做为接口被其它程序读取和调用(如 WINCC),更直观的找出故障从站和错误信息。


相关文章:

PLC编程案例,教你从工程师编写的热供水程序案例入门
技术共享