如何使用 C 或 VBS 脚本通过新变量提供 WinCC 在线趋势控件的单个趋势?西门子官网复制内容

发布时间 2023-07-18 10:30:32作者: 恩小佐

如何使用 C 或 VBS 脚本通过新变量提供 WinCC 在线趋势控件的单个趋势?

  • 文档
  •  
  • 涉及产品
 
 

说明:
例如,在初始条件下,过程值归档 "TestArchive" 中的变量 "testvar1" 被分配给趋势控件的曲线1(图01)。


图.01

C 脚本
现在按下面的步骤利用 C 脚本将过程值归档中的变量 "testvar2" 分配给趋势控件的曲线1。
 

No. 步骤
1 首先,将在线趋势控件的 "Index" 属性设置为对应曲线号的数值。

WinCC V6.x
SetPropWord(lpszPictureName,"Control1","Index",0);

WinCC V7.0
SetPropWord(lpszPictureName,"Control1","TrendIndex",0); 

2 将WinCC在线趋势控件(= Control1)中选择出的曲线的 "TagName" 属性或者 TrendTagName 设置为新的变量:

WinCC V6.x
SetPropChar(lpszPictureName,"Control1","TagName","TestArchive\\testvar2");

WinCC V7.0
SetPropChar(lpszPictureName,"Control1","TrendTagName","TestArchive\\testvar2");

3 将WinCC 在线趋势控件(= Control1) 中选择出的曲线的 "Command" 属性设置为 "Reload":

WinCC V6.x
SetPropChar(lpszPictureName,"Control1","Command","Reload"); 

WinCC V7.0
not necessary (the trend is updated automatically)

表格 01

VBS 脚本
现在按下面的步骤利用 VBS 脚本将过程值归档中的变量 "testvar2" 分配给趋势控件的曲线1。
   

No. 步骤
1 为WinCC 在线趋势控件 "Control1" 创建一个对象 "objCon1" 。

WinCC V7.0
Dim objCon1
Set objCon1 = HMIRuntime.ActiveScreen.ScreenItems("Control1")

2 首先将趋势控件的 "Index" 属性设置为对应曲线号的数值。

WinCC 7.0
objCon1.TrendIndex = 0

3 将在线趋势控件 (= Control1) 中选择出的曲线的 "TrendTagName" 属性设置为新的变量:

WinCC 7.0
objCon1.TrendTagName = "TestArchive\testvar2"

表格 02

注意

  • 如何在运行时分配不同变量给趋势请参考条目 ID: 1804857
  • 在任何情况下 "Index" 代表了在线趋势控件中 CurveX 的设置 (更多信息请参考图形编辑器的在线帮助)。
  • 请注意 C 脚本中变量名和归档名之间必须用" \\" 分隔。

关键字
趋势显示, 曲线显示