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条)