如何在WinCC上显示S7 CPU的运行模式

描述

利用S7 系统函数 SFC51 “RDSYSST”(SSL_ID=W#16#023 2, Index=W# 1 6#0004),可以获得CPU上钥匙当前的位置,存放到M 区或DB块中,通过WinCC读取并显示出来。

可以在OB35  中调用 SFC 51 :

CALL  "R DSYSST"

REQ        :=TRUE 

SZL_ID      :=W#16#2 32

INDEX       :=W#16#4 

RET_VAL   :=MW12 

BUSY       :=M10.1 

SZL_HEADER:=DB1.SZL_HEADER 

DR           :=P#M 100.0 WORD 20

SFC51的参数解释如下,

REQ                     :为TRUE  时启动读请求。

SZL_ID              :指定需要读取的系统信息,本例为W#16#0232。

INDEX                  :本例中为W#16#0004。

RET_VAL         :执行SFC51 返回状态。

BUSY                  :  为1 时表示读进程没有完成。

SZL_HEADER:输出系统信息存储的数据记录区号及长度,结构数据类型。

DR                         :指定输出系统信息存储在CPU的地址区。

参数SZL_HEADER 的地址区在DB1 中建立

cpu

用户可以从DR指向的地址区域中读取到当前CPU的运行状态,见下表。其中第五个字提供了关于CPU 钥匙当前的位置:

cpu

当CPU打到 RUN-P 时,MW108返回值为2,意为CPU处于RUN-P运行模式:

cpu

当CPU 达到RUN时,MW108返回值为1,意为CPU处于RUN运行模式:

cpu

VASS标准的PLC模式显示:

cpu

cpu

cpu

cpu

由WINCC系统区域指针向PLC的DB100.DBW994  发送1

如果读取PLC的DB值为1认为CPU在运行RUN模式 

cpu

如果读取PLC的DB值为0认为CPU 处于 STOP  模式 

cpu

BUS_OK的显示:

cpu

cpu

dwVisuwert4.X4              := BusOK;


审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分