西门子触摸屏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项目内的操作。
Canvas中提供了SmartTags对象来简化访问全局变量的过程,助您通过脚本直接修改它们。示例代码如下:
适配部分高级WinCC RT版本,同样支持直接引用变量名称访问全局变量,这种访问方式有助于实现更高效的变量管理功能。
除了通过变量表定义全局变量外,我们也可以在VBScript代码中使用“Dim”关键字声明全局变量,这种局部变量仅在函数或过程内部有效。如下所示:
无需指定大小写或预设数据类型,在声明时灵活性更强。不过需要注意,局部变量的作用域仅限于当前脚本,一旦函数或过程执行完毕,这些变量将不会继续影响系统状态。
武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...
