在wincc中 多个变量 互相 赋值的问题

由于现场特殊需求,需把A  B   C   D等多个16位 变量   在某个开关量 为0时, 分别对应赋值给变量 A1  B1  C1  D1 ,为1时,分别对应赋值给变量A2  B2  C2  D2。 这个 在C 脚本里面 怎么实现, 也可以提供 VBS 参考 ,谢谢。

之前有朋友 提供的 if  else  语句 只能 赋值一组, 这样需要建四组才能实现目的。  不知道 大家 有没有 更简洁的 命令 语句。

最佳答案

c:
if(GetTagBIt("开关量"))
{
 SetTagWord("A2",GetTagWord("A"));
 SetTagWord("B2",GetTagWord("B"));
 SetTagWord("C2",GetTagWord("C"));
 SetTagWord("D2",GetTagWord("D"));
}
else
{
 SetTagWord("A1",GetTagWord("A"));
 SetTagWord("B1",GetTagWord("B"));
 SetTagWord("C1",GetTagWord("C"));
 SetTagWord("D1",GetTagWord("D"));
}
vbs:
dim tag(10)
tag(0)=hmiruntime.tags("开关量").read

tag(1)=hmiruntime.tags("A").read
tag(2)=hmiruntime.tags("B").read
tag(3)=hmiruntime.tags("C").read
tag(4)=hmiruntime.tags("D").read

if tag(0)then
hmiruntime.tags("A2").write tag(1)
hmiruntime.tags("B2").write tag(2)
hmiruntime.tags("C2").write tag(3)
hmiruntime.tags("D2").write tag(4)
else
hmiruntime.tags("A1").write tag(1)
hmiruntime.tags("B1").write tag(2)
hmiruntime.tags("C1").write tag(3)
hmiruntime.tags("D1").write tag(4)
endif

提问者对于答案的评价:
ok,对 C 还是不熟悉, 缺少 { { } } 符号, 都是大神啊  ,真心感谢。!~谢谢两位的真情回答,因为 量不多 就 6个变量, 迷失中原  你的方案 我也会 试一试,不过读了你的代码  是可以走的同, 希望以后能用上 ,先保留了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月26日 上午12:42
下一篇 2017年8月26日 上午12:42

相关推荐