wincc作为opc ua的客户端与kepware通讯,全局脚本中用A变量的‘’有变化时‘’条件来触发脚本运行,并在脚本最开始出判断A变量是否是1,如果是则运行下面的脚本,脚本执行时间大致在3秒在,并在结束时将A变量复位为0,如果不是1,则直接退出。现在的问题是A变量在更改为1时,有时候会执行两次脚本,按道理应该只能执行一次才对
问题补充:
回答中有说是在别的地方再次触发变量的情况,但是我可以肯定这种情况不存在,这些我都检查过的,我考虑的是wincc变量刷新周期和opc通讯机制是否会导致这个问题,脚本因为某些 原因,不便上传,谢谢
钻石用户推荐最佳答案
是不是你在脚本里面复位成0的时候,在别的地方,比如Kepware或者PLC里面又给置1了,所以脚本才会执行两次啊
变量A既然能够发生变化触发脚本执行,肯定除了WINCC别的地方还有给该变量写入值的地方,那就应该是写入值的时候,变化频繁了
另外你的脚本看不到,脚本很大吗?执行起来需要3S
补充:
如果变量在别的地方没有写值的话,这个变量是怎么变化的呢?也是在WINCC的全局脚本里面吗?
你不是说是OPC访问的KEP里面的变量,KEP又访问的哪里面的呢?
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc318059.html