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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
关于漳州公积金装修贷款事宜介绍
蜜蜡优劣鉴定与佩戴指南
二手车宝马530价格 二手宝马530能买吗
甲状腺功能七项检测指标全解析
海南十大历史名人排行榜
缓解舌尖疼痛的方法
济南惨案报告
主动辞职后可以劳动仲裁吗?一文详解劳动仲裁相关问题
在通货膨胀情况下网络营销应采取哪些措施
冬天早上开车,排气管冒白烟是怎么回事?到底是不是车辆出问题了
考研人必看:如何制定一份有效的备考计划
离婚后孩子判给母亲后,父亲的义务和责任是什么
劳动法主动辞职需要赔偿吗
LED生长灯与植物的距离指南:如何根据生长阶段和灯的功率调整距离?
腰突锻炼的正确方法
年轻人越来越脆皮?一个喷嚏致腰椎间盘突出、坚持长跑反而伤身......
租房备案有时间限制吗?备案手续及所需证件和程序
妮娜皇后葡萄品种介绍
舌尖痛什么原因引起的怎么治疗
老板员工薪酬管理制度中,薪酬结构有哪些常见类型?
TCP 有超时重传,为什么还需要快速重传机制?
爆破过程中如何控制噪音和振动呢?
百年老帆船传递奥运火种,这是法国人的骄傲与浪漫
公民参与立法的意义:提高民主决策与法治水平
燕云十六声一叶平生任务怎么做:详细攻略与技巧解析
全国护理专业2024录取分数线(2025考生参考)
天疱疮怎么诊断
防臭袜是什么材料做的 如何选择抗菌防臭袜
小数、分数与百分比的转换关系
国庆自驾游攻略:成都到拉萨租车费用全解析及6天行程规划