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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
电热水器24小时开着省电?还是即用即开“省电”,大半人都做错了
《使命召唤18:先锋》战火重燃
《使命召唤18:先锋》:3000万销量背后的口碑之谜
辅警这5个职业病,你中招了吗?可以怎么预防?
公共安全事件应急措施
辅警是否有执法权?
公安民警辅警心理健康小科普
一文详解:中国人申请美国绿卡所需全部材料及注意事项
美国移民配额大调整:职业移民减半,家庭移民扩容
兔肉:美容界的“肉中之王”
如何查询民宿的住房记录和入住记录
干煸兔肉制作攻略:四步教你在家做出餐厅级美味
从“巨款”到“零钱”:一毛钱见证中国发展变迁
广西四季旅游指南:春秋季最佳,全年皆可游
张五常说:货币变毛怎么办?
如何养好我们的胃?
世界地质遗产地系列2:桂林喀斯特,大自然的鬼斧神工与地球演化的杰作
“三勤三避一加强”,科学预防冬季感冒
中医辨治感冒:风寒风热症状与用药指南
《使命召唤8:现代战争3》,带你重返经典战场
贵州酸菜米线:一碗酸味里的乡愁
2025年双春年:历法现象背后的科学与文化
2025双春年婚礼攻略:流行趋势与筹备要点全解析
惊!一夜之间,这里挤满外国人?“挺吓人的!建议别用这个中文名!”女网友道歉……
婚礼缺席致歉信模板大公开!
杨幂因新剧拍摄缺席好友婚礼,教你如何礼貌回绝
如何优雅拒绝朋友的婚礼邀请?
《使命召唤4&6》:现代战争巅峰对决
《使命召唤:黑色行动6》革新玩法引爆FPS圈,但玩家流失引发担忧
《使命召唤》新手教程:快速上手,决战巅峰!