1.实例: 访问图形编辑器中的对象
可以使用 VBS WinCC 对所有图形编辑器对象进行访问,以使图形运行环境动态化。 根据变量或周期性(例如闪烁)情况,可在执行操作(例如在按钮上单击鼠标)时使图形对象动态化。
以下示例说明如何在鼠标单击后更改图形对象。
步骤
在以下示例中,每次单击鼠标时运行系统中圆的半径都会设置为 20:
Dim objCircle
Set objCircle= ScreenItems("Circle1”)
objCircle.Radius = 20
2.实例: 定义对象的颜
图形对象的颜通过 RGB 值(红/绿/蓝)定义。 可以设置或读出图形对象的颜值。
步骤
以下示例将“ScreenWindow1”的填充颜定义为蓝:
Dim objScreen
Set objScreen = HMIRuntime。Screens(”ScreenWindow1”)
objScreen.FillStyle = 131075
objScreen。FillColor = RGB(0, 0, 255)
3.例:如何组态语言切换
可使用 VBS 切换 WinCC 的运行系统语言。 最常用的是包含相应语言代码的按钮,这些按钮位于项目的起始页上。
在 VBS 中通过使用国家代码(例如,1031 表示德语 - 默认,1033 表示英语 - 美国等)指定运行系统语言.有关所有国家代码的汇总,请参见标题为“区域方案 ID (LCID) 图”的主题下的 VBScript 基本知识.
步骤:
使用按钮上的“Mouse click”事件创建 VBS 动作,输入以下动作代码将运行系统语言切换为德语:
HMIRuntime。Language = 1031
4.实例: 禁用运行系统
简介
可以使用 VBS 终止 WinCC 运行系统,例如,通过鼠标单击,依靠变量值或其它事件(例如,启动运行系统时密码的多次错误输入).
要执行的操作
以下示例会终止 WinCC 运行系统:
HMIRuntime。Stop
5.实例: 全局组态画面更改
简介
VBS 可用于启动全局画面更改,因而会在分布式系统的客户机上显示服务器中的画面。 为此,服务器的服务器前缀必须位于目标画面之前。
要执行的操作
为按钮组态以下画面更改代码,例如:
HMIRuntime.BaseScreenName = "Serverprefix::New screen”
6.实例: 通过属性组态画面更改
简介
如果在组态中使用分区画面(例如,在用户界面的基本画面标题和操作栏中和用于实际画面显示的嵌入画面窗口中),应使用画面窗口的属性组态画面更改。
为了显示其它画面,必须更改“ScreenName"画面窗口的属性. 必须在同一画面中对动作和画面窗口进行组态。
要执行的操作
vbs基本教程在以下示例中,执行动作时“ScreenWindow”画面窗口中会显示“test。pdl”画面:
Dim objScrWindow
Set objScrWindow = ScreenItems("ScreenWindow”)
objScrWindow。ScreenName = ”test"
7.实例: 通过 Trace 组态诊断输出
简介
如果已将 GSC 诊断窗口插入画面中,则可以使用 Trace 命令在运行系统的诊断窗口中显示诊断输出。
GSC 诊断按调用的先后顺序发出包含在动作中的 Trace 方法.这也适用于在动作中调用的过程中的 Trace 指令。Trace 指令的有目的执行(例如针对变量值的输出)可实现对动作进度以及在动作中调用的过程的跟踪。Trace 指令以“HMIRuntime.Trace(<Ausgabe〉)”形式输入。
GSC 诊断显示来自 C 和 VBS 的跟踪输出.
要执行的操作
以下示例将文本写入诊断窗口中:
HMIRuntime.Trace ”Customized error message”
8.实例: 写入变量值
可以用 VBS 将变量值写入 PLC 中,例如通过在按钮上单击鼠标来指定设定值,或设置内部变量值,以触发其它动作。
下面涉及和介绍了多种写入变型。
1)简单写入
在以下示例中,将值写入“Tag1”变量内:
HMIRuntime.Tags(”Tag1”).Write 6
这是最简单的写入形式,因为不会生成任何对象引用.
2)通过对象引用写入
在以下示例中,将创建变量对象的本地副本并将值写入“Tag1"内:
Dim objTag
Set objTag = HMIRuntime.Tags(”Tag1")
objTag。Write 7
3)通过利用引用,可以在写入之前使用变量对象。 可以读取变量值,进行计算,并再次写入:
Dim objTag
Set objTag = HMIRuntime.Tags(”Tag1")
objTag。Read
objTag。Value = objTag.Value + 1
objTag.Write
4)同时写入
通常,待写入的值会传送到变量管理,然后重新开始对动作进行处理. 但某些情况下,必须确保实际写入了值之后才能重新开始对动作进行处理。
此类写入通过将附加的可选参数指定为值 1 来实现:
Dim objTag
Set objTag = HMIRuntime。Tags("Tag1”)
objTag。Value = 8
objTag.Write ,1
说明
请注意,这种调用比标准调用使用的时间要长。 除此之外,持续时间还取决于通道和 AS。
这类写入遵从 C 脚本中的 SetTagXXXWait() 调用
5)通过状态处理写入
为了确保成功写入值,必须在写入过程之后执行错误检查或确定变量状态。
为此,执行写入操作后需检查“LastError”属性. 测试成功(即成功放置任务)后,即检查变量状态。
对于写入任务,过程的当前状态尚不确定。 要确定该状态,必须读取变量。 读取过程之后“质量代码”属性中指定的值会提供变量状态指示,如有必要,还会涉及发生故障的 AS 连接。
在以下示例中,将写入“Tag1"变量。 如果写入期间出现错误,全局脚本诊断窗口中会显示错误值和错误描述. 最后,检查质量代码. 如果质量代码不是 OK (0x80),便在诊断窗口中显示该代码
            Dim objTag
Set objTag = HMIRuntime.Tags("Tag1")
objTag.Write 9
If 0 〈〉 objTag.LastError Then
HMIRuntime.Trace "Error: " & objTag。LastError & vbCrLf & "ErrorDescription: ” & objTag.ErrorDescription & vbCrLf
Else
objTag.Read
If &H80 〈> objTag。QualityCode Then
HMIRuntime。Trace "QualityCode: 0x” & Hex(objTag.QualityCode) & vbCrLf
End If
End If
    说明
写入变量后,由于不知道哪一质量代码在过程中用于管理变量,因此局部变量对象的 QualityCode 属性会设置为“BAD 已不能用”。
9.实例: 如何读取变量值
简介
可以用 VBS 读取变量值并对其执行进一步的处理。 这样便可以执行诸如通过在按钮上单击鼠标来获取系统状态信息或执行计算的操作。
下面涉及和介绍了多种读取变型.
1)简单读取
在以下示例中,将读取“Tag1"的值并在全局脚本诊断窗口中显示该值:
HMIRuntime。Trace "Value: " & HMIRuntime.Tags(”Tag1”).Read & vbCrLf
这是最简单的读取形式,因为不会生成任何对象引用.
2)通过对象引用读取
在以下示例中,将生成变量对象的本地副本,读取该变量值并在全局脚本诊断窗口中显示该值:
    Dim objTag
Set objTag = HMIRuntime。Tags("Tag1")
HMIRuntime.Trace "Value: " & objTag。Read & vbCrLf
通过利用引用可以使用变量对象. 可以读取变量值,进行计算,并再次写入:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。