如何在 WinCC flexible 中用脚本做动态对象 点击:7744 | 回复:4



纵横军团-王道火山

    
  • 精华:2帖
  • 求助:5帖
  • 帖子:86帖 | 1878回
  • 年度积分:0
  • 历史总积分:7858
  • 注册:2012年1月11日
发表于:2012-08-19 23:27:35
楼主

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

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

No.步骤
1

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


图 01

2

创建变量

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


图 02

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

3

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


图 03

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


图 04

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

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

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

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

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

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


图 05

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

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


图 06

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

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


图 07

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

 检查脚本的错误

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

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


图 08

8

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


图 09

9创建另一个脚本(可选)
为在两个 I/O 域中显示矩形的起始值,必须在 "Screen_1" 中建立另一个脚本来一次性读出矩形的高和宽。
  • 步骤3建立一个新脚本,并拷贝第一个脚本的所有内容到第二个脚本。
  • 分配对象属性到变量 "Height" 和 "Width"。


图 10

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


图 11

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

 启动运行系统
 启动带脚本debugger的运行系统
 启动带模拟器的运行系统
 下载项目

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


图 12

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

 对象
 方法
 属性

在 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 - 简单对象
 
No.对象 (德语)HMI 运行对象
1BenutzeranzeigeUserView
2HTML-BrowserBrowserView
3KurvenanzeigeTrendView
4MeldeanzeigeMessageView
5RezepturanzeigeRecipeView
6SchiebreglerSlider
7Sm@rtClient-AnzeigeSmartClientView
8Status/SteuernStatusForce
9SymbolbibliothekSymbolLibrary
10UhrClock
11ZeigerinstrumentGauge
表 04 - 高级对象  

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

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

No.名称 (德语)HMI 运行对象
1BildScreen
2RuntimeHMIRuntime
3BildobjektScreenItems
4VariablenSmartTags
表 05 - WinCC flexible 里的其它对象

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


图 13

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

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

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

附件 1: Object_Attributes.zip ( 33 KB )

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

附件 2: Dynamic_Objects_Example.zip ( 1708 KB )

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

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

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




阿水--王者之师

  • 精华:23帖
  • 求助:347帖
  • 帖子:1611帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2012-08-20 07:46:20
1楼
好资料学习啦,动态一定要用脚本吗,这些字母看不懂怎么办哟 ? 

青岛黄工

  • [版主]
  • 精华:3帖
  • 求助:54帖
  • 帖子:108帖 | 4776回
  • 年度积分:0
  • 历史总积分:24297
  • 注册:2007年4月02日
发表于:2012-08-20 09:21:46
2楼

图片有点小哦,看不清。。。。。。。。。

纵横军团-王道火山

  • 精华:2帖
  • 求助:5帖
  • 帖子:86帖 | 1878回
  • 年度积分:0
  • 历史总积分:7858
  • 注册:2012年1月11日
发表于:2012-08-20 11:20:24
3楼

哈哈 图片小了  可以单击图片 或边上的放大按钮!

chenjing1008

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2011年8月09日
发表于:2014-03-13 11:04:17
4楼

怎么我弄了,图片没有反应啊

 


热门招聘
相关主题

官方公众号

智造工程师