检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

使用 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 / CPU、Diagnostic Repeater。

3. MPI 网卡 CP5611

4.PROFIBUS 电缆及接头

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

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

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

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

下:

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

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

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

2、EXTERNAL_DP_INTERFACE(BOOL):=0,CPU 主站的集成 DP 接口;=1,外部接口,如 CP/IM。

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

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

5、SINGLE_STEP_ERROR(BOOL):转到正在显示的 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 均为输出量。

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

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

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

12、SLAVE_STATE (BYTE)

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

13 、SLAVE_IDENT_NO (WORD):与 SLAVE_ADR 有关。

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

15、ERROR_TYPE (BYTE)

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

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

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

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

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

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

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

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

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

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

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

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

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

检查PLC控制系统故障,教你用西门子FB125程序来做出正确判断

在 23 栏中,起始地址为 1176 字节,已组态的从站为 3,4,5,6 和 16 号从站。

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

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

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

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

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


分享到:


相關文章: