1005
日期:2018-9-14 西门子(SIEMENS)S7-400H系统信息及诊断图示
简介:在生产控制中,通常需要对S7-400H系统的信息和状态进行监控,例如监控CPU的主从状态、操作状态、DP从站与主站的通信状态等信息。在程序中可以通过对状态的判断进行必要的操作,也可以将系统信息上传到HMI,便于操作及维护人员监控。通过功能块可以将系统信息读出,下面介绍读取不同系统信息调用功能块的方法。
5.1利用SFC51(SSL-ID W#16#xy71)读出H系统信息
SSL-ID (SYSTEM STATUS LIST)系统状态目录,利用SFC51可以读出在SSL-ID指定的PLC系统信息,当SSL-ID 等于W#16#0071时,表示需要读出S7-400H系统当前的状态,可以在OB1或循环中断组织块OB3X中调用,调用SFC51的例子如图5-1所示:
图5-1 调用SFC51(SSL-ID W#16#0071)例子程序
SFC51的参数解释如下,
REQ :为1是读取SZL_ID指定的系统信息,本例中M1.1为1时启动读请求。
SZL_ID :指定需要读取的系统信息,本例为W#16#71,H系统当前状态。
INDEX :本例中没有意义。
RET_VAL :调用SFC51的状态字。
BUSY :为1时表示读进程没有完成。
SZL_HEADER:输出系统信息存储的数据记录区号及长度,结构数据类型。
DR :指定输出系统信息存储在CPU的地址区。
参数SZL_HEADER与DR的地址区在DB1中建立,如5-2所示:
图5-2 参数SZL_HEADER与DR的地址区
参数SZL_HEADER为一个结构数据,包括两个字,第一个字输出系统信息长度,例如W#16#10表示输出16个字节,第二个字输出存储系统信息的数据记录区,例如W#16#1表示数据记录区为1。参数DR为存储系统信息的地址区,数据类型为指针,长度必须大于参数SZL_HEADER第一个字输出的信息长度。本例中当M1.1为时,读取的系统信息存储在DB1.DBB4~DB1.DBB20 16个字节中。用户可以对16个字节长度的系统信息进行分析和处理,系统信息内容如下:
内容 长度 含义
Redinf 2 bytes 冗余信息
W#16#0011:单机 H CPU运行
W#16#0012:H系统2备1运行
Mwstat1 1 byte 状态字节1
Bit 0:保留
Bit 1:保留
Bit 2:保留
Bit 3:保留
Bit 4:机架0中CPU的状态
=0:从 CPU
=1:主 CPU
Bit 5:机架1中CPU的状态
=0:从 CPU
=1:主 CPU
Bit 6:保留
Bit 7:保留
Mwstat2 1 byte 状态字节2
Bit 0:同步连接状态 01:
CPU 0 和CPU 1同步
=0:不可能
=1:可能
Bit 1: 0
Bit 2::0
Bit 3:保留
Bit 4:=0:CPU没有在机架0
=1:CPU在机架0上
(冗余模式: bit 4 = 0)
Bit 5:=0:CPU没有在机架1
=1:CPU在机架1上
(冗余模式: bit 5 = 0)
Bit 6:保留
Bit 7:主从切换是否从新使能
=0:否
=1:是