C脚本实现Wincc模拟量趋势窗口弹出
创作时间:
作者:
@小白创作中心
C脚本实现Wincc模拟量趋势窗口弹出
引用
CSDN
1.
https://blog.csdn.net/laohei026/article/details/138704242
本文介绍了一种基于C脚本实现点击输入输出域对象,弹出对应模拟量趋势窗口的方法。通过在Wincc中添加变量、配置控件和编写C脚本,可以实现单击不同输入输出域对象时弹出对应的趋势画面,且调用的是同一个趋势控件,操作简便。
一、步骤及解析
- 在Wincc变量管理中,添加两个变量;
示例如下: - 将以上两个变量添加到变量记录中;
- 打开Wincc计算机属性界面,勾选变量记录运行系统;
- 新建主画面,并添加一个“Wincc Online TrendControl”控件;
这里将主画面命名为“Start_New.Pdl”,将“Wincc Online TrendControl”控件命名为“ControlTrend”。 - 添加一个输入输出域对象,关联输入输出变量;
- 在事件选项卡中,选择单击鼠标,添加C动作;
代码如下:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
SetVisible("Start_New.PDL","ControlTrend", 0);
SetVisible("Start_New.PDL","ControlTrend", 1);
SetPropWord("Start_New.PDL","ControlTrend","TrendIndex",0);
SetPropChar("Start_New.PDL","ControlTrend","TrendTagName","ProcessValueArchive\\F1.AI_OUT");
SetPropChar("Start_New.PDL","ControlTrend","Caption","F1_实际输出");
}
注释如下:
SetVisible("Start_New.PDL","ControlTrend", 0);
:这行代码设置名为 “ControlTrend” 的元素在 “Start_New.PDL” 中的可见性为0,即隐藏该元素。
SetVisible("Start_New.PDL","ControlTrend", 1);
:这行代码设置名为 “ControlTrend” 的元素在 “Start_New.PDL” 中的可见性为1,即显示该元素。
以上两行代码的目的是,在点击一个控件时,先关闭上一个弹窗,再弹出下一个弹窗。
SetPropWord("Start_New.PDL","ControlTrend","TrendIndex",0);
:这行代码设置名为 “ControlTrend” 的元素在 “Start_New.PDL” 中的 “TrendIndex” 属性为0。表示将趋势初始化。
SetPropChar("Start_New.PDL","ControlTrend","TrendTagName","ProcessValueArchive\F1.AI_OUT");
:这行代码设置名为 “ControlTrend” 的控件在主画面 “Start_New.PDL” 中弹出,该控件的 “TrendTagName” 属性为 “ProcessValueArchive\F1.AI_OUT”,其中“ProcessValueArchive”是变量记录的归档名称。
SetPropChar("Start_New.PDL","ControlTrend","Caption","F1_实际输出");
:这行代码设置名为 “ControlTrend” 的元素在 “Start_New.PDL” 中的标题(Caption)属性为 “F1_实际输出”。即趋势弹窗标题为 “F1_实际输出”。
- 同理,再添加一个输入输出域对象,并关联变量;
- 在事件选项卡中,选择单击鼠标,添加C动作;
代码如下:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
SetVisible("Start_New.PDL","ControlTrend", 0);
SetVisible("Start_New.PDL","ControlTrend", 1);
SetPropWord("Start_New.PDL","ControlTrend","TrendIndex",0);
SetPropChar("Start_New.PDL","ControlTrend","TrendTagName","ProcessValueArchive\\T1.AI_OUT");
SetPropChar("Start_New.PDL","ControlTrend","Caption","T1_实际输出");
}
这里变量名为“T1.AI_OUT”,弹窗标题为"T1_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
第一次约会紧张?恋爱军师教你几招
第一次约会完美攻略:跟着“猎心人老王”搞定女神
《魔鬼聊天术》:一本教你如何聊天的实用指南
研究全流程偏倚风险评估:从识别到控制的完整方案
科研数据偏倚风险评估:方法、影响因素与控制策略
运动改善脂肪肝:中等强度最佳,特殊人群需谨慎
东南大学专家:六招改善冠状动脉粥样硬化
警惕血管里的“定时炸弹”:动脉粥样硬化斑块的危害与防治
Survodutide获CDE突破性认定,83%患者实现MASH显著改善
脂肪肝防治指南:从生活调整到专业治疗
专家:脂肪肝患者需重视情绪管理,可尝试心理干预
立秋养生吃“三白”:山药百合莲藕的功效与食疗方
薯蓣丸:脾胃虚弱的调理良药,四类人群慎用
从8分到7分:五部热播剧质量大测评
全力抢“脚”!从进博会看运动品牌大战中国跑鞋市场
2025加州山火:气候变化下的“火药桶”
加州山火再起:圣安娜风与人为因素的双重挑战
拜登因加州山火取消访意行程,洛杉矶灾情持续恶化
2025年巴士模拟游戏新作:5款游戏打造沉浸式驾驶体验
最新版印尼巴士模拟器上线,真实路况天气等你来挑战
五菱宏光销量跌至10万辆:从年销75万的神车到市场边缘
冬日太行山:三大景区特色美食与自然风光深度游
河北东太行:丹崖白雪映衬,栈道览胜
《亚刻奥特曼》完结前夕:梦境之谜引发热议,最终Boss身份揭晓
雪景摄影实战指南:6个步骤+3大技巧完全解析
河北顺平举办太行步道活动,地平跷表演展现尧帝故里文化
色泽纹理看真伪:老料金丝檀手串鉴别要点
脚手架施工安全要点:从人员到材料全方位管控
郑州发布高处作业安全防护手册,提升建筑施工安全标准
马鲛鱼价格暴涨23.87%,消费者如何在波动中选购?