C脚本实现WIncc模拟量趋势窗口弹出

文章目录

  • 前言
  • 一、步骤及解析
  • 二、运行画面演示
  • 三、总结


前言

本文给出了一种基于C脚本实现点击输入输出域对象,弹出对应模拟量趋势窗口的方法。


一、步骤及解析

  1. 在Wincc变量管理中,添加两个变量;
    示例如下:
    在这里插入图片描述
  2. 将以上两个变量添加到变量记录中;
    在这里插入图片描述
  3. 打开Wincc计算机属性界面,勾选变量记录运行系统; 在这里插入图片描述
  4. 新建主画面,并添加一个“Wincc Online TrendControl”控件;
    这里将主画面命名为“Start_New.Pdl”,将“Wincc Online TrendControl”控件命名为“ControlTrend”。
    在这里插入图片描述
  5. 添加一个输入输出域对象,关联输入输出变量;
    在这里插入图片描述
  6. 在事件选项卡中,选择单击鼠标,添加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_实际输出”。
  1. 同理,再添加一个输入输出域对象,并关联变量;
    在这里插入图片描述
  2. 在事件选项卡中,选择单击鼠标,添加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_实际输出",其它不变。

二、运行画面演示

在这里插入图片描述
在这里插入图片描述

三、总结

该方法实现了单击不同输入输出域对象,弹出对应的趋势画面,并且调用的是同一个趋势控件,不需要为每一个对象都添加一个趋势控件,比较方便。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/10038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在新页面中跳转到指定 div容器位置

要在打开新的页面时跳转到指定 div,我们需要结合 HTML、JavaScript 和后端技术来实现。以下是两种常见的方法: 使用 URL 参数传递目标 div 信息 HTML (新页面): 在新页面的链接中,添加参数来指示目标 div 的 id,例如:…

测试docker GPU性能损失

NVIDIA 3090 利用HSOpticalFlow代码测试docker GPU性能损失 docker介绍图如下: 形象生动展示了他们之间的关系 今天要测试docker容器运行HSOpticalFlow算法的性能损失,包括CPU和GPU 上一篇博客 http://t.csdnimg.cn/YW5kE 我已经介绍了使用docker和nvid…

[Linux_IMX6ULL驱动开发]-GPIO子系统和Pinctrl子系统

目录 Pinctrl子系统的概念 GPIO子系统的概念 定义自己的GPIO节点 GPIO子系统的函数 引脚号的确定 基于GPIO子系统的驱动程序 驱动程序 设备树修改 之前我们进行驱动开发的时候,对于硬件的操作是依赖于ioremap对寄存器的物理地址进行映射,以此来达…

【020】基于JavaWeb实现的批报管理系统

项目介绍 基于jspservlet实现的批报管理系统采用B/S架构,该项目设计了一个角色管理员,管理员实现了我的案件、查询统计、项目维护等三大功能模块 技术栈 开发工具:Idea2020.3 运行环境:jdk1.8tomcat9.0mysql5.7 服务端技术:j…

麦肯锡专访 Mistral AI CEO:三五年后的工作,要比现在更有意义

【编者按】总部位于巴黎的人工智能初创公司 Mistral AI 成立仅一年,就被誉为现有大模型巨头的有力挑战者。 今年 2 月,Mistral AI 正式发布了旗舰级大模型 Mistral Large,直接对标 OpenAI 的 GPT-4;几周前,Mistral AI…

Element快速上手!

Element是饿了么公司前端团队开发的一套基于Vue的组件库,用于快速构建网页~ 官网链接: Element - The worlds most popular Vue UI frameworkElement,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库https://element.elem…

UML之用例图

1.用例图 用例图指参与者,用例,边界以及它们之间的关系构成的用于描述系统功能的视图。说明是谁要使用系统,以及可以使用该系统可以做些什么。展示了一个外部用户能够观察到的系统功能模型图 2.用例图的元素 (1)参与…

Redis 实战之监视器

监视器 成为监视器向监视器发送命令信息总结 成为监视器 发送MONITOR 命令可以让一个普通客户端变为一个监视器, 该命令的实现原理可以用以下伪代码来实现: def MONITOR():# 打开客户端的监视器标志client.flags | REDIS_MONITOR# 将客户端添加到服务器…

C++初阶之stack,queue,priority_queue的使用和模拟以及仿函数的创建和使用

个人主页:点我进入主页 专栏分类:C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂 目录 一.stack,queue,priority_queue简介以及代码模拟 1.1 stack …

uniapp 版本检查更新

总体来说uniapp的跨平台还是很不错的,虽然里面各种坑要去踩,但是踩坑也是开发人员的必修课和成长路。 这不,今天就来研究了一下版本检查更新就踩到坑了。。。先来看看检查更新及下载、安装的实现。 先来看看页面: 从左到右依次为…

推荐3个实用的github开源项目

目录: 1、AI生成高清短视频 2、媒体平台爬虫 3、文本转语音项目

【Linux网络编程】I/O多路转接之select

select 1.初识select2.了解select基本概念和接口介绍3.select服务器4.select特点及优缺点总结 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃😃…

系统架构设计师 - 计算机组成与体系结构(1)

计算机组成与体系结构 计算机组成与体系结构计算机结构 ★CPU 组成结构运算器组成控制器组成 计算机体系结构冯诺依曼结构哈弗结构 嵌入式芯片(了解) 存储系统 ★★★★概述Cache主存编址磁盘管理磁盘基本结构与存取过程磁盘优化分布存储磁盘管理 大家好…

数据挖掘(二)数据预处理

前言 基于国防科技大学 丁兆云老师的《数据挖掘》 数据挖掘 数据挖掘(一)数据类型与统计 2、数据预处理 2.1数据清理 缺失值处理: from sklearn.impute import SimpleImputer# 创建一个SimpleImputer对象,指定缺失值的处理策略…

Spring框架学习笔记(二):Spring IOC容器配置 Bean,分别基于XML配置bean 和 基于注解配置 bean

1 Spring 配置/管理 bean 介绍 Bean 管理包括两方面 :创建 bean 对象;给 bean 注入属性 Bean 配置方式:基于 xml 文件配置方式;基于注解方式 2 基于 XML 配置 bean 2.1 通过类型来获取 bean 方法:给getBean传入一…

无人机+三角翼:小摩托无人机技术详解

无人机与三角翼的结合,为航空领域带来了一种新型且独特的飞行器——“小摩托”无人机。这种无人机结合了无人机的灵活性和三角翼的飞行稳定性,成为了航空运动领域中的一款热门产品。以下是对“小摩托”无人机技术的详解: 1. 定义与特点&#…

MFC中关于CMutex类的学习

MFC中关于CMutex类的学习 最近在项目中要实现两个线程之间的同步,MFC中提供了4个类,分别是CMutex(互斥量)、CCriticalSection(临界区)、CEvent(事件对象)、CSemaphore(信号量)。有关这4个类的说明,大家可以参考微软官方文档: CM…

七、Redis三种高级数据结构-HyperLogLog

Redis HyperLogLog是用来做基数统计的算法,HyperLogLog在优点是,在输入的元素的数量或者体积非常大时,计算基数占用的空间总是固定的、并且非常小。在Redis里每个HyperLogLog键只需花费12KB内存,就可以计算接近 264 个元素的基数。…

#04 构建您的第一个神经网络:PyTorch入门指南

文章目录 前言理论基础神经网络层的组成前向传播与反向传播 神经网络设计步骤1:准备数据集步骤2:构建模型步骤3:定义损失函数和优化器步骤4:训练模型步骤5:评估模型结论 前言 在过去的几天里,我们深入了解了…

头歌实践教学平台:CG1-v2.0-直线绘制

第1关&#xff1a;直线光栅化-DDA画线算法 一.任务描述 1.本关任务 (1)根据直线DDA算法补全line函数&#xff0c;其中直线斜率0<k<1&#xff1b; (2)当直线方程恰好经过P(x,y)和T(x,y1)的中点M时&#xff0c;统一选取直线上方的T点为显示的像素点。 2.输入 (1)直线两…