汇川CodeSysPLC教程03-2-14 与HMI通信

news2024/9/21 0:38:55

硬件连接

PLC与HMI连接采用何种连接方式,通常是参考双方支持哪些接口。PLC(可编程逻辑控制器)与HMI(人机界面)之间的通讯方式主要有以下几种:

  1. 串行通讯(Serial Communication)

    • 使用RS-232、RS-422或RS-485等串行通讯标准进行数据传输。
    • 通常用于短距离通讯,简单且成本低。
  2. 以太网通讯(Ethernet Communication)

    • 基于TCP/IP协议进行数据传输。
    • 支持长距离通讯,速度快且稳定。
    • 常用的协议有Modbus TCP、EtherNet/IP等。
  3. 现场总线通讯(Fieldbus Communication)

    • 专为工业控制系统设计的通讯协议,如Profibus、CANopen、DeviceNet等。
    • 适用于复杂的工业环境,具有高可靠性和实时性。
  4. 无线通讯(Wireless Communication)

    • 使用Wi-Fi、蓝牙、ZigBee等无线技术。
    • 适用于需要灵活布线或移动设备的场景。
  5. 光纤通讯(Fiber Optic Communication)

    • 使用光纤电缆进行数据传输,适用于长距离和高干扰环境。
    • 提供高带宽和高安全性。

这些通讯方式各有优缺点,具体选择取决于应用场景、通讯距离、数据传输速率以及成本等因素。
例如HMI支持串口、网口,PLC也支持串口、网口,那么PLC与HMI就都可以采用串口或者都采用网口来通信,有的低端的HMI只支持RS232串口,那么就务必注意PLC是否带此接口,选型上务必要注意PLC与HMI的通信接口的匹配和一致。当然现在一般的PLC和HMI都是支持网口的,所以这里我们默认硬件连接采用RJ-45网线直连HMI与PLC(直通网线或使用HUB交换)。

主要的通讯方法

ModBus TCP通信

配置

每一家的PLC都有自己独有的总线协议与HMI进行通讯,例如西门子使用的是Profinet,三菱采用的是MC协议,倍福采用的ADS通讯一样。汇川的PLC基于的通用的Modbus协议,一般的更为具体的是ModBus TCP协议。这里我们虽然没有具体阐述ModBus TCP协议,但是联想到ModBus RTU与ModBus ASCII协议,我们也能大概理解。HMI作为主站,PLC作为从站。这个地方尤其要注意,很多新手都会误以为PLC是作为主站存在的,我们需要思考一下,PLC大部分情况下都是作为主站,那是因为PLC拥有主动访问的行为,从HMI来看,人的行为透过HMI来主动访问PLC,那么PLC就不能再视为主站了。好的,如何将PLC设为从站呢?前面我们已经提到过,主从站设定。只需要勾选Modbus TCP从站即可。
在这里插入图片描述
在这里插入图片描述

这个地方需要留意的就是两点:

  1. 502端口,基本上做ModBus TCP从站的设备默认端口都是这个。那为什么就是502呢?(为了好记,你这么记,端口是用502胶水粘住的)

Modbus TCP从站的端口一般是502,原因如下:

  1. 标准化

    • Modbus TCP协议标准规定了502端口作为默认的通信端口。标准化的端口号简化了设备和系统之间的互操作性,确保不同制造商的设备能够顺利通信。
  2. 历史原因

    • Modbus协议最早是为串行通讯(Modbus RTU)设计的,后来被扩展为Modbus TCP。为了保持一致性,Modbus TCP在TCP/IP网络中指定了502端口,方便用户在不同通信方式之间切换。
  3. 协议定义

    • 根据Modbus TCP规范,502端口是为Modbus通信预留的标准端口号。这是由Modbus协议维护组织(Modbus-IDA)定义的,以确保协议的一致性和互操作性。
  4. 设备兼容性

    • 大多数Modbus TCP从站设备和主站软件默认配置为使用502端口,简化了系统配置和集成。使用标准端口号减少了用户配置错误的风险,提高了系统的可靠性。
  5. 防火墙和网络配置

    • 网络管理员和安全设备(如防火墙)通常会预先配置502端口用于Modbus通信。如果使用非标准端口,可能需要额外的配置和调整,增加了部署的复杂性。

综上所述,502端口作为Modbus TCP从站的默认端口是由于协议标准化、历史原因和设备兼容性等多方面的考虑,使得系统配置更加简便和可靠。

  1. 帧间隔,一般来说不需要关注,但是如果你发现PLC的CPU负载比较大的时候,增大帧间隔能比较有效的降低HMI访问PLC带来的通讯负载。
映射

设置完这些,HMI怎么访问PLC呢?当然是通过Modbus地址,在汇川当中,M区的地址与Modbus地址是一一映射的。
Modbus变量编址

标签通信

标签通讯(Tag Communication)是一种现代工业自动化中常用的通讯方式,尤其在PLC(可编程逻辑控制器)与HMI(人机界面)之间的通讯中。标签通讯通过使用人类可读的标签(Tag)名称来标识和传输数据,而不是通过具体的内存地址。以下是对标签通讯的详细解释:

标签通讯的特点

  1. 人类可读性

    • 使用描述性的名称(标签)来标识变量,例如"TankLevel"或"MotorSpeed"。
    • 这种命名方式更直观,易于理解和维护。
  2. 抽象化

    • 把底层硬件地址抽象为高层次的标签名称,用户无需关注具体的内存地址。
    • 提高了系统的灵活性和可移植性。
  3. 简化配置

    • 在HMI和PLC的配置中,可以直接引用标签名称,而不需要具体地址映射。
    • 减少了配置错误,提高了开发效率。

标签通讯的实现方式

  1. 标签数据库

    • PLC和HMI系统中通常包含一个标签数据库,存储所有标签及其对应的地址和数据类型。
    • 标签数据库在系统间共享,确保标签名称的一致性。
  2. 通讯协议

    • 标签通讯可以基于多种通讯协议实现,如Modbus、OPC UA、EtherNet/IP等。
    • 这些协议支持通过标签名称进行数据访问和传输。

标签通讯的优点

  1. 易于理解和维护

    • 使用描述性标签名称使程序和配置更具可读性,方便调试和维护。
  2. 减少错误

    • 由于不需要直接使用内存地址,减少了配置错误和地址冲突的可能性。
  3. 增强灵活性

    • 更换硬件或重新配置时,只需更新标签数据库,无需修改大量代码或配置。
  4. 提高开发效率

    • 标签通讯简化了开发过程,使开发人员能够更专注于应用逻辑,而不是底层通讯细节。

应用场景

  1. PLC与HMI之间的通讯

    • HMI通过标签访问PLC中的数据,实现人机交互和监控。
  2. 分布式控制系统

    • 在大型分布式控制系统中,通过标签实现不同控制单元之间的数据共享和协调。
  3. 数据采集与监控(SCADA)系统

    • SCADA系统通过标签通讯从多个现场设备收集数据,实现集中监控和管理。

标签通讯的出现大大提高了工业自动化系统的开发和维护效率,使系统更易于理解和管理。

关于如何进行标签通讯,需要先学习符号配置。这一块我们暂且先不提,等到符号配置时,我们再提。

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

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

相关文章

redis学习(007 实战:黑马点评:登录)

黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第25p-第p34的内容 文章目录 短信登录功能session 共享问题 短信登录功能 接口编写 这里是Result的封装 过滤器在拦截器的外层…

ISO/OSI七层模型

ISO:国际标准化/ OSI:开放系统互联 七层协议必背图 1.注意事项: 1.上三层是为用户服务的,下四层负责实际数据传输。 2.下四层的传输单位: 传输层; 数据段(报文) 网络层: 数据包(报…

【MATLAB源码-第232期】基于matlab的 (204,188) RS编码解码仿真,采用QPSK调制输出误码率曲线。

操作环境: MATLAB 2022a 1、算法描述 Reed-Solomon码(RS码)是一类广泛应用于数字通信和存储系统中的纠错码,尤其在光盘、卫星通信和QR码等领域有着重要作用。RS码是一种非二进制的纠删码,由Irving S. Reed和Gustave…

vue缓存页面,当tab切换时保留原有的查询条件

需求: 切换tab时,查询条件不变 路由页面: 单个页面上加这句话:

一文带你彻底搞懂什么是责任链模式!!

文章目录 什么是责任链模式?详细示例SpingMVC 中的责任链模式使用总结 什么是责任链模式? 在我们日常生活中,经常会出现一种场景:一个请求需要经过多个对象的处理才能得到最终的结果。比如,一个请假申请,需…

vue打包terser压缩去除控制台打印和断点

情况一: 1、vue-cli搭建 代码压缩工具terser在vue-cli里面是自动支持的,所以直接在vue.config.js里面加入下面配置: const {defineConfig} require(vue/cli-service) module.exportsdefineConfig({transpileDependencies:true,terser:{te…

火灾疏散逃生3d消防模拟演练教学系统助您轻松打造专业的消防培训基地

消防VR仿真教学系统将真实世界的消防挑战带入虚拟的训练环境,为您打造了一个前所未有的消防培训体验。在这里,您可以模拟现实中难以搭建的复杂场景,如工厂火灾、地下室逃生、人员密集场所的紧急疏散等。 深圳VR公司华锐视点研发的消防VR仿真教…

品牌文化五大维度,构建品牌竞争力的秘诀!

品牌文化对于企业的发展和成功至关重要。 品牌文化不仅是企业和消费者之间的纽带,也是企业内部员工的凝聚力。 在当今竞争激烈的市场环境中,建立一个有活力和影响力的品牌文化是每个企业都需要认真思考和实践的事情。 品牌文化的五大维度包括价值观、…

【PyTorch][chapter 26][李宏毅深度学习][attention-1]

前言: attention 在自然语言处理,声音处理里面是一个很重要的技巧. attention 要解决的是输入的向量长度不定. 根据输入输出的不同,分为三种场景: 输入N个向量,输出N个向量,这是本章的重点 输入N个向量,输出向量不定 输…

React setState

老生常谈之setState 是同步的还是异步的? 设想setState是同步的,那也就是每次调用setState都要进行新旧虚拟DOM的对比,然后将差异化的dom更新到页面上,性能损耗很大 所以react把setState设置为了异步,当状态更新时不…

pdf分割,这几款软件轻松搞定PDF拆分

在数字化办公日益普及的今天,PDF文件因其跨平台、不易修改的特性,成为了我们日常工作中不可或缺的一部分。然而,面对庞大的PDF文件,如何高效、准确地将其分割成多个小文件,以便更好地管理和使用,成为了许多…

utf8mb4和utf8的不同、若依框架,代码生成器,gitee,前端vue的下载、修复和启动(寻求大佬帮助若依框架三、2.3)

2024.7.9 一、数据库的排序和统一问题。utf8mb4和utf8的不同1.1 发现问题1.2 解决问题-在idea中用sql生成器,生成sql语句,然后在里面修改1.3 utf8和utf8mb4的区别 二、若依前后端框架。代码生成器(还没研究懂,但有三个方案&#x…

Java巅峰之路---基础篇---面向对象

目录 面向对象介绍 什么是面向对象编程? 为什么用面向对象编程? 面向对象的重点学习什么? 类和对象 介绍 类的定义 构造方法 作用 格式和特点、执行时机 构造方法注意事项 标准的JavaBean类 定义类的补充注意事项 封装 什么是封…

用Vue3和Plotly.js实现3D小提琴图的交互式可视化

本文由ScriptEcho平台提供技术支持 项目地址:传送门 小提琴图:绘制性别账单分布 应用场景 小提琴图是一种数据可视化工具,用于比较不同组别的分布。它结合了箱线图和核密度估计,可以直观地展示数据的中心趋势、离散度和分布形…

蚂蚁百灵大模型:多模态能力让大模型像人一样理解感知

7月5日,在2024世界人工智能大会“可信大模型助力产业创新发展”论坛上,蚂蚁集团公布其自研百灵大模型最新研发进展:百灵大模型已具备能“看”会“听”、能“说”会“画”的原生多模态能力,可以直接理解并训练音频、视频、图、文等…

【C++】C++入门基础--命名空间,缺省参数,函数重载

文章目录 前言一、C是什么?二、C发展历史C版本更新C参考文档 三、C基本语法1.第一个C程序2.命名空间2.1命名空间的价值2.2命名空间的定义2.3命名空间的使用 3.C的输入与输出4.缺省参数5.函数重载 总结 前言 在编程的浩瀚宇宙中,C犹如一颗璀璨的明星&…

MySQL手注之布尔型盲注详解

布尔型盲注简介 基于布尔型SQL盲注即在SQL注入过程中,应用程序仅仅返回True(页面)和False(页面)。 这时,我们无法根据应用程序的返回页面得到我们需要的数据库信息。但是可以通过构造逻辑判断(…

C++语言学习精简笔记(包含C++20特性)

目录 1 C新语法C与CC编译运行String编程范式C基础类型**自动类型推导**统一对象初始化:Uniform Initialization 控制结构if语句for语句switch语句namespace 2 函数函数声明形式参数函数参数传递的选择函数返回值的选择 函数重载 Lambda表达式函数的定义和申明生存期…

算法之工程化内容(2)—— Git常用命令

目录 1. git初始化配置 2. 新建仓库 3. 工作区——>暂存区——>本地仓库 4. git reset回退版本 5. 查看差异 git diff 6. 删除文件git rm 7. .gitignore 8. vscode操作git 9. git分支、合并和删除 10. 解决合并冲突 11. 回退和rebase 12. 添加远程仓库 参考链接&#xff…

6.824/6.5840 的Debugging by Pretty Printing配置

TA的原文在:Debugging by Pretty Printing (josejg.com) 为了在WSL2中配置好打印运行日志,我可是忙活了一下午。可恶的log配置 首先是安装rich库Textualize/rich: Rich is a Python library for rich text and beautiful formatting in the terminal. …