文档介绍:Modbus 通讯协议简介 Modbus Modbus 通讯协议简介通讯协议简介一种工业上广泛使用的串行通信协议 MODBUS 概述 MODBUS MODBUS 概述概述 Modbus 协议是工业控制器网络协议中的一种,此协议定义了一个控制器能认识的消息结构, 描述了一个控制器请求访问其它设备、回应来自其它设备的请求以及侦测错误并记录的过程。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一种通用工业标准,可以将不同厂商生产的控制设备(例如:变频器,伺服驱动器,智能仪表,信号采集卡等)连成工业网络,进行集中监控。 MODBUS 组网图例 MODBUS MODBUS 组网图例组网图例 Modbus 主/从协议原理 Modbus Modbus 主主/ /从协议原理从协议原理 Modbus 串行链路协议是一个主-从协议。在同一时间,只能将一个主站连接到总线,将一个或多个从站(最大数量为 247 ) 连接到相同的串行总线。 Modbus 通讯总是由主站发起,当从站没有收到来自主站的请求时,将不会发送数据。主站同时只能启动一个 Modbus 事务处理,从站之间不能相互通信。 Modbus 主/从协议原理 Modbus Modbus 主主/ /从协议原理从协议原理主站用两种模式向从站发出 Modbus 请求,分别为单播模式和广播模式。?单播模式工作方式:由主站寻址单个从站,从站接收并处理完请求之后,向主站返回一个报文(一个应答)。在这种模式下,一个 Modbus 事务处理包含 2 个报文:一个是主站的请求,另一个是从站的应答。每个从站必须有唯一的地址( 1~ 247 ),这样才能区别于其它站而被独立地寻址。?广播模式工作方式:主站可以向所有的从站发送请求,对于主站广播的请求没有应答返回,广播请求必须是写命令,所有设备必须接收写功能的广播,地址 0 被保留用来识别广播通信。 Modbus 寻址原则 Modbus Modbus 寻址原则寻址原则 Modbus 寻址空间由 256 个不同地址组成。地址0为广播地址,所有从站必须识别广播地址。 Modbus 主站没有特定地址,只有从站有一个地址,在 Modbus 串行总线上,这个地址必须是唯一的。表 1 Modbus 寻址空间分配 0 1-247 248-255 广播地址从站某个地址保留地址 Require-Respond (请求-响应)周期 Require-Respond Require-Respond (请求(请求- -响应)周期响应)周期 Require-Respond (请求-响应)周期 Require-Respond Require-Respond (请求(请求- -响应)周期响应)周期(1)请求主设备查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如:功能代码 03 是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。(2)响应如果从设备产生一个正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据(例如寄存器值或状态)。如果有错误发生, 功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。传输模式( Modbus 的2种变种) 传输模式( 传输模式( Modbus Modbus 的的2 2种变种) 种变种) 控制器能设置为两种传输模式( ASCII 或 RTU )中的任何一种在标准的 Modbus 网络中进行通信。用户可以选择想要的模式,包括波特率、校验方式等串口通信参数,在配置每个控制器的时候,一个 Modbus 网络上的所有设备都必须选择相同的传输模式和串口参数。(1) ASCII 模式当控制器设为在 Modbus 网络上以 ASCII 模式通信时,在消息中的每个数据字节都转换为两个表示其 16 进制编码的 ASCII 字符发送。这种方式的主要优点是人工可读、字符发送的时间间隔可达到 1秒而不产生错误,缺点是表示方式冗长。(2) RTU 模式当控制器设为在 Modbus 网络上以 RTU (远程终端单元)模式通信时,在消息中的每个字节以 8个 bit 发送。这种方式的主要优点是: 在同样的波特率下,可比 ASCII 方式传送更多的数据。 Modbus 消息帧格式 Modbus Modbus 消息帧格式消息帧格式(1) ASCII 帧使用 ASCII 模式,消息以冒号’ : ’字符( ASCII 码 3AH ) 开始,以回车换行符结束(