Modbus简介

Modbus是一种1979年发布的串行通信协议,广泛应用于工业领域。它采用主/从架构,具有公开、易于部署和维护等优点,但也存在通信性能有限和安全性差的问题。常见的Modbus版本包括Modbus-RTU、Modbus-ASCII和Modbus-TCP。每个版本有不同的帧结构,如Modbus-RTU包含地址、功能码、数据和CRC校验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Modbus是什么

Modbus是一种串行通信协议,于1979年由Modicon公司发表。Modbus已成为工业领域通信协议的常用业界标准。

Mod是Modicon的缩写,bus即表示总线协议(bus protocol),合一起就是Modbus。

Modbus协议是一个master/slave(主/从)架构的协议。有一个节点是master节点(一般为上位机),其他的节点是slave节点(一般为下位机)。每一个slave设备都有一个唯一的地址。

Modbus优点:

1.完全公开发表并且无版权要求

2.对于各方来说,易于部署和维护

3.对供应商来说,修改移动本地的比特或字节没有很多限制

4.协议框架结构简单、简洁、易于理解。使用方便

Modbus缺点:

1.通讯性能较差,仅支持主从式通信

2.由于无认证、无权受限制管理、明文传输,使其安全差,处在很大的风险

3.每次读写,最多读写127个寄存器,由此大数据量通讯效率很低,寄存器数量较多的话,需要多次读写才能完成

Modbus协议版本,最常见的有下面三种:

Modbus-RTU

Modbus-ASCII

Modbus-TCP

Modbus-RTU帧结构

帧结构 = 地址 + 功能吗 + 数据 + CRC校验

地址功能码数据CRC校验
1字节1字节n字节2字节

地址域: 占用一个字节,范围0-255,其中有效范围是1-247,其他为特殊地址,如255广播地址;地址域用于给从机编号,而主机是没有地址的,从机的地址必须是唯一的;

功能码:占用一个字节,功能码定义帧是做什么的,比如查询从机的数据,或修改从机数据,所以不同功能码对应不同功能。

数据: 根据功能码不同,有不同内容结构。

校验: 占用两个字节,用来校验数据传输的正确性

Modbus-ASCII帧结构

帧结构 = 开始符(冒号) + 地址 + 功能吗 + 数据 + LRC校验 + 结束符(\r\n)

开始符地址功能码数据LRC校验结束符
1字节 :1字节1字节n字节1字节2字节 \r\n

Modbus-TCP帧结构

帧结构 = MBAP  + 功能吗 + 数据

MBAP功能码数据
事务处理标识符协议标识符长度地址
2字节2字节2字节1字节1字节n字节

MBAP: Modbus Application Protocol Header(Modbus应用协议) 头部;

事务处理标识符:报文的序列号,每帧数据通讯后加1,用来区分不同的通信数据报文

协议标识符: 用00 00来表示是Modbus TCP协议

长度: 用来表示后面数据的字节长度

地址: 从站地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值