wincc全局脚本写法简化

int v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24;
v1=GetTagBit("G1_L1_FFU1.NF");
v2=GetTagBit("G1_L1_FFU2.NF");
v3=GetTagBit("G1_L1_FFU3.NF");
v4=GetTagBit("G1_L1_FFU4.NF");
v5=GetTagBit("G1_L1_FFU5.NF");
v6=GetTagBit("G1_L1_FFU6.NF");
v7=GetTagBit("G1_L1_FFU7.NF");
v8=GetTagBit("G1_L1_FFU8.NF");
v9=GetTagBit("G1_L1_FFU9.NF");
v10=GetTagBit("G1_L1_FFU10.NF");
v11=GetTagBit("G1_L1_FFU11.NF");
v12=GetTagBit("G1_L1_FFU12.NF");
v13=GetTagBit("G1_L1_FFU13.NF");
v14=GetTagBit("G1_L1_FFU14.NF");
v15=GetTagBit("G1_L1_FFU15.NF");
v16=GetTagBit("G1_L1_FFU16.NF");
v17=GetTagBit("G1_L1_FFU17.NF");
v18=GetTagBit("G1_L1_FFU18.NF");
v19=GetTagBit("G1_L1_FFU19.NF");
v20=GetTagBit("G1_L1_FFU20.NF");
v21=GetTagBit("G1_L1_FFU21.NF");
v22=GetTagBit("G1_L1_FFU22.NF");
v23=GetTagBit("G1_L1_FFU23.NF");

v24=v1+v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12+v13+v14+v15+v16+v17+v18+v19+v20+v21+v22+v23;
SetTagWord("v_r4",v24);
哪位大神可以指教如何简化以上的脚本写法,谢谢!

最佳答案

dim tagname,mytag
mytag=0
for i=1 to 23
tagname="G1_L1_FFU"&i&".NF"
mytag=mytag*2+hmiruntime.tags(tagname).read
next
hmiruntime.tags("v_r4").write mytag

提问者对于答案的评价:
非常感谢!
其中mytag*2是代表什么。

最佳答案作者回复:
相当于变量的二进制的值左移一位。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月19日
下一篇 2017年6月19日

相关推荐