恭喜,你发布的帖子
发布于 2022-11-27 23:11:13
22楼
我来总结一下原因吧:
造成楼主所描述的现象,我认为是S7-1500的时间片通信服务机制造成的,变量通过INOUT接口被传递进正在执行的FB或FC,经过运算后又经过原变量接口被传递出来,如果在变量被处理运算期间,HMI修改了该变量,那么后续由接口传递出来的值将会覆盖HMI修改的值,这就是HMI修改变量失败的原因。
PLC通信原理探秘-终极揭秘-技术视频免费看-西门子工业1847会员–西门子中国 (siemens.com.cn)
1847专家大讲堂赵工的这节课里面的部分内容针对这个问题就讲的很清楚。
这是通信机制形成的问题,与是否优化访问没有关系,与变量接口定义的类型是简单变量还是结构变量没有关系。
另外再讲一点:FB的INOUT接口定义普通变量,在调用时的确可以不带实参,但这与静态变量就没有什么区别了,而实际上即使HMI对静态变量进行值的修改,只要该变量在FB块内部有赋值操作,也会遇到上述通信机制的问题。
以下是我的例程可以给大家测试。
精华帖版主置评:可以确定是通讯机制不同造成的。-yming
请填写推广理由:
分享
只看
楼主