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_实际输出",其它不变。
二、运行画面演示
三、总结
该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。
热门推荐
轻身消胖丸:传统中药减肥药的科学解读
轻身消胖丸真的能减肥吗?科学解读其效果与风险
八路军6名正副师长,有5人被授予元帅军衔,唯有萧克仅授上将军衔
国家公务员都是哪些职位?全面解析各类岗位
如何正确选择车险?这些车险选择有什么注意事项?
汽车自燃保险理赔流程及注意事项揭秘
“人死忌讳三六九,烧纸要躲3个七”,啥意思?老祖宗规矩要了解
伏湿膏真的能减肥吗?
夜览·享读|跨越三个世纪,标志建筑述说上海交大历史传承
三种养老保险到底有什么区别?一文看懂
《小河淌水》和《幸福花山》:云南民族文化传承新亮点
3万元以下适合新手的摩托车推荐及选购指南
早晨起来口苦怎么调理
宝贝要上小学了,最后一周家长还可以做点啥?
家园协同共育 幼小科学衔接——以农村幼儿园开展常态化家园共育为例
白云区&广州塔:绝美打卡攻略
广州塔打卡攻略:如何拍出朋友圈最美照?
2024新农合重大调整,农村社保大升级!
如何科学提高最大摄氧量
《什么风呼啸》:勇敢追梦的成长故事与面对人生选择的哲理探讨
2025年属蛇人犯太岁:挑战与机遇并存
如何向周围人寻求支持和帮助?产后抑郁症的亲子关系如何调整?
冬日暖身驱寒:羊肉汤怎么做?
北平羊汤馆:一碗热汤,一口酥饼,老北京的味道
秋冬季节,邂逅不一样的丽江古城
昆明冬季旅游:感受少数民族风情
越南语拼音学习入门:从基础发音到实用词汇
金庸经典《侠客行》,改编亮点大揭秘!
李白《侠客行》与金庸武侠:谁更懂江湖?
宝马钥匙进水后的处理方式及注意事项是什么?如何避免宝马钥匙进水?