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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
淄博烧烤的健康密码:从食材到吃法的全方位解析
烧烤大师的独家秘诀:从选材到火候的全方位指南
五花肉烧烤秘籍:锁住营养的绝招
从症状到科室:颈椎病患者如何精准就医
从坐姿到锻炼:办公族预防颈椎病全攻略
王者荣耀×柯南:珍品传说皮肤上线,玩家热议联动创新高
鲁班七号化身柯南,新皮肤引爆热议
厦门中山路钟楼:中西合璧建筑里的百年城市记忆
厦门中山路入选国家级文旅集聚区,春节迎客超百万人次
云南旅游必备药品清单及使用指南
薛宝钗的《咏白海棠》爆红,你get到了吗?
薛宝钗 vs 林黛玉:谁才是真正的名媛?
薛宝钗:被误解的“白莲花”
薛宝钗的服饰美学:清代时尚的简约诠释
打破情感隔离:用高情商沟通重建亲密关系
装修环保材料怎么选?必备清单在这里!
无阀滤池未来发展趋势:新材料、智能化与应用拓展
旧环保设备升级改造:助力节能减排
湖南省征集智能建造技术案例,推动建筑业数字化转型
服用复方丹参片的五大禁忌,这些人群需谨慎!
膜分离技术在水处理中的应用分析
关于污水处理设备中的AO工艺详解
雄安新区迎来首家三甲医院,首台手术顺利开展
五年投资7739亿,雄安新区2025年将迎全面提升
北京卫健人才中心调研雄安宣武医院,助力新区医疗发展
雄安新区首家三甲医院启用,首批病房手术室开门迎诊
劳动合同法15问:从入职到维权全攻略
用工超1月未签合同可获双倍工资,辞职赔偿有法可依
劳动合同到期不续签?全国大部分地区这样判
企业薪酬设计指南:计件工资与固定工资如何选择