当前位置: 主页 > PLC控制

变量触发Wincc动态显示

我想做一个这样功能:当某一个变量为True时,动态显示一个物体的前进,现在物体的前进已经做到了,通过VBS
FunctionLeft_Trigger(ByvalItem)
Ifitem.left>110Then
item.left=item.left-10
Else
item.left=110
EndIf
EndFunction
用一个按钮触发:
SubOnClick(ByvalItem)
dimmytag
mytag=HMIRuntime.tags("Motor_set_1").read
Ifmytag<20Then
DimellIPse
Setellipse=ScreenItems("Ellipse2")
ellipse.ActivateDynamic"Left","CycleTime125ms"
Dimellipsee
Setellipsee=ScreenItems("Ellipse1")
ellipsee.ActivateDynamic"Top","CycleTime125ms"
Endif
EndSub
可是我无论怎么着也试不出来,如果通过变量的变化来触发这个动作,wincc的初学者,希望大家给予帮助,谢谢

最佳答案

你的脚本有问题。你测试一下如果item.left=110,你的if条件不满足,则不会减,只会执行else后面的item.left=110。
你说的变量为true,是哪个变量?
vbs:
dimtag1
tag1=hmiruntime.tags("tag").read”变量为true
iftag1then
item.left=item.left-10
endif
ifitem.left<=0then
item.left=110
endif
以上脚本周期执行,才会实现如果tag为true则物体从110的位置移动到0的位置,然后再回到110的位置从新向0的位置移动。

提问者对于答案的评价:
我就是想通过一个全局脚本的动作来触发运动,现在运动没有问题,只是不知道如何触发,我在动作里面设置了一个二进制的变量作为触发条件,可是物体不运动,不知道全局脚本是不是运行了,有没有好的测试工具可以看出来程序运行了?

最佳答案作者回复:
你在你的第一个函数的if前加几句:读取wincc的变量值,加1,返回给wincc变量,然后wincc中io域显示这个变量的值,如果值变化,则说明你的脚本执行了,否则就是没有执行。

  • 关注微信

猜你喜欢

微信公众号