首页 > 其他分享 >解析HMI面板实例

解析HMI面板实例

时间:2024-04-17 23:00:49浏览次数:23  
标签:属性 实例 IAnim 事件 面板 HMI

拆解一个已有的画面面板实例来看看画面面板是怎么实现的。

  1. 使用实例,需要从项目库里面拖出来。

  2. 拖出来之后画面如图,它是一个组合画面。

  3. 这个画面有四个属性,以及一个事件。

  4. 需要传入的数据类型

    • FnCselInHMI属性需要传入一个bool类型数据
    • H_lAnim需要传入一个DWORD类型数据
    • Type和ValveName是静态变量,直接在接口填写静态值
  5. 右键编辑面板,可以看到一个总体属性

.左侧分别是组合控件的各个元素,蓝色表示对其有设置。
.箭头表示设置指示
.右侧属性,在这里新建定义了共4个变量,因为HMI没有DWORD,所以用UDINT替代

#定义好的属性
Properties{ValveName,string;H_IAnim,UDINT;H_FncSelInHMI,BOOL;Type,STRING}
  1. 在事件中,分配了一个事件名字叫做IconClick

.这里的事件不是按钮或者其他元素的事件,它是这个画面面板的事件

  1. 拆分组合

  2. 分别查看每个元素的属性,动画,事件。

.这是背景的属性,变量地址是ScreenModules,表示变量来自刚刚建立的Properties{ValveName,string;H_IAnim,UDINT;H_FncSelInHMI,BOOL;Type,STRING}。
.用DWORD的bit表示一个颜色等级,减少HMI接口数量,变相增加HMI Tags点数。

.小圆点属性,用了DWORD为它预留的bits

  1. 其实箭头指向H_IAnim的每个元素都意味着这个元素使用了H_IAnim

.实操过程中,其实会发现每当你对某个元素使用了某个Properties中的元素(比如H_IAnim),都会新增加一个指向箭头。

  1. 按钮有个自己事件,按下按钮的时候取反

  2. 面板整个事件中(不是某一元素的事件)建立了一个叫做IconClick的事件,同理,我们在使用这个画面面板的时候就可以选择事件了。

  3. 查看完这个面板实例后,如果不想修改库文件,请点击放弃更改并删除版本。

  4. 解析的目的是想要模仿别人,最后做一个自己的东西:

  5. 总结:

  • 面板实例一定是会保存到库里面的,因为它就相当于一个没有被new的class,你在创建它的时候只是创建了一个模板,
    每次拖拽出来使用的时候相当于new了一个新的实例化对象。
  • 在自己创建面板实例的时候,需要用到变量就在画面面板整体属性里面自己新建一个,就像上面的例子:
#定义好的属性
Properties{ValveName,string;H_IAnim,UDINT;H_FncSelInHMI,BOOL;Type,STRING}
  • 建立了属于自己的属性之后才能被元素使用,这里建立的属性相当于在函数里面建立的临时变量,当然也可以给元素分配外边的HMI变量,这时候外部的变量就相当于全局变量,它失去了可复用的属性了。

  • 建立了自己的事件,就可以得到一个事件接口,你也不必在创建模板的时候就把事件定义出来,它只是个接口而已。

标签:属性,实例,IAnim,事件,面板,HMI
From: https://www.cnblogs.com/xiacuncun/p/18142011

相关文章

  • EQ-BDS面板部署机器人
    一、机器人配置教程0.预处理首先处理杀毒软件误报问题。在服务器上安装火绒安全当然,您也可以不选择火绒,使用其他杀毒软件,到时候给插件加上信任即可安装完成后禁用WindowsDefender,详见EQ-BDS面板用户手册1.下载然后解压压缩包点我跳转到下载页面这个网盘不需要开会员,您只......
  • 宝塔面板mysql无法启动问题如何解决
    宝塔面板无法启动的问题和解决如果你的宝塔里面的mysql无法启动了,请先看是不是以下的配置问题1.是不是你的3306端口被占用了导致mysql无法启动2.是不是磁盘空间不足导致的无法启动如果都不是这些问题再继续向下看常见问题:1、Mysql安装好后或迁移文件后无法启动2、Mysql异常......
  • PR2024教程-2.1 欢迎导入面板
    欢迎界面(之前称之为项目界面):新建项目(点开后就是新建项目界面)打开项目(打开后就是让你找到对应项目路径打开)最近使用项(快速打开最近使用过的项目)筛选(快速定位找到你要的项目筛选查找标题内的内容)小知识:鼠标经过最近使用项上可以显示当前项目的目录所在最近使用......
  • 【视频】R语言支持向量回归SVR预测水位实例讲解|附代码数据
    全文链接:https://tecdat.cn/?p=35914原文出处:拓端数据部落公众号分析师:MiaoqiaoWang当我们面对样本需要建立相应模型时,使用传统统计方法建立模型需要大量的样本数据,只有在样本量足够大时,该模型才具有一定的可靠性,而实际实验中,不一定每次实验都拥有足够大的样本,甚至是小样本,这......
  • day11_我的Java学习笔记 (static_静态成员变量+静态成员方法_工具类、代码块_静态代码
    0.面向对象进阶1.static静态关键字1.1static是什么,static修饰成员变量的用法Java成员变量成员方法Python类(对象)属性类(对象)方法static修饰成员变量的应用:在线人数统计1.2static修饰成员变量的内存原理1.3static修饰成员方法的基本......
  • element-ui el-popover实现面包屑导航展开面板
    效果图: 代码:HTML部分<el-breadcrumbseparator-class="el-icon-arrow-right"><el-breadcrumb-itemv-for="(breadItem,index)inbreadList":key="index"><el-popoverplacement="bottom-start"......
  • 多路复用在HMI上的使用
    这里主要是利用多路复用在HMI上做到单页面切换IO变量的功能,对于系统中要显示的IO数量很多的时候适用。系统搭建:CPU1215+KTP900系列HMI方法如下:1.画面模板建立如下元素复选文本框状态指示器(小圆点)符号IO域如图:.在画面中我对输入和输出分别做了一组IO画面。.符号IO......
  • WPF新建viewModel实例化成员的注意事项
    不要用表达式体去初始化一个用做数据源(比如ItemSource)的引用类型成员。比如这种publicList<MainWindowItem>Items=>newList<MainWindowItem>(){newMainWindowItem{title="项目管理",icon="\ue613",type=typeof(项目管理Control),group="内部管理"},new......
  • 基于阿里云、七牛云、宝塔面板,从零开始用Halo搭建个人博客网站
    目录目录目录购买服务器环境要求硬件配置CPU内存磁盘网络软件环境JRE(JavaRuntimeEnvironment)MySQL(可选)Web服务器(可选)Wget(可选)VIM(可选)浏览器支持名词解释~(符号)运行包工作目录购买域名服务器安装配置远程连接阿里云网页连接Xshell程序连接博客安装进行Halo的安装准备正式安装Hal......
  • fatfs文件系统读取剩余空间实例解析
    一前记 文件系统读取剩余内存空间并显示是一个常用的功能。这个函数是:FRESULTf_getfree(constTCHAR*path,DWORD*nclst,FATFS**fatfs);/*Getnumberoffreeclustersonthedrive*/第一个入参是文件路径,第二个参数剩余空间的指针,第三个参数是文件名。二实例......