
经典wincc一个画面监控多个设备画面中可监视趋势图技术指导代写代码c或vbs均可。 可提供详细操作笔记笔记含可复制的脚本在工业自动化领域经典 WinCC 是一款非常强大的监控软件。很多时候我们需要在一个画面中监控多个设备并且实时查看它们的趋势图以便更好地掌握设备运行状态。今天就来跟大家分享下如何实现这一功能并且会提供 C 和 VBS 两种代码示例以及详细操作笔记。一、整体思路首先我们要在 WinCC 画面中添加多个设备的监控元素比如指示灯、数值显示等。然后为每个设备关联对应的变量。对于趋势图我们利用 WinCC 自带的趋势控件通过代码动态地为其添加不同设备变量的趋势显示。二、C 代码实现1. 初始化画面及变量关联在画面的初始化事件中我们可以使用 C 代码来进行一些初始化操作比如为各个设备监控元素关联变量。假设我们有两个设备设备 1 的状态变量为 “Device1Status”设备 2 的状态变量为 “Device2Status”。#include apdefap.h void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y) { // 获取设备 1 状态指示灯对象 HMIRuntimeObject* pDevice1Indicator GetObject(lpszPictureName, Device1_Indicator); if(pDevice1Indicator) { // 关联变量 pDevice1Indicator-SetPropChar(LinkName, Device1_Status); } // 获取设备 2 状态指示灯对象 HMIRuntimeObject* pDevice2Indicator GetObject(lpszPictureName, Device2_Indicator); if(pDevice2Indicator) { // 关联变量 pDevice2Indicator-SetPropChar(LinkName, Device2_Status); } }2. 趋势图添加设备变量趋势假设我们有一个趋势图控件名为 “TrendGraph”现在要为其添加设备 1 和设备 2 的变量趋势。#include apdefap.h void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { HMIRuntimeObject* pTrendGraph GetObject(lpszPictureName, TrendGraph); if(pTrendGraph) { // 添加设备 1 变量趋势 pTrendGraph-SetPropChar(Trend1.Tag, Device1_Value); pTrendGraph-SetPropChar(Trend1.Name, Device1 Trend); // 添加设备 2 变量趋势 pTrendGraph-SetPropChar(Trend2.Tag, Device2_Value); pTrendGraph-SetPropChar(Trend2.Name, Device2 Trend); } }代码分析在第一段代码中我们通过GetObject函数获取画面中的指示灯对象然后使用SetPropChar函数为其关联对应的变量这样指示灯就能根据变量值来显示状态。第二段代码中同样使用GetObject获取趋势图控件然后通过设置 “Trend1.Tag” 和 “Trend2.Tag” 等属性为趋势图添加不同设备变量的趋势并且为每个趋势设置一个名称便于区分。三、VBS 代码实现1. 初始化画面及变量关联Sub OnClick(ByVal Item) Dim device1Indicator Set device1Indicator ScreenItems(Device1_Indicator) device1Indicator.LinkName Device1_Status Dim device2Indicator Set device2Indicator ScreenItems(Device2_Indicator) device2Indicator.LinkName Device2_Status End Sub2. 趋势图添加设备变量趋势Sub OnClick(ByVal Item) Dim trendGraph Set trendGraph ScreenItems(TrendGraph) trendGraph.Trend1.Tag Device1_Value trendGraph.Trend1.Name Device1 Trend trendGraph.Trend2.Tag Device2_Value trendGraph.Trend2.Name Device2 Trend End Sub代码分析VBS 代码相对更加简洁易懂。在第一段代码中通过ScreenItems获取指示灯对象直接设置其LinkName属性来关联变量。第二段代码中同样使用ScreenItems获取趋势图控件然后设置趋势图中不同趋势的Tag和Name属性实现为趋势图添加设备变量趋势的功能。四、详细操作笔记创建变量在 WinCC 变量管理器中创建各个设备需要监控的变量比如设备状态变量布尔型、设备数值变量整型或浮点型等。绘制画面在画面编辑器中绘制各个设备的监控元素如指示灯、文本框用于显示数值等。同时添加趋势图控件。关联代码对于 C 代码需要在画面的事件属性中如初始化事件、按钮点击事件等地方添加对应的 C 脚本。对于 VBS 代码同样在相应的事件中添加 VBS 脚本。测试运行完成上述步骤后激活 WinCC 运行系统观察画面中设备监控元素是否正常显示趋势图是否能正确显示设备变量的趋势。希望通过以上的技术指导、代码示例以及操作笔记能帮助大家顺利在经典 WinCC 中实现一个画面监控多个设备并显示趋势图的功能。如果在实际操作中有任何问题欢迎留言交流。经典wincc一个画面监控多个设备画面中可监视趋势图技术指导代写代码c或vbs均可。 可提供详细操作笔记笔记含可复制的脚本