wincc用VBS做bool变量为1时,另一个变量写入5

我在为你猜猜中写了11个变量,Tag1,Tag2,Tag3,Tag4,Tag5,Tag6,Tag7,Tag8,Tag9,Tag10,Tag11其中Tag1-10号的变量类型为bool型的,Tag11号变量为无符号32位的,我想用VBS写一个命令,就是Tag1-10号变量其中任何一个变量为1时,Tag11号变量写入20,Tag1-10号变量恢复为0时,Tag11号变量写入10。

最佳答案

1、任何一个为1,那有没有两个或者三个是1的可能?
2、以任何一个为1,也就是只有1个是1为例,用VBS脚本实现:
Function action
Dim sum,i
sum = 0
For i= 1 To 10 
 sum = sum + HMIRuntime.Tags("Tag" & i ).Read
Next

If sum = 1 Then
 HMIRuntime.Tags("Tag11").Write 20
Elseif sum = 0 Then 
 HMIRuntime.Tags("Tag11").Write 10
Else
 HMIRuntime.Tags("Tag11").Write 0
End If

当前10个变量中间有1个是1的时候,tag11-20
都是0的时候,tag11=10
有两个以上是1的时候,tag11=0

提问者对于答案的评价:
如果是出现2个变量,3个变量,4个变量一起出现为1的情况需要怎么写呢,谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc319058.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:54
下一篇 2020年11月1日

相关推荐