如何在WinCC 上显示S7 CPU 的操作模式
使用S7系统函数SFC51“RDSYSST”(SSL_ID=W#16#023 2, Index=W#1 6#0004),可以获得密钥在CPU上的当前位置,存储在M区或DB块中,并通读WinCC并显示出来。
可以在OB35 中调用SFC 51:
呼叫“RDSYSST”
要求:=真
SZL_ID :=W#16#232
索引:=W#16#4
RET_VAL :=MW12
忙:=M10.1
SZL_HEADER:=DB1.SZL_HEADER
DR :=P#M100.0 字20
SFC51的参数解释如下:
REQ:为TRUE 时启动读取请求。
SZL_ID:指定要读取的系统信息,本例为W#16#0232。
索引:本例中为W#16#0004。
RET_VAL:执行SFC51返回状态。
BUSY:为1时表示读取过程尚未完成。
SZL_HEADER:输出系统信息存储的数据记录区编号和长度以及结构数据类型。
DR:指定输出的系统信息存放在CPU的地址区域。
参数SZL_HEADER的地址区域在DB1中创建
用户可以从DR指向的地址区读取当前CPU的运行状态,见下表。第五个字提供有关CPU 键当前位置的信息:
当CPU命中RUN-P时,MW108返回值2,这意味着CPU处于RUN-P运行模式:
当CPU到达RUN时,MW108的返回值为1,表示CPU处于RUN模式:
VASS标准PLC模式显示:
从WINCC系统区指针发送1到PLC的DB100.DBW994
如果从PLC 读取的DB 值为1,则认为CPU 运行在RUN 模式。
如果从PLC 读取的DB 值为0,则认为CPU 处于STOP 模式。
显示BUS_OK :
dwVisuwert4.X4 :=总线OK;
审稿人:刘庆