恭喜,你发布的帖子
发布于 2020-12-12 15:37:34
3楼
我自己用笨方法解决了。把经过分享一下,给碰到类似问题的朋友。
原因:WINCC采集modbus 变量或OPC变量,如果通信连接断开后,WINCC会保留最后一次采集的变量值。
思路:既然设备状态变量无法更改,如果通过内部变量中转到画面上显示的话,就可以及时更改其值了。
方法:
1、WINCC V7.5有个检查连接状态的新功能(在连接上点右键,选择“创建启用/禁用变量”),选择后会在内部变量里生成“ConnectionStates”变量组,通道的连接状态就在里面。
2、创建要在画面上显示的状态变量“状态字”(内部变量),真实设备状态变量“状态字T”(外部输入),空值状态变量“状态字F”(内部变量,值为0)。
3、用全局脚本,检测通道连接状态,如果为“1”,就把“状态字T”写给“状态字”,如果为“0”,就把“状态字F”写给“状态字”。全局脚本可以定时触发,我的设为2秒。
尽管会消耗额外的资源,但是也能做到实时的状态显示了。
资料:WinCC V7.5 通信连接状态变量
http://www.ad.siemens.com.cn/productportal/prods/hmi/wincc/q3_configuration/faq49.html
贴几张详情图。
大家如果有优化的建议,希望不吝赐教。
请填写推广理由:
分享
只看
楼主