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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
网络认知行为疗法:青少年抑郁治疗的新选择
揭秘历史之最:古代人口最多的姓氏
电风扇除冰法,轻松搞定冰箱霜
冰箱结冰怎么办?这些摆放技巧帮你轻松应对
海尔冰箱结冰故障排查攻略
智能冰箱防结冰攻略:温度设置、使用习惯和维护要点全解析
双十一冰柜选购攻略:海尔、美的、澳柯玛谁更香?
精选内容集|科学养猫那些事儿 喵咪健康与欢乐指南
哪些运动可以缓解颈椎间盘突出引起的疼痛和麻木感?
颈椎间盘突出病情观察
颈椎病与中医针灸那些事
朱立国:立中医骨伤于医学之林
颈椎间盘突出保守疗法
乐高幻影忍者玩具爆红,你家孩子入手了吗?
《幻影忍者》动画 vs 真人版:童年回忆的新演绎
乐高幻影忍者:六位忍者的成长传奇
手機多久重啟一次?提升手機性能的最佳方法
如何维护和保养电子设备?(延长设备使用寿命的小技巧)
春节家居风水布置指南:用这些小技巧点亮你的家
家居风水布局:传统智慧与现代健康生活的完美融合
10种山楂好吃做法,包你久吃不腻
山楂果酱制作教程:6步教你在家制作美味果酱
山楂:红果映秋,药食俱佳的宝藏
家族遗传性肝癌,我们能做些什么来预防?
吃完这些药,坚决拒绝饮酒——健康与生命的明智选择
超级计算机背后的神奇科学:集群计算如何实现超强算力?
郑纬民院士:AI优化超级电脑性能,开启计算新纪元
余姓的来源和历史人物(余姓的历史起源和姓氏名人)
余姓的来源和历史人物:从夏禹到当代文化名人
南通有什么好玩的景点?推荐南通通州区最美3大古镇