加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线18475208684
公司新闻
西门子TIA Portal中WinCC 脚本使用技巧汇总(二)
发布时间: 2024-05-13 23:33 更新时间: 2024-05-13 23:33
(11)如何在运行时改变对象的属性(颜色,长度等)?

以下手册中提供了对象的属性和使用的信息:
SIMATIC WinCC WinCC Engineering V15 - 编程参考下 "VB脚本编写 > VBS 对象模型 > 属性"。(没有该手册的可以联系主编)


(12)什么能导致“Zui大嵌套深度到达”消息被触发?


如果太多的脚本在结束前调用自己或者调用其他脚本,会引起到达Zui大嵌套深度消息。


解决方法检查脚本过程的处理,如有必要,减少脚本的嵌套。

(13)如何确定当前画面的编号和画面名称?

通过预定义 VB 函数 “HmiRuntime.BaseScreenName ” 的返回值提供了当前画面的名字。

注意
不能使用脚本通过相关画面的“属性”直接读取画面名称/编号。
也可以使用“画面编号”区域指针。


(14)如何在脚本中使用多路复用变量?


多路复用变量不能用在脚本中。
 


(15)如何在脚本里使用 HMI UDT 变量?


可以使用“SmartTags” 访问数据类型是HMI UDT的变量元素(用户定义的数据类型)。

例如  访问 UDT 变量 " Recipe " 的元素 "x"

SmartTags("Recipe.x")

注意
这适用于在项目中已创建库类型 HMI UDT的实例。不能直接访问库类型。


(16)如何在脚本中保存变量值当他们在两个脚本之间调用?
在两个脚本间相互传递数据需要使用全局变量。全局变量可以是 HMI 或者 PLC 变量。

脚本中定义的变量总是在脚本结束时删除。
 

(17)如何通过脚本修改文本域的内容?


文本域的文本在运行时可以通过修改相应的对象属性而改变。

例如  在画面 "MachineData" 中,将文本  "NewText"  分配给 文本域 "Text_Field_01"  :

Dim obj

Set obj = HmiRuntime.Screens("MachineData").ScreenItems("Text_Field_01")
obj.Text = "NewText"

注意
文本的变化只是“暂时”的。当屏幕更改后这个被修改后的文本将被组态的文本覆盖。
 

(18)如何在脚本中从密码列表或用户视图中读取用户密码?


由于安全原因这个功能在 WinCC (TIA Portal) 中不能实现。


(19)如何通过脚本关闭 WinCC 运行系统和关闭PC和面板?


通过系统函数 “StopRuntime” 可以关闭 WinCC 运行系统和操作系统 。

可以通过修改 "StopRuntime" 函数的参数方式选择仅关闭运行系统或者将运行系统和操作系统都关闭。
   

ParameterMeaning

0 = hmiStopRuntime

Ends on the Runtime

1 = hmiStopRuntimeAndOperationSystem

Ends both the Runtime and the OS

例如StopRuntime hmiStopRuntime
StopRuntime 1

注意 Windows-based 面板的操作系统不能通过这种方式关闭。
  

(20)如何在脚本中访问一个画面或者模板的对象?

组态 “Runtime” 对象的属性 “ ActiveScreen ”,可以找到画面上组态对象的名字和修改相关的属性。

例如   把激活屏幕中的对象  "Circle_01" 设置为不显示 

 HmiRuntime.ActiveScreen.ScreenItems("Circle_01").Visible=False

注意
在画面中被组态对象必须有唯一的名字。对象的属性修改仅是暂时的,当屏幕更改后视图使用组态时的配置。


如何在运行时选择一个画面对象(例如输入输出域)?


获得一个对象的焦点通过 "Activate" 功能,文本输入会直接自动指向那个对象。

例如   获得屏幕 "Screen_1" 的 输入/输出域 "IOField_1"  的焦点 

HMIRuntime.Screens("Screen_1").ScreenItems("IOField_1").Activ


联系方式

  • 电  话:13922889745
  • 经理:向小姐
  • 手  机:18475208684
  • 微  信:18475208684