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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
探析《查士丁尼新律》:罗马法体系的重要里程碑
板材行业洞察:未来趋势与消费者需求分析
CR-V的适时四驱系统解析:城市SUV的实用之选
震撼!宋徽宗书法精品曝光,竟如此惊艳!
增肌增重补充什么营养
颜真卿行书《祭侄文稿》,基础点画临摹指导
拜占庭帝国:罗马帝国的继承者还是独立实体?
影响股市的经济指标有哪些?
安全无小事,如何快速准确识别储能系统风险?
斑马鱼的养殖条件:水温与水质要求详解
挖掘上海老城厢文化价值,学术论坛在沪举行
如何更换DNS以提升上网速度和安全性详解指南
重庆空置房物业费收取标准解析:合理性与公平性探讨
揭秘七杀与正官的不同之处
揭阳旅游攻略景点大全,揭阳旅游必去十大景点有哪些?看这里!
单张图像探索3D奇境:Wonderland让高质量3D场景生成更高效
人类如何对比人工智能
垂体瘤是什么病?严重吗?
车辆赠与合同过户是否合法?
光电共封装技术CPO的演变与优势
万万没想到,双11淘宝京东竟被闲鱼偷家?
储能电站电池检修与更换全攻略
权力交替与历史评价:司马懿与曹操的对比分析
东南大学2024年补充选拔全日制博士研究生工作通知
牙痛不应乱吃药,7种药物应对不同类型牙痛
消息称英伟达中低端 RTX 50 系笔记本电脑 GPU 延至 4 月推出
“内卷”成风 白酒大面积倒挂何解?行业分析师:头部酒企明年迎“拐点”
2025年,“哈基米”已经沦为同时缝合抽象、反二、虐猫、键政的究极烂梗了
理痰汤中医医案分享
逆变器工作原理详解:从基础概念到核心技术