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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
大豆低聚糖的作用与功效
儿童接种疫苗家长须知
哲学教授赫立格尔经典作《箭术与禅心》:一场跨文化的生命探索旅程
白醋能否有效清除汽车玻璃油膜
常见20种氨基酸的英文名称、英文缩写及英文简称
山地车链条保养需选用何种油品?
避开逻辑陷阱:掌握辩论中的8种常见谬误
美国留学签证面试时需要携带哪些资料?
肺结核治得好吗
中国经济学家圈多样性璀璨发展 盘点令人尊敬的女性经济学家
小儿肠炎吃什么食物调理肠胃
农村最需要的消费产品是什么?如何进行市场分析
如何提高职称等级?职称评审提前准备该怎么做?
大蒜的保存方法及温度 怎麼儲存時間長
你的手机智能到哪级了?
武汉市生态环境局公布第二批碳普惠方法学
大学・问|记忆不止存在于大脑中,非脑细胞如何记忆?
1月生猪出栏量分化加剧,2025年生猪市场将驶向何方?
科学家实现多项单细胞多组学分析算法的系统性评估
项目管理TTV是什么意思
亚硝酸钠废水处理方案
《漂白》剧组回应替身已康复,疑出品人发声引争议,赵今麦受牵连
梅西让位莱万,五大联赛造进球榜仍稳居前二
网络虚拟化技术,VRRP、堆叠、M-LAG之详解
短头畸形病因介绍
镁元素六大功效:改善失眠、缓解压力,六种食物富含镁
【养兔新手攻略】兔兔照顾指南 新手必须学技巧!
如何调整车辆座椅高度?这些调整方法对驾驶舒适度有何影响?
小鸡1-40日龄的温度要求,1-2日龄的适温为35℃
低调却高价值的证书——注册环评工程师