如何使用 C 或 VBS 脚本通过新变量提供 WinCC 在线趋势控件的单个趋势?
例如,在初始条件下,过程值归档 "TestArchive" 中的变量 "testvar1" 被分配给趋势控件的曲线1(图01)。
如何使用 C 或 VBS 脚本通过新变量提供 WinCC 在线趋势控件的单个趋势?
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
|