五、Modbus协议在串行链路上的实现指南

文章目录
【五、Modbus协议在串行链路上的实现指南】一、简介
是 OSI 模型第 7 层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备 。
是一个请求/应答协议,并且提供功能码规定的服务 。功能码是 请求/应答 PDU 的元素 。之间提供客户机/服务器通信 。
协议定义了一个与基础通信层无关的简单协议数据单元(PDU) 。特定总线或网络上 的协议映射能够在应用数据单元(ADU)上引入一些附加域 。
二、类型三、缩略语四、规范
4.1 协议定义了三种PDU:
定义 mb_req_pdu 为: mb_req_pdu = { function_code, request_data},其中function_code --- [1 个字节] MODBUS 功能码request_data --- [n 个字节],这个域与功能码有关 , 并且通常包括诸如可变参考、变量、数据偏移量、子功能码等信息 。定义 mb_rsp_pdu 为:mb_rsp_pdu = { function_code, response_ data} , 其中function_code --- [1 个字节] MODBUS 功能码response_data --- [n 个字节] , 这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏 移量、子功能码等信息 。定义 mb_excep_rsp_pdu 为:mb_excep_rsp_pdu = { function_code, request_data},其中function_code --- [1 个字节] MODBUS 功能码 + 0x80exception_code --- [1 个字节],在下表中定义了 MODBUS 异常码 。
4.2 数据编码
寄存器大小值16bits0x1234 发送的第一字节为 0x12 然后 0x34
4.3 数据模型
协议中的线圈、寄存器等的解释
输入与输出之间以及比特寻址的和字寻址的数据项之间的区别并没有暗示任何应用操作 。
4.事务处理的定义
服务器侧事务处理的一般处理过程
一旦服务器处理请求 , 使用合适的服务器事务建立响应 。
根据处理结果,可以建立两种类型响应:一个异常响应(参见第 6.14 节):

五、Modbus协议在串行链路上的实现指南

文章插图
4.5 功能码分类
五、协议在串行链路上的实现指南
**5.1 协议概述**Modbus 标准定义了 OSI 模型第 7 层上的应用层报文传输协议 , 它在连接至不同类型总线或网络 的设备之间提供客户机/服务器通信 。它还将串行链路上的协议标准化,以便在一个主站和一个或多 个从站之间交换 Modbus 请求 。
Modbus 串行链路协议是一个主/从协议 。该协议位于 OSI 模 型的第二层 。
在 Modbus 串行链路上客户机的功能由主节点提供而服务器功能由子节点 实现

5.2主站/从站协议原理
串行链路协议是一个主-从协议 。在同一时刻 , 只有一个主节点连接于总线,一个或多个子节点 (最大编号为 247 ) 连接于同一个串行总线 。通信总是由主节点发起 。子节点在没 有收到来自主节点的请求时,从不会发送数据 。子节点之间从不会互相通信 。主节点在同一时刻只 会发起一个事务处理 。
主节点以两种模式对子节点发出请求:
5.3电气接口
长度
主干电缆端到端的长度必须有限制 。其长度由波特率,电缆(规格 , 电容或特征阻抗),菊花链上的负载数 , 以及网络配置(2 线或 4 线制)所决定 。
分支必须短,不能超过 20m。如果使用 n 分支的多口接头,每个分支最大长度必须限制为 40m 除 以 n 。