技术论坛

 wincc VBS脚本利用数组 改写多个变量,并求和

返回主题列表
作者 主题
kibu
侠圣

经验值: 4516
发帖数: 554
精华帖: 4
楼主    2018-04-10 16:42:02
主题:wincc VBS脚本利用数组 改写多个变量,并求和 精华帖 

问题:有10个变量 A1、A2……A10,需要分别写入 1、2……10,用IO域太麻烦,用vbs脚本怎实现?

提示:利用数组方便很多,不过数组元素编号从0开始的,需要注意一下


示例:新建内部变量A1到A10,然后在画面内建一个按钮,按钮鼠标事件单击左键里写入VBS脚本如下


Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y)           

Dim A(9),I,TE,SUM

For I = 0 To 9

    TE=CSTR(I+1)

    TE="A"&TE  '合成变量名

    Set A(I)=HMIRuntime.Tags(TE)

    A(I).value=I+1

    A(I).write

Next

SUM=0

For I=0 To 9

    A(I).read

    SUM=SUM+A(I).value

Next

MsgBOX(SUM)

End Sub

   

保存画面,运行测试,点击按钮后弹出消息窗,求和值显示55;更换其他计算方式也可进行其他计算

以上示例仅供参考,不限于修改变量值,主要学习批量修改的方法。

当然,如果画面里有多个名称类似的对象,修改对象属性也可用此方法。

比如有多个圆,需要同时修改圆的半径,不过需圆的名称统一修改为:前面字符一致,后面按数字顺序编号的形式,利用circle1、circle2、circle3……

BBdell
侠圣

经验值: 2300
发帖数: 442
精华帖: 1
1楼    2018-04-10 20:50:28
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和
非常好的想法,VBS用起来666啊,赞\(≧▽≦)/赞赞
co771@qq.com,好难
RENHQ
至圣

经验值: 68953
发帖数: 12234
精华帖: 59
2楼    2018-04-10 22:35:12
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和


感谢分享

VBS这个是一个方法

如果有规律的话,倒是不如用VBA 创建IO域然后设置直接连接好

Q群:https://jq.qq.com/?k=9BDuEgf6
kibu
侠圣

经验值: 4516
发帖数: 554
精华帖: 4
3楼    2018-04-11 08:30:10
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和

水平有限,VBA还不会用,继续学习中

城外之人
至圣

经验值: 17284
发帖数: 8465
精华帖: 18
4楼    2018-04-11 09:04:45
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和

    Set A(I)=HMIRuntime.Tags("TE")

    A(I)=I+1

第一句,是设定A(i)为对象,即WinCC内部变量,TE不能加引号;

Set A(I)=HMIRuntime.Tags(TE)

第二句,就矛盾了。对象不能赋值。应该

A(I).Value=i+1 

A(i).Write

无论成与败,无论甜与苦,我还是我。
黑猫警长W
至圣

经验值: 18391
发帖数: 2409
精华帖: 1
5楼    2018-04-11 10:43:03
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和


学习了,学习了。感谢楼主分享好的方法!

Mr S
侠圣

经验值: 3723
发帖数: 486
精华帖: 1
6楼    2018-04-11 11:33:11
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和

感谢分享,脚本一看就头疼。

永无止境!
一弄月
新手

经验值: 18
发帖数: 2
精华帖: 0
7楼    2018-04-11 13:43:47
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和
你说的对,内部变量TE不能加引号。问你个问题我有一个函数总是报错,是TP1500触摸屏内部脚本。如下
Dim a,b
a=("Valve_c.A10001VA.ManMode") '这是一个结构体变量下面的一个bool元素。在HMI TAG中是一个结构体,而不是单个bool变量
b=smarttag(a)
这个指令总是提示报错
yecao2006
至圣

经验值: 18037
发帖数: 1524
精华帖: 2
8楼    2018-04-11 23:14:59
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和

熟练应用VBS脚本用处很大。

我回来了!继续努力!
pingchangxin
侠圣

经验值: 3886
发帖数: 556
精华帖: 1
12楼    2018-04-16 08:28:56
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和

用VBA 创建IO域然后设置直接连接,这个怎么实现呢?希望大师分享,谢谢!

精益求精
RENHQ
至圣

经验值: 68953
发帖数: 12234
精华帖: 59
13楼    2018-04-16 10:04:06
主题:回复:wincc VBS脚本利用数组 改写多个变量,并求和

帮助里面好像有这个介绍的

Q群:https://jq.qq.com/?k=9BDuEgf6
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。