Modbus协议规范笔记

1、ADU(应用数据单元):地址域+功能码+数据+差错检验

RS232/RS485 ADU = 253 + 1(服务器地址) + 2(CRC) = 256

TCP MODBUS ADU = 249+7(MBAP) = 256 

2、PDU(协议数据单元,与基础通信层无关):功能码(1~255)+数据;

三种PDU:

mb_req_pdu = { function_code, request_data},其中
function_code - [1 个字节] MODBUS 功能码
request_data - [n 个字节],这个域与功能码有关,并且通常包括诸如可变参考、变量、数据偏移
量、子功能码等信息。

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 功能码 + 0x80
exception_code - [1 个字节],在下表中定义了 MODBUS 异常码。
 

3、主节点以两种方式向子节点发送Modbus请求:

*单播模式,在这种模式下,一个Modbus实物处理包含2个报文:一个来自主节点的请求,一个来自子节点的应答。

*广播模式,对于主节点广播的请求没有应答返回。广播请求一般用于写命令。所有设备必须接受广播模式的写功能。地址0是专门用于表示广播数据的。

4、Modbus主节点没有地址,只有子节点必须有一个地址,0为广播地址,1~47为子节点单独地址。

5、串行传输模式有RTU和ASCII两种模式。它定义了报文域的位内容在线路上的传送,所有设备必须实现RTU模式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值