QQ登录

只需一步,快速开始

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

[ 复制链接 ]
在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象操作说明 通过脚本访问对象属性,是除通过属性或动画对话框来组态对象属性之外的另一个选择。 ......


描述
通过脚本访问对象属性,是除通过属性或动画对话框来组态对象属性之外的另一个选择。
SIMATIC WinCC (TIA Portal) 中,在运行时使用标准组态,一些对象属性不能被动态化/动画,如改变矩形大小。在这种情况下,可以在运行时使用脚本 动态化多数的对象属性。
在本条目结尾可以下载一个 PDF 文件及示例项目。PDF 文件它包含了 WinCC Comfort 和 WinCC Advanced对象的属性列表,也包含可以在脚本中调用的对象所有属性及属性类型。
手册中列出了对象可以动态化的所有属性和方法。 "可视化过程 > 使用系统函数和运行系统脚本> 参考 > VB 脚本编写> VBS 对象模型" 章节中的 " 属性 " 和 "  方法 ".
操作说明
下面的例子展示在运行时,如何通过脚本更改矩形的宽度和高度。
变量和对象(矩形)的名称可以根据需要各自更改。
这些变量不需要与控制器连接(只有需要通过控制器分配矩形的宽度和高度时,才需要与控制器连接的变量)。
为了更好的理解,请打开附件中的组态。
编号.
过程
1
添加一个矩形
  • 在“Screen_01”中插入一个“矩形”对象
    注意
    稍后会在脚本中使用画面名称。
  • 定义对象的尺寸和名称
    本例中矩形的宽度和高度分别为100和50。
    对象的名称为“Rectangle_1”。
    注意
    稍后会在脚本中使用对象(矩形)的名称。

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象



创建变量
通过脚本更改矩形的宽度和高度。创建两个内部变量,名称为“RectangleHeight”和“RectangleWidth”。
(项目导航 > 操作面板 > HMI 变量 > 标准变量表 )
为变量分配一个“初始值”。本例中,宽度为“100”,高度为“50”。
( 属性 > 值 > 初始值)。下文会解释设置原因 (见步骤8)。
注意
将会在脚本中使用这些变量。

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

创建脚本
组态中要使用两个脚本。
(项目导航 > 操作面板 > VB 脚本 > 添加新的 VB 功能)
可以根据需要指定脚本的名称。
此例中:
  • Script_01_Rectangle
  • Script_02_Init_Rectangle

下面详细介绍这两个脚本。
4
Script_01_Rectangle
使用“
Script_01_Rectangle”可以改变矩形尺寸。

创建一个内部脚本变量
通过一个内部脚本变量更改 WinCC 对象的属性(本例为矩形的属性)。
可以根据需要指定变量的名称。
本例中为:“ObjectRectangle”
对象定义
在脚本编辑器中,将对象“Rectangle_1”传送给变量“ObjectRectangle”。
“HmiRuntime.Screens”语句表示对象(矩形)所在的画面。
画面中对象(矩形)的引用可以通过“ScreenItem”语句。
本例为:
Set ObjectRectangle = HmiRuntime.Screens("Screen_01").ScreenItems("Rectangle_1")
注意
记住画面中的对象名称必须是唯一的,这意味着其它对象不能使用这个名称。
然而,在不同的画面中可以存在相同的对象名称!
给对象(矩形)的“高度”和“宽度”分配变量
"Width" 为对象宽度。
"Height" 为对象高度。
为矩形的“高度”和“宽度”定义了两个变量。
并把这两个变量分配给相应的对象。
本例中:
ObjectRectangle.Width = SmartTags("RectangleWidth")
ObjectRectangle.Height = SmartTags("RectangleHeight")

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象
5
Script_02_Init_Rectangle
通过 "Script_02_Init_Rectangle" 可以把矩形设置到脚本中指定的尺寸(重置到“初始大小”)。
脚本用于不事先在 IO 域中设定值,而把矩形重置为“初始大小”。
此脚本和 Script_01_Rectangle" 结构相同。唯一不同的是指定值是矩形宽度 ("200") 和高度 ("100") 。


在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

创建脚本的技巧
自动完成
  • 在创建脚本时,使用“自动完成”。
    自动完成是一种特征,在对话框中提供一种上下文相关的列表,从中可以选择需要的变量或指令。
    示例 1
    在“...= HmiRuntime”对话框之后,输入一个“句点”(.)。
    打开一个“弹出菜单”,可以从中选择所有可用的变量和语句。

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

示例 2
在“ObjectRectangle”对话框之后,输入一个“句点”(.)
打开一个“弹出菜单”,可以从中选择所有可用的属性。


在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

添加变量
  • 定位到需要添加变量的位置。
  • 点击右键。打开弹出菜单。
    选择菜单命令“自动完成>列表对象”。
    打开另外一个窗口,从中选择相关的变量,并点击“确认”按钮输入。
7
添加按钮和输入输出域
为了指定矩形的宽度和高度,需要创建两个输入输出域和一个执行脚本的按钮。
  • "Change size" ("Script_01_Rectangle" script)
  • "Standard size" ("Script_02_Init_Rectangle" script)

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象


[table=98%]
Fig. 08
在各自的输入输出域中组态关联内部变量“宽度”和“高度”。
(属性 > 常规 > 过程)
“更改尺寸”按钮调用脚本“Script_01_Rectangle”。
(属性 > 事件 > 单击)
“标准尺寸”按钮调用脚本“Script_02_Init_Rectangle”。
(属性 > 事件> 单击)
8
通过画面“Screen_01”执行当前的例子
如果矩形的尺寸发生改变,此改变只是临时起作用。如果再次调用此页面,矩形恢复到组态尺寸。
如果需要画面改变后仍然保存修改后的尺寸,在画面“Screen_01”装载时调用脚本“Script_01_Rectangle”( 属性 > 事件 > 装载)
首次调用画面,或者还没有为矩形设置尺寸时,矩形在画面上不可见 (宽度和高度都为 "零")。
通过定义初始大小 "Width" 和 "Height" 变量可以避免此情况 (见步骤2)。

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象


[table=98%]
组态时的注意事项和技巧
  • 为了测试附件中的组态,可以使用WinCC Comfort 中的  TP1200  或 WinCC Advanced 仿真。通过IO域指定值,确保对象(矩形)指定的值不能超过当前画面的宽度或者高度。否则提示系统消息(脚本错误)。
补救措施
通过“属性〉范围〉设置”属性为变量“RectangleHeight”和“RectangleWidth”设置一个最大值。 此值大小与组态对象的位置有关。
  • 脚本中的错误 ...
    脚本读出对象(矩形)的名称。如果希望在“PC 运行模拟器”中测试组态,在启动运行时之前,检查是否使能“运行系统设置〉常规〉画面〉装载名称”选项。







[/td][/tr]
[/table]
[/td][/tr]
[/table]百度云附件:在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象.zip   







在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象

在WinCC Comfort 和 WinCC Advanced 中,如何使用脚本动态化对象
回复

使用道具 举报

快速回复 返回列表 客服中心 搜索