我想做一个这样的功能:当某一个变量为True时,动态显示一个物体的前进,现在物体的前进已经做到了,通过VBS
Function Left_Trigger(Byval Item)
If item.left>110 Then
item.left=item.left-10
Else
item.left=110
End If
End Function
用一个按钮触发:
Sub OnClick(Byval Item)
dim mytag
mytag=HMIRuntime.tags("Motor_set_1").read
If mytag<20 Then
Dim ellipse
Set ellipse=ScreenItems("Ellipse2")
ellipse.ActivateDynamic "Left","CycleTime125ms"
Dim ellipsee
Set ellipsee=ScreenItems("Ellipse1")
ellipsee.ActivateDynamic "Top","CycleTime125ms"
End if
End Sub
可是我无论怎么着也试不出来,如果通过变量的变化来触发这个动作,Wincc的初学者,希望大家给予帮助,谢谢
最佳答案
你的脚本有问题。你测试一下如果 item.left=110,你的if条件不满足,则不会减,只会执行else后面的 item.left=110。
你说的变量为true,是哪个变量?
vbs:
dim tag1
tag1=hmiruntime.tags("tag").read''变量为true
if tag1 then
item.left=item.left-10
end if
if item.left<=0 then
item.left=110
end if
以上脚本周期执行,才会实现如果tag为true则物体从110的位置移动到0的位置,然后再回到110的位置从新向0的位置移动。
提问者对于答案的评价:
我就是想通过一个全局脚本的动作来触发运动,现在运动没有问题,只是不知道如何触发,我在动作里面设置了一个二进制的变量作为触发条件,可是物体不运动,不知道全局脚本是不是运行了,有没有好的测试工具可以看出来程序运行了?
最佳答案作者回复:
你在你的第一个函数的if前加几句:读取wincc的变量值,加1,返回给wincc变量,然后wincc中io域显示这个变量的值,如果值变化,则说明你的脚本执行了,否则就是没有执行。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc221624.html