C脚本实现Wincc模拟量趋势窗口弹出
创作时间:
作者:
@小白创作中心
C脚本实现Wincc模拟量趋势窗口弹出
引用
CSDN
1.
https://blog.csdn.net/laohei026/article/details/138704242
本文介绍了一种基于C脚本实现点击输入输出域对象,弹出对应模拟量趋势窗口的方法。这种方法可以实现在Wincc中通过单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
一、步骤及解析
- 在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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
游戏买断制和氪金谁是好文明?
《漫威争锋》:将欧美IP引进来,让“国产之光”走出去
中国传统节日对联集锦:从春节到重阳的文化韵味
【民俗文化】春节为何要贴春联?(图文)
能逛能买还能摆摊 潘家园开始成为年轻人聚集胜地
潘家园:从神秘古玩圣地到年轻人的"快乐星球"
老北京的几家市场
10个快速通过机场安检小技巧
方庄周边景点全攻略:从汽车博物馆到卢沟桥
方山揭秘:羲仲观天台的历史真相
探索海陵岛:海南海陵岛深度游攻略与必体验景点指南
北京潘家园古玩市场都有什么
办公电脑选购指南:处理器、内存、存储,一篇文章全搞懂!
别一票房扑街就怨黑水
客厅装饰画风水布局,杨明德大师的妙招解析
情绪价值消费:年轻人的精神慰藉与商业新蓝海
职场人必备:如何提升情绪价值
职场吸烟危害心脏,戒烟才是王道!
世卫组织再次警告:吸烟伤“心”,深圳控烟10年成效显著
赵本山范伟当年的“分手”,其实另有原因?
如何通过调节琴颈提升木吉他音准
虎头鲨鱼怎么养,附疾病预防与治疗
英国社牛揭秘潘家园夜市:奇珍异宝与文化交融之地
乒乓球旋转之奥秘(探寻乒乓球旋转的科学原理与技巧)
推荐20部能提升气质、审美和品位的电影 够宅3周了
上外高翻学院英语口译专业:培养国际会议口译人才
中山一院贵州医院:家门口的国家级医疗保障
颈椎疼痛的治疗与生活建议
津沧高速公路全面免费:区域交通新变局
贵阳市妇幼保健院和贵医附院:谁是不孕不育治疗的佼佼者?