首页 > 其他分享 >多路复用在HMI上的使用

多路复用在HMI上的使用

时间:2024-04-14 12:22:06浏览次数:17  
标签:变量 多路复用 列表 HMI IO 使用 文本

这里主要是利用多路复用在HMI上做到单页面切换IO变量的功能,对于系统中要显示的IO数量很多的时候适用。
系统搭建:CPU1215+KTP900系列HMI
方法如下:
1. 画面模板
建立如下元素

  • 复选文本框
  • 状态指示器(小圆点)
  • 符号IO域
    如图:

.在画面中我对输入和输出分别做了一组IO画面。
.符号IO域显示的默认文本来自文本列表
.此处有16路输入(IW)和16路输出(QW);对应了总共32个小圆点和32个符号IO域。

2. 文本列表的建立
在文本列表中,需要新建的文本列表一共4组,分别对应输入复选框,输入IO显示;输出复选框,输出IO显示。

  • 输入输出文本列表框如下:

问:为什么值是0,2,4,6,8..?
.答:(因为我是用的IW显示的,一个word占用了两个字节)。
.又问:为什么这个值就一定是连续的,它不可以是随心所欲的吗?(毕竟我的注释内容里的地址就不连续)
.答:看到后面就知道了,后面会解释。

  • 输入输出注释文本列表如下:


    这里需要把你的符号表的注释全部导入过来,换句话说,只要你的符号表写的够详细和完整,这里就只是Ctrl+C/Ctrl+V的事。
    3. 建立HMI变量
  • 为你之前建立的符号IO域分配相应的变量

.16组input16组output对应了最开始画面里面橘黄色的文本所使用的变量。

  • 建立地址变量以及多路复用变量

.要把访问模式改成<绝对访问>,符号访问是用不了多路复用的。
.有心人或许会发现,我这里用的是DB而不是直接用的IW/QW。这是因为IW/QW在实际工程中可能不是连续增长的(比如0,2,4,6,8,10..)。毕竟你接到的祖传代码中IO地址可能是放飞自我的,这就需要你多做一步工作,就是把IO全部按照你想要的规则映射(说成序列化也行)到你的DB地址中,然后注释依旧按照实际的IO地址去注释。

4.变量计算方法
我们都知道,在PLC中,一个byte是8个bit。一个word是2个byte。

  • 复选文本框的变量连接:

.uint类型的I_Address和Q_Addres分别连接到输入和输出的文本列表(就是0,2,4,6,8..连续变化那个)

  • I_Address和Q_Addres的变量线性缩放:
    Y = aX + b

.Y表示in/out文本(橘色那个)
.X表示 I_Address或Q_Addres
.b表示bit。

缩放截图如下:

.这个缩放主要是为了把地址映射给文本注释(细节:你发现变量的注释文本列表下标是0123456的顺序增长的了吗?)
.uint类型占16个bit,所以你的线性缩放一共16次,当b=15的时候就可以了。

5.连接变量
在画面中,需要把你的元素和对应的变量连接起来。

  • 文本复选框变量连接

.这个就不讲了,上面刚讲完

  • 符号IO域的变量连接

.文本内容来自文本列表
.变量值是刚刚上面的线性缩放计算出来的
.QW同理,只是input变成output

  • 小圆点指示器的变量连接

.输入引用I_Adderss,输出引用Q_Adderss
.单个位,注意我为什么I0.0是从8开始的。这里涉及到大端模式和小端模式的概念,具体概念可以百度解释。
.西门子PLC采用大端模式,仅字节调换,位的顺序不变。

  • 总结
    由上,这就是多路复用在HMI上的一种用法,当然也有一些其他用法,但是万变不离其宗。好像在博图V19之后,在PLC内部也可以使用IO做多路复用了(未求证,不保真...)

标签:变量,多路复用,列表,HMI,IO,使用,文本
From: https://www.cnblogs.com/xiacuncun/p/18133987

相关文章

  • v-bind的使用
    v-bind是为html元素绑定属性缩写: html的元素可以有原生属性和自定义属性,每个dom元素的原生属性可以自己上网查找v-bind的三个修饰符的作用: 在下面的代码中,使用了ref声明了dom元素的名称,id为该div元素的原生属性,data是使用了v-bind简写的方式,在divDom上声明了data的自定......
  • Windows 程序包管理器 Chocolatey 的使用
    Windows程序包管理器Chocolatey的使用Chocolatey是一个Windows平台上的软件包管理工具,类似于Linux上的apt、yum或者macOS上的Homebrew。它允许用户通过命令行快速安装、更新和卸载软件包。Chocolatey官网Chocolatey的安装、更新和卸载1.安装Chocolateycmd......
  • 使用java client连接ES7.17.20时报错:Caused by: java.lang.NoClassDefFoundError: Cou
    1.报错详情Causedby:java.lang.NoClassDefFoundError:Couldnotinitializeclasscom.fasterxml.jackson.databind.cfg.DatatypeFeatures$DefaultHolder atcom.fasterxml.jackson.databind.cfg.DatatypeFeatures.defaultFeatures(DatatypeFeatures.java:33)~[jackson-data......
  • 小小逻辑判断符的错误使用,资损几万块
    分享是最有效的学习方式。博客:https://blog.ktdaddy.com/故事这是一个真实事件,三年前老猫负责公司的支付资产业务。为了响应上级号召,加强国央企之间的合作,公司新谈了一个支付对接的渠道(当然这个支付渠道其实很冷门的,也是为了对接而对接,具体哪个渠道也不方便透露),由于原始支付......
  • 通达信条件预警使用教程(引用选股公式盘中实时监控)
    步骤汇总:第1步:设置预警范围第2步:设置选股公式(预警公式)第3步:运行效果以下是详细步骤:第一步:设置预警范围 单击通达信右下角条件预警图标,单击设置,设置已有公式,过程如下:  注意事项:预警对电脑配置要求高,低配置的电脑不宜监控太多目标,建议只监控备选,此处我选择的是我之前......
  • Misans global字体在vue中如何使用
    一、字体下载字体官网链接:https://hyperos.mi.com/font/zh/download/下载之后如下所示:解压之后如下所示:我们只需要提取其中一部分文件即可其中MiSans目录下只需要MiSansVF.tff文件_MACOSX目录下需要二、使用步骤1、将Misansglobal字体文件添加到项目中。可以将字体......
  • split(),slice(),splice(),join()使用方法
    比如一个例子:有一个字符串:pdf,jpg,png,jpge,doc,docx,xls,xlsx,ppt,pptx,rar,zip把它修改成以逗号连接的扩展名字符串,方法如下:varaccept="pdf,jpg,png,jpge,doc,docx,xls,xlsx,ppt,pptx,rar,zip";varnewStr="."+accept.toLowerCase().split(",").join(",.")......
  • 在Linux中,如何使用脚本进行系统配置和部署?
    在Linux中,使用脚本进行系统配置和部署是一种自动化和标准化环境设置的有效方法。脚本可以简化复杂的安装和配置过程,确保在多个系统或环境中的一致性。以下是使用脚本进行系统配置和部署的一般步骤:1.规划和设计在编写脚本之前,规划你需要执行的任务和步骤。确定脚本需要完成的功......
  • 在Linux中,如何使用LVM管理逻辑卷?
    在Linux中,逻辑卷管理(LVM)是一种灵活的磁盘管理方法,它允许你创建、调整和移动逻辑卷,而无需中断服务。LVM提供了对物理存储资源的抽象层,使得管理大型存储解决方案变得更加容易。以下是使用LVM管理逻辑卷的基本步骤:1.安装LVM工具首先,确保你的系统已经安装了LVM工具,包括lvm2和device......
  • vscode使用gdb插件调试二进制文件
    使用vscode访问虚拟机里面的代码。代码是在虚拟机的xshell编译的(必须的debug模式)。现在可以通过在vscode下面安装gdb插件。然后就可以在vscode下面使用gdb来启动这个二进制文件了,还可以在vscode里面,在函数上面打断点。 在vscode左侧栏,点击debug,可以创建launch.json文件。......