1FL6052-2AF21-2MG1现货西门子代理
1FL6052-2AF21-2MG1现货西门子代理
1FL6052-2AF21-2MG1现货西门子代理
西门子触摸屏VBscript编程系列教程(3)——变量
这篇文章我们来介绍下WinCC中的变量,并讲解怎样使用VBscript脚本访问变量,本文使用的编程软件是WinCC版。
通常情况下,我们声明WinCC的变量是在左侧项目树的【HMI变量】中。变量需要声明在变量表中,可以是默认变量表,也可以根据需要添加新的变量表。比如下面这张图声明了一个conveySystem的变量表:
变量表中定义的变量均为全局变量,它们在全局范围内有效。一旦在变量表中声明了变量,就可以在画面组态或者VBscript脚本中直接使用。全局变量的名称在整个项目中必须是唯一的。WinCC中的变量不区分大小写,比如"startMotor"和"startmotor"表示同一个变量。
全局变量根据访问范围的不同,可分为内部变量和外部变量。
外部变量是组态了PLC连接的变量,它与PLC中的变量相对应。对外部变量的修改会直接影响PLC中的变量;
内部变量仅在WinCC内部使用,不直接影响PLC变量;
举个例子,下面这张图是conveySystem变量表中的变量,其中:
startMotor1和stopMotor1是外部变量,它的连接属性为"HMI_connection_1",与"PLC_1"中的startMotor1和stopMotor1变量相对应,修改WinCC中的变量会直接导致PLC中的变量被修改;
motorStarted和motorStopped是内部变量,可以在当前WinCC项目中使用;
可以在VBscript脚本中使用SmartTags对象访问全局变量。比如下面的代码修改两个全局变量的值:
一些高版本的WinCC RT也支持直接使用变量名访问全局变量,代码如下:
除了在变量表中定义全局变量,我们还可以在VBscript脚本中使用"Dim"关键字声明变量,这种情况下声明的变量为局部变量。比如下面的代码:
VBscript局部变量不区分大小写,在声明时也不需要指定数据类型。局部变量只在当前脚本内部有效。