Modbus通讯协议(比较好理解)

Modbus通讯协议(比较好理解)


2024年5月18日发(作者:)

Modbus通讯协议简化

V1.x 2008-11-22

1 Modbus协议概述

Modbus协议是主从站通讯协议,用异步串行口完成通讯,物理层采用RS485或RS232。

传输速率可以达到115kbps,理论上可接(寻址)一台主站和至多247台从站。受线路和设

备的限制,实际最多可接一台主站和32台从站。

Modbus协议的某些特性是固定的,如帧格式、帧顺序、通讯错误和异常情况的处理,

以及所执行的功能等,都不能随便改动。其他特性属于用户可选的,如传输介质、波特率、

字符奇偶校验、停止位的个数等等,传输模式为RTU。用户所选择的参数对于各个站必须

一致,在系统运行时不能改变。

1.1 Modbus协议传输模式

Modbus的传输模式:RTU方式。

特性

编码系统

每个字符的位数

表1-1 RTU传输模式的特性

RTU

起始位

数据位

奇偶校验位

停止位

校验和

1.2 帧

Modbus协议的帧(报文)格式:RTU帧。

下表是RTU传输模式的一般格式命令帧。

从站地址

8位

功能码

8位

数据

N*8位

校验和

16位

十六进制

1位

8位

0或1位

1或2位

CRC(循环冗余校验)

2 Modbus协议

2.1 通讯方式

Modbus有两种通讯方式:应答方式和广播方式。

应答方式是主站向某个从站(地址1~247)发出命令,然后等待从站的应答;从站接到

主站命令后,执行命令,并将执行结果返回给主站作为应答,然后等待下一个命令。

广播方式是主站向所有从站发送命令(从站地址为0),不需要等待从站应答;从站接

到广播命令后,执行命令,也不向主站应答。

除了会送诊断校验外,只有05、06、15、16这四项功能(见2.3节)对广播方式有效。

2.2 Modbus帧

Modbus的帧按应答方式分为命令帧(询问帧)和应答帧。命令帧为一般格式命令帧,

应答帧有显长度帧和隐长度帧之分,图2-1、2-3、2-4给出了典型的帧格式。

从站地

功能

高位

从站地址

从站地址

2.2.1 从站地址字段

功能码 数据 校验和

图2-4 隐长度应答帧

帧中的从站地址字段表示接收主站报文的从站地址。当从站地址字段为0时,表示所有

从站,此时的报文是广播报文。

用户必须设定每台从站的专用地址。只有被编址的设备才能对主机的命令(询问)做出

应答。从站发送应答报文时,报文中地址的作用是向主站报告正在通讯的是哪台从站。

2.2.2 功能码字段

功能码

数据长度

图2-3 显长度应答帧

数据 校验和

地位

数据

数据起始寄存器数据起始寄存器数据寄存器

高位

数据寄存器

地位

校验

图2-1 一般格式命令帧

功能码字段通知从站应执行何种功能。表2-1列出了功能码的意义和作用。2.3节给出

了各个功能码对应报文的详细格式和功能。

功能码

01

02

03

04

05

06

07

08

09

10

11

12

13

14

表2-1 Modbus功能码

名称 作用(对主站而言)

读取开出状态

读取开入状态

读取模出状态

读取模入状态

强制单路开出

强制单路模出

读取异常状态

回送诊断校验

编程

探询

读取事件计数

读取通讯事件记录

编程

探询

读取一组开关量输出的当前状态

读取一组开关量输入的当前状态

读取一组模拟量输出的当前状态

读取一组模拟量输入的当前状态

强制设定某个开关量输出的值

强制设定某个模拟量输出的值

取得从站的一些状态(8位)

把诊断校验报文送从站,以对通讯处理进行评鉴

主机模拟编程器的作用,修改从站逻辑

定期探询从站是否已完成某长程序任务

取得通讯状态和通讯事件的次数

取得通讯状态、事件次数、报文数量和至多64个事

主机模拟编程器的作用,修改从站逻辑

定期探询从站是否已完成某长程序任务


发布者:admin,转转请注明出处:http://www.yc00.com/web/1716031489a2709407.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信