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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
超速警告违章的处理及其法律后果分析
专家建议正常人的健康需要定期检测6项重要血液检查
湖人全新阵容什么水平?解析莱恩签约:仍能继续签人且保持在二豪线下
德国真实收入与生活开销全解析:从房租到餐饮的详细指南
菉葭巷:一条诗意盎然的苏州老巷
槟榔:从传统应用到现代研究的全面解析
加工成本是什么?如何计算加工成本?加工成本控制的关键点有哪些?
哪个地区的电气工程师薪资待遇最高?
用项目管理安排婚礼:从目标设定到总结反馈的全流程指南
为什么我们建议你不要吃槟榔?小小槟榔如何危害健康?
英语连读技巧和规律
职业病风险定期评估制度与监测体系
租房转让费我能向下一用户收取吗合法吗
快船vs公牛战报:科林斯21分哈登30分 快船取胜 公牛遭失利
小孩子咳嗽能吃鸡蛋么?咳嗽吃鸡蛋注意事项
怎么向劳动局投诉举报
生猪期货上市四周年观察:猪周期变了,企业强调抵御风险
抑郁症患者如何控制脾气暴躁?四大实用建议助力情绪管理
住房贷款可以转为公积金贷款吗?条件和材料要求详解
中国10大示范步行街,南北差别不小,都是本地的精华,很值得打卡
文脉赓新凝歌海,智创焕彩跃鱼峰——山歌文化传承发展的双轨赋能探索
102亿,日本2家半导体大厂合作生产碳化硅
周末影响A股的3件大事:关键指标创新高!大盘向上变盘进入倒计时
丙类医保目录年内发布,让患者用到更多好药
云计算的服务模型有哪些?每种服务模型适合哪些企业?
怎样写交通事故的经过该注意什么
水洗面筋的做法(口感Q弹,营养丰富的美食制作方法)
朝鲜古代国家发展史
成都限行一天算几次?成都限行处罚规定
防御DDoS攻击的五种安全解决方案