0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ModBus RTU、ASCII、TCP,选哪种模式更好?

亿佰特物联网应用专家 2023-01-14 10:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ModBus是一种通信协议,用于连接自动化设备(如PLC、温度控制器等)和计算机。它被广泛应用于工业控制系统,支持多种通信方式,包括ModBus RTU、ModBus ASCII和ModBus TCP等。本文将主要解释这三种通信方式的区别和应用场景。

所有ModBus协议的基本结构

无论变体如何,所有标准ModBus通信都遵循相同的消息传递结构。一切都围绕着将值存储在寄存器中然后读取它们。这里有几种数据类型在起作用。例如,离散输入可以存储为单个位。更广泛地说,输入寄存器存储基于 ModBus 的设备收集的值。将多个分立器件存储为单个位,而模拟值甚至 ASCII 字符可能存储在 8 位寄存器中(最低有效位为 0 位,最高有效位为 64 位)。不同类型的寄存器按用于轮询它们的功能代码进行分类。功能代码字段中的“1”用于“读取线圈”(检查控制继电器的状态)。“2”表示“读取离散输入”(检查离散输入的状态)。“3”是“读保持寄存器”(从多用途读/写寄存器收集数据)。ModBus 规范中还有更多。寄存器由其“起始地址”请求,起始地址是一个 16 位值,用于唯一标识设备中的每个寄存器。对RTU或其他设备的主控请求将始终引用要报告的所需寄存器。3f2e58ce-92a8-11ed-ad0d-dac502259ad0.png

3f371126-92a8-11ed-ad0d-dac502259ad0.png

ModBus RTU

ModBus RTU(Remote Terminal Unit)是ModBus协议最常见的实现方式,采用二进制数据传输,具有较高的传输效率和稳定性。它使用串行通信,支持RS232RS485两种接口。在RTU模式下,每个字节可以传输两位十六进制字符。比如0xAB会直接以十六进制0xAB(二进制10101011)进行发送。其消息帧格式由以下部分组成:
3f3cbcfc-92a8-11ed-ad0d-dac502259ad0.pngRTU模式采用16 位CRC校验,后续的命令/数据带有循环冗余校验的校验和。RTU模式比较常用,而ASCII一般很少用。

3f371126-92a8-11ed-ad0d-dac502259ad0.png

ModBus TCP

ModBus TCP(Transmission Control Protocol)是ModBus协议的一种扩展,它使用TCP/IP协议进行通信,可以在局域网(LAN)和广域网(WAN)之间传输数据。ModBus TCP支持多种网络设备,包括计算机、服务器、交换机、路由器等。它适用于远程监控和控制,常用于工业网络和物联网应用。该协议的物理层、数据链路层、网络层、传输层都是基于TCP协议,它只是在应用层将ModBus协议封装进去。然后接收端将该TCP数据包拆包后,重新获得原始ModBus帧,然后按照ModBus协议规范进行解析,并将要返回的数据包重新封装到TCP协议中,发回至发送端。与串行通信的传输格式不同,TCP模式去除了附加地址和校验,增加报文头,如下图所示。
3f4f27de-92a8-11ed-ad0d-dac502259ad0.png通过以太网传输时使用TCP模式,不使用校验,因为TCP协议是一个面向连接的可靠协议。ModBus RTU和ModBus TCP作为ModBus协议的两个主要变体,传统上,ModBus RTU(需要将信息传送回ModBus主站或SCADA HMI的RTU)被许多不同类型的设备使用。ModBus RTU通常通过RS485串行发送。这种菊花链通信通道允许多个设备在主从配置中向单个HMI端口报告。每个从设备都能够通过向主设备发送流量来说话。这使得ModBus网络结构保持相当简单。

3f371126-92a8-11ed-ad0d-dac502259ad0.png

ModBus ASCII

ModBus ASCII(American Standard Code for Information Interchange)采用ASCII码传输文本信息,每个8Bit 字节都作为两个ASCII字符发送。相对ModBus RTU而言,它的传输效率较低,但具有更好的可读性。ModBus ASCII也使用串行通信,并支持RS232和RS485两种接口,适用于短距离通信。在ASCII模式下,每个8位的字节拆分为两个ASCII字符进行发送,消息帧以英文冒号“:”开始,以回车和换行(CRLF)符号结束。例如十六进制数0xAB,会被分解成ASCII字符“A”和“B”进行发送。
3f5c6ef8-92a8-11ed-ad0d-dac502259ad0.pngASCII模式允许两个字符之间长达1s的间隔时间而不引发通信故障,ASCII格式采用纵向冗余校验(LRC)的校验和。3f371126-92a8-11ed-ad0d-dac502259ad0.png

三者的区别

ModBus RTU和ModBus TCP的主要区别在于ModBus RTU使用菊花链网络,因此可以通过两条线连接整个网络,并通过为每个节点提供唯一的地址来与每个设备进行通信。ModBus TCP使用星形网络,其中每个节点都有一条称为Cat 5或Cat 6的单独电缆。它们可以使用路由器连接。它们还带有网络上每个节点唯一的个人地址。地址可以是 1 到 255,这意味着理论上,我们可以在同一网络上拥有 254 台设备。也可以通过互联网使用ModBus TCP。在ModBus RTU和ModBus ASCII中,通信是通过串行接口进行的,这意味着它们只能在较短的距离内进行通信。因此,如果需要在较远的距离进行通信,则需要使用ModBus TCP。另一方面,ModBus RTU和ModBus ASCII使用二进制和ASCII码分别进行数据传输,因此它们的传输效率和可读性存在差异。在选择ModBus通信方式时,需要考虑多种因素,包括通信距离、传输效率和可读性。对于短距离通信,ModBus RTU和ModBus ASCII均可作为选择。如果需要更高的传输效率,则可以选择ModBus RTU;如果需要更好的可读性,则可以选择ModBus ASCII。对于远距离通信,则只能使用ModBus TCP。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • MODBUS
    +关注

    关注

    28

    文章

    2387

    浏览量

    82273
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1418

    浏览量

    83019
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    西门子200 SMART与台达DVP PLC通讯:工业自动化Modbus RTUModbus TCP 方案

    在工业自动化领域的食品饮料无菌酸奶灌装生产线中,某企业采用西门子 200 SMART PLC(Modbus RTU 协议)负责酸奶原料的杀菌温控、均质压力调节,搭配台达 DVP PLC(Modbus
    的头像 发表于 11-22 11:04 3970次阅读
    西门子200 SMART与台达DVP PLC通讯:工业自动化<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> 转<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 方案

    生物疫苗生产精度保障依托总线协议的Modbus TCPRTU案例

    在工业自动化领域的生物疫苗生产车间中,某企业采用威纶通 HMI(Modbus RTU 协议)负责发酵罐、纯化设备的实时操作监控与参数设定,搭配罗克韦尔 Micro800 系列 PLC(Modbus
    的头像 发表于 11-14 15:14 311次阅读
    生物疫苗生产精度保障依托总线协议的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 转 <b class='flag-5'>RTU</b>案例

    智能物流立体仓库通讯困境:基于协议转换的Modbus TCPModbus RTU解决方案

    在工业自动化领域的智能物流自动化立体仓库中,塔讯 TX 131-RE-RS/TCP在某企业采用研华工控机(Modbus RTU 协议)负责仓储管理系统(WMS)的订单下发、库存统计,搭配三菱 Q 系列 PLC(
    的头像 发表于 11-08 11:25 137次阅读
    智能物流立体仓库通讯困境:基于协议转换的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>解决方案

    光伏逆变器上料-测试协同依托数据采集的Modbus TCPModbus RTU协议应用案例

    在工业自动化领域的新能源光伏逆变器组装测试产线中,某企业采用西门子 200 PLC(Modbus RTU 协议)负责逆变器模块的精密上料控制,搭配西门子 S7-1200 PLC(Modbus
    的头像 发表于 11-06 23:01 572次阅读
    光伏逆变器上料-测试协同依托数据采集的<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>协议应用案例

    Modbus TCPRTU协议详解:网关采集如何

    深控网关如何工作: 我们的高端系列网关具备多串口 + 网口的配置,可以同时接入RS-485总线上的RTU设备和网络上的TCP设备。网关作为一个数据汇聚点,将不同协议的数据统一采集、处理,并转换成标准协议(如MQTT、OPC UA)上传,实现“一网通管”。
    的头像 发表于 11-04 10:34 86次阅读

    DLT698转Modbus RTU-TCP网关

    深圳振鑫通信科技公司生产得ZP-DLT698-RTU系列模块是把DLT698转Modbus RTU/TCP模块是一个通信协议转换网关(或称为协议转换器)。它的核心作用是充当“翻译官”,
    的头像 发表于 09-20 15:43 677次阅读
    DLT698转<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU-TCP</b>网关

    开脑洞,Modbus为什么叫Modbus

    Modbus 协议为什么叫这个名字?本文带你回到 1979 年,揭秘 Modbus 名字的由来,梳理其从 RTUASCIITCP
    的头像 发表于 08-22 11:13 1123次阅读

    工业场景下塔讯 Modbus RTUModbus TCP 网关实现横河流量计与 WinCC 数据交互案例

    米)、组网复杂、无法直接接入以太网等问题。Modbus RTUModbus TCP协议 塔讯TX 131-RE-RS/TCP-2C网关通过
    的头像 发表于 08-19 15:16 630次阅读
    工业场景下塔讯 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 网关实现横河流量计与 WinCC 数据交互案例

    塔讯 Modbus RTUModbus TCP 在污水处理厂 PLC 数据采集中的配置案例

    水处理厂中有多种支持 Modbus RTU 协议的设备,如水质分析仪表、流量计、液位计等,为了实现这些设备与上位机系统(采用 Modbus TCP 协议)的通信,以便集中监控和管理,需
    的头像 发表于 08-18 15:20 506次阅读
    塔讯 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 在污水处理厂 PLC  数据采集中的配置案例

    Modbus TCPModbus RTU电脑端 TCP 与西门子 V20 变频器的通信案例

    在工业自动化控制系统中,经常需要实现不同设备之间的通信与数据交互。本案例旨在展示如何通过 Modbus 协议,将电脑作为主站(Modbus TCP)与多台西门子变频器 V20(Modbus
    的头像 发表于 07-27 17:19 606次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 转 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>电脑端 <b class='flag-5'>TCP</b> 与西门子 V20 变频器的通信案例

    一触即达:CCLink IE遇见Modbus RTU,解锁智能电表“数据超车道”

    ~0x08),定义寄存器映射表 通过网关内置的协议解析引擎,将CCLINKIE的二进制帧转换为符合Modbus RTU标准的ASCII码帧 设置数据刷新周期(如200ms/次),确保实时性满足工艺需求
    发表于 06-23 13:59

    E+H流量计与Profibus DP主站转Modbus RTU/TCP网关通讯

    通过使用XD-MDPBM20网关设备,我们可以实现E+H流量计与Profibus DP主站之间的通信,并将其转换为Modbus RTU/TCP格式。这为我们提供了一种简便、高效的解决方案,满足了不同设备之间通信的需求,推动了工业
    的头像 发表于 05-12 13:28 394次阅读
    E+H流量计与Profibus DP主站转<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>/<b class='flag-5'>TCP</b>网关通讯

    基于RK3576开发板的modbus通讯

    MODBUS是一种广泛应用于工业自动化领域的通信协议,支持主从架构,适用于串口、以太网等多种网络环境。其主要版本包括RTUASCIITCP,其中
    的头像 发表于 05-10 14:18 1049次阅读
    基于RK3576开发板的<b class='flag-5'>modbus</b>通讯

    Modbus TCPModbus RTU网关连接组态王的5大技巧!

    Modbus RTU网关(XD-ETH20)便成为了解决这一难题的关键工具。本文将详细解析兴达易控Modbus TCPModbus
    的头像 发表于 03-16 16:11 884次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>转<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>网关连接组态王的5大技巧!

    Modbus TCPRTU:轻松转换指南!

    在现代工业自动化领域,Modbus TCPModbus RTU两种通信协议因其高效、稳定的特点被广泛应用。然而,随着技术的发展和设备升级的需求,经常会遇到需要将这两种协议进行互相转换
    的头像 发表于 03-14 15:21 1316次阅读
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 到 <b class='flag-5'>RTU</b>:轻松转换指南!