如何在 WinCC flexible 中用脚本做动态对象?

功能说明:
通过脚本访问对象属性是用属性对话框组态对象属性之外的另一个选择。有些对象在 WinCC flexible 中通过现有选项不能被改变,例如运行时改变矩形尺寸。该属性可以在脚本的帮助下被改变或动态化。n

在本文末尾有两个可下载的压缩 PDF 文档(附件1),包含了 WinCC flexible 对象的所有属性。另外,所述示例项目可以在附件2中下载。您可以在本文的下载章节找到更多信息。

No. 步骤
1

添加一个矩形对象
在画面中粘贴一个矩形对象!n

如何在 WinCC flexible 中用脚本做动态对象?
图 01

2

创建变量n

  • 在项目树中“通讯”下打开“变量”标签。n
  • 创建两个内部变量,名为"Height"和 "Width"。

如何在 WinCC flexible 中用脚本做动态对象?
图 02

注意:
如果您想通过控制器改变一个对象的属性,您必须先创建一个连接并连接变量(外部变量)到控制器。

3

创建脚本
双击“新建脚本”在 WinCC flexible 中创建一个新脚本。n

如何在 WinCC flexible 中用脚本做动态对象?
图 03

4创建一个变量
您需要一个脚本变量来改变一个 WinCC flexible 中的对象的属性。 n

如何在 WinCC flexible 中用脚本做动态对象?
图 04n

注意:
脚本变量只在脚本中被识别。如果数据(变量)在脚本外被使用,内部或外部变量(件图02和表01)必须被建立。

变量类型 有效性
脚本 WinCC flexible 项目 控制器
内部变量 x x x
外部变量 x x -
脚本变量 x - -

表 01 n

注意:
外部变量也被称之为“power tags”。

5对象的定义:
对象"Rectangle_1" 必须在脚本编辑器中被转换为已经建立的变量。语句 "HmiRuntime.Screens" 指明该对象所在的画面。 n

Set Object = HmiRuntime.ScreenItems("Screen_1").ScreenItems("Rectangle_1")n

画面中相关对象通过语句 "ScreenItems" 被准确的访问到。

如何在 WinCC flexible 中用脚本做动态对象?
图 05n

注意:
记住,对象在画面中必须是唯一的,也就是说,该名称不能被别的对象使用。不过,该对象名称可以用在其它画面中。

6为矩形的高和宽添加变量 n

  • 重新输入“Object”并添加一个句号(英文),包含该对象所有方法(函数)和属性的的列表被打开。n
  • Height".选择属性“Height

如何在 WinCC flexible 中用脚本做动态对象?
图 06n

  • 从变量编辑器分配一个内部变量 "Height" 给属性 "Object.Height" 。n
  • 在脚本中,添加 "Object.Width" 属性,包括分配一个变量。

注意:
Smart tag也可以被用来分配变量。n

如何在 WinCC flexible 中用脚本做动态对象?
图 07n

  • 通过菜单选项“脚本>检查语法”来检查编写脚本的语法错误。

如何在 WinCC flexible 中用脚本做动态对象?检查脚本的错误n

注意:
如果语法检查显示一个或多个错误,您可以通过弹出菜单(右键点击)直接跳转到错误处。

7添加一个按钮和 I/O 域 n

  • 通过“工具>简单对象”窗口添加两个 I/O 域和一个按钮n
  • 重命名按钮为"Resize rectangle"n
  • 给其中 I/O 域连接已经建立的变量n
  • 另外您可以添加两个文本域来分辨两个 I/O 域里的高和宽

如何在 WinCC flexible 中用脚本做动态对象?
图 08

8

连接一个脚本
连接脚本到按钮 (1)。打开属性对话框并点击“事件”(2)。 然后选择“按下”(3),然后选择“Script_1”(4).n

如何在 WinCC flexible 中用脚本做动态对象?
图 09

9创建另一个脚本(可选)
为在两个 I/O 域中显示矩形的起始值,必须在 "Screen_1" 中建立另一个脚本来一次性读出矩形的高和宽。 n

  • 步骤3建立一个新脚本,并拷贝第一个脚本的所有内容到第二个脚本。n
  • 分配对象属性到变量 "Height"和 "Width"。

如何在 WinCC flexible 中用脚本做动态对象?
图 10

10连接"script_2" (可选)
"Script_2"中被读取的矩形高和宽必须被连接到 "Screen_1" 的“加载”事件中。 n

如何在 WinCC flexible 中用脚本做动态对象?
图 11

11测试项目
您现在可以下载项目或在模拟器中启动运行模式。在 WinCC flexible 中您有以下选择 n

如何在 WinCC flexible 中用脚本做动态对象?启动运行系统
如何在 WinCC flexible 中用脚本做动态对象?启动带脚本debugger的运行系统
如何在 WinCC flexible 中用脚本做动态对象?启动带模拟器的运行系统
如何在 WinCC flexible 中用脚本做动态对象?下载项目

12运行模式验证 n

  • 启动项目运行模式并改变矩形的高和宽。n
  • 点击 "Resize rectangle" 来激活该变化。

如何在 WinCC flexible 中用脚本做动态对象?
图 12

更多信息:
在脚本编辑器中,对象、方法和属性被显示在弹出菜单中(如图06):n

如何在 WinCC flexible 中用脚本做动态对象?对象
如何在 WinCC flexible 中用脚本做动态对象?方法
如何在 WinCC flexible 中用脚本做动态对象?属性n

在 WinCC 帮助系统中,您可以在“HMI 运行对象”下找到 VBS 相关的所有对象。相应的各种对象名称被列于下表:

No.

对象(德语)HMI 运行对象
1BalkenBar
2Datums-Uhrzeit-FeldDateTimeField
3E/A-FeldIOField
4EllipseEllipse
5GrafikanzeigeGraphicView
6Grafisches E/A-FeldGraphicIOField
7KreisCircle
8LinieLine
9PolygonPolygon
10PolygonzugPolyline
11RechteckRectangle
12SchalterSwitch
13SchaltflächeButton
14Symbolisches E/A-FeldSymbolicIOField
15TextfeldTextField

表 03 -简单对象
n

No. 对象(德语) HMI 运行对象
1 Benutzeranzeige UserView
2 HTML-Browser BrowserView
3 Kurvenanzeige TrendView
4 Meldeanzeige MessageView
5 Rezepturanzeige RecipeView
6 Schiebregler Slider
7 Sm@rtClient-Anzeige SmartClientView
8 Status/Steuern StatusForce
9 Symbolbibliothek SymbolLibrary
10 Uhr Clock
11 Zeigerinstrument Gauge

表 04 -高级对象 n

注意:
记住,不是所有对象都可用于所有操作员面板n

WinCC flexible 包括的其它对象含在工具栏里。下表包含了部分可用对象:

No. 名称(德语) HMI 运行对象
1 Bild Screen
2 Runtime HMIRuntime
3 Bildobjekt ScreenItems
4 Variablen SmartTags

表 05 - WinCC flexible 里的其它对象 n

WinCC flexible里的标准可用对象位于 "VBS Reference" 的关键字“对象”下。 如需进一步信息,请参考特定对象。n

如何在 WinCC flexible 中用脚本做动态对象?
图 13n

您可以在 WinCC flexible 帮助系统中找到刮胡须的详细描述。所有属性被列于(按字母排序)条目''VBS 参考"的关键字“属性(A到N)”和“属性(O到Z)”下。n

我的控件:
在 PC runtime 和所有 PC 面板上,用户可以集成自己的“控件”到 WinCC flexible。为此,在WinCC flexible的工具窗口中包含区域 "我的控件"。
如果您右键点击“我的控件”打开弹出菜单并点击“控件...”, 您可以添加所有存在于系统中的可用 ActiveX 对象(控件)。n

下载:
附件1 包含了一个 WinCC flexible 的标准对象列表( PDF 格式)。另外,它也列出了可以通过 "HmiRuntime.Screens"和 "ScreenItems" 调用的所有对象属性,包括如何访问属性的细节。

如何在 WinCC flexible 中用脚本做动态对象? 附件1: Object_Attributes.zip ( 33 KB ) n

附件2 包含了本文描述的样例项目,包括可选的 "Script_2"。样例项目用英文对象名称建立。n

如何在 WinCC flexible 中用脚本做动态对象? 附件2: Dynamic_Objects_Example.zip ( 1708 KB ) n

运行及测试环境:
下表列出了用于创建该项目和验证所述功能的所有元件:

Components 产品和版本说明
PC 操作系统 Microsoft WindowsXP SP2
标准工具 -
工程工具 -
HMI 软件 WinCC flexible 2005 SP1
HMI 系统 -

关键字:
线,矩形,多边形,椭圆,圆,矩形,文本域,IO 域,日期时间域,图形 IO 域,符号 IO 域,图形视图,按钮,开关,棒图,滚动条,时钟,状态强制,Sm@rtClientView,用户视图,量表,趋势视图,符号库,配方视图,消息视图,消息窗口

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论