WINCC 上升沿取反
刘玉蓉
发布于2014-12-12 17:21
7
0
标签:
一、如题,有一个按钮(这个按钮为按1松0),次按下上升沿时,a=1;再按一次上升沿时,a=0;第三次按下上升沿时,a=1······反复不断
二、当这个按钮变为某个变量b时,即系统检测到有b的上升沿时,均取反a的状态(b、a均为bool型)······不断
这个功能的实现为多地控制一个灯,任何一个地方都可以对灯开或关(比如一楼开灯、到达五十楼后关灯)
请指点以上两种情况下简单的方法!
问题补充:
可否有链接或关键词,我找不到!
佳答案
一、按钮用c脚本:SetTagBit("tag",!GetTagBit("tag"));每次给变量取反
二、全局脚本,用vbs脚本,执行周期1s:
定义一个wincc内部变量(如果wincc要退出的话建议你用外部变量)保存变量的上一个周期的状态,tag:触发变量,tag_sav,上一个周期的状态。
dim tag(2)
tag(0)=hmiruntime.tags("tag").read
tag(1)=hmiruntime.tags("tag_sav").read
tag(2)=hmiruntime.tags("tag1").read
if tag(0)=1 and tag(1)=0 then
if tag(2)=0 then
hmiruntime.tags("tag1").write 1
else hmiruntime.tags("tag1").write 0
end if
end if
hmiruntime.tags("tag_sav").write tag(0)