有没有类似wscrIPt.sleep的语句,今天写脚本的时候,发现wincc竟然不支持wscript功能,先谢过大家了,或者有其他的办法,类似计时器什么的,都可以分享一下,再三感谢。
最佳答案
wincc不要做sleep的功能,否则就会造成假死。你可以用一个内部变量保存触发变量的状态,然后脚本中用wincc内部变量做计数,计数达到一定值执行你的动作:
dimtag(3)
tag(0)=HMIruntime.tags("STaRT").read”触发变量
tag(1)=hmiruntime.tags("start_sav").read”保存值
tag(2)=hmiruntime.tags("count").read”计数
iftag(0)andnottag(1)then”触发变量第一次为1,计数清零
hmiruntime.tags("count").write0
endif
tag(1)=hmiruntime.tags("start_sav").writetag(0)”保存触发变量的状态
tag(2)=tag(2)+1
iftag(2)>10then”脚本运行10个周期后
需要延时执行的脚本内容
tag(2)=10‘防止计数溢出
endif
hmiruntime.tags("count").writetag(2)”保存计数值。
以上脚本放到全局脚本中执行,触发周期为1s,则相当于延时10s。
提问者对于答案的评价:
感谢您的热心回答,受益良多,我最后的做法是用外部脚本触发wincc内部变量,也达到了这个效果,您的方法貌似更合理一些,再三感谢
专家置评
已阅,最佳答案正确。