Modbus协议

1、简介:modbus协议是施耐德发明的一种专用于工业现场的总线协议。ModBus 网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专

用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。

总结:基于232/485物理层以上的数据协议。采用主从结构,主机可以访问总线上所有设备,丛机不可以主动和主机通信,丛机之间不可以通信。

 主机发送modbus数据-》从机

从机收到数据,应答--正确应答--功能码不一样,格式不一样。设备号+功能码+数据+CRC校验

                                  错误应答--设备码+差错码+异常码+CRC校验

                                 差错码--0X80+功能

                                  异常码--01,02,03,04

数据具体格式:RTU,ASCII

数据具体格式:

2、modbus协议概述

按照7层OSI通信模型,modbus标准包括应用层、数据链路层(串行链路协议)、物理层。

                              

 

Modbus 串行链路协议是一个主/从协议。该协议位于 OSI 模型的第二层。一个主从类型的系统有一个向某个“子”节点发出显式命令并处理响应的节点(主节点)。典型的子节
点在没有收到主节点的请求时并不主动发送数据,也不与其它子节点通信
。在物理层,Modbus 串行链路系统可以使用不同的物理接口(RS485、RS232)。最常用的是TIA/EIA-485 (RS485) 两线制接口。

3、Modbus  主 站/ / 从 站 协 议 原 理
Modbus 串行链路协议是一个主-从协议。在同一时刻,只有一个主节点连接于总线,一个或多个子
节点 (最大编号为 247 ) 连接于同一个串行总线。Modbus 通信总是由主节点发起。子节点在没有收到
来自主节点的请求时,从不会发送数据。子节点之间从不会互相通信。主节点在同一时刻只会发起一个
Modbus 事务处理。
主节点以两种模式对子节点发出 Modbus 请求:
 单播模式
主节点以特定地址访问某个子节点,子节点接到并处理完请求后,子节点向主节点返回一个报文(一个
'应答')。在这种模式,一个 Modbus 事务处理包含 2 个报文:一个来自主节点的请求,一个来自子节
点的应答。
每个子节点必须有唯一的地址 (1 到 247),这样才能区别于其它节点被独立的寻址。
  广播模式
主节点向所有的子节点发送请求。对于主节点广播的请求没有应答返回。广播请求一般用于写命令。
所有设备必须接受广播模式的写功能。地址 0 是专门用于表示广播数据的。

0--广播地址

1~247子节点单独地址

248~55保留地址,给某些大厂使用,如IDM、NXP

Modbus 主节点没有地址,只有子节点必须有一个地址。 该地址必须在 Modbus 串行总线上唯一。

4、Modbus 协议数据单元(PDU)

发起 Modbus 事务处理的客户端构造 Modbus PDU,然后添加附加的域以构造通信 PDU。

  在 Modbus 串行链路,地址域只含有子节点地址。
如前文所述,合法的子节点地址为十进制 0 – 247。 每个子设备被赋予 1 – 247 范围中的地址。
主节点通过将子节点的地址放到报文的地址域对子节点寻址。当子节点返回应答时,它将自己的地址放到
应答报文的地址域以让主节点知道哪个子节点在回答。
  功能码指明服务器要执行的动作。功能码后面可跟有表示含有请求和响应参数的数据域。
  错误检验域是对报文内容执行 "冗余校验" 的计算结果。根据不同的传输模式 (RTU or ASCII) 使用
两种不同的计算方法。

5、两种串行传输模式被定义: RTU 模式 和 ASCII 模式。

它定义了报文域的位内容在线路上串行的传送。它确定了信息如何打包为报文和解码。
Modbus 串行链路上所有设备的传输模式 (和串行口参数) 必须相同。

尽管在特定的领域 ASCII 模式是要求的,但达到 Modbus 设备之间的互操作性只有每个设备都有
相同的模式: 所有设备必须实现 RTU 模式。ASCII 传输模式是选项。

当设备使用 RTU (Remote Terminal Unit) 模式在 Modbus 串行链路通信,报文中每个 8 位字节含
有两个 4 位十六进制字符。这种模式的主要优点是较高的数据密度,在相同的波特率下比 ASCII 模式有更
高的吞吐率。每个报文必须以连续的字符流传送。

RTU 模式每个字节 ( 11 位 ) 的格式为 :1+8+1+1,1 起始位、8 数据位, 首先发送最低有效位。1 位作为奇偶校验、1 停止位。

偶校验是要求的, 其它模式 ( 奇校验, 无校验 ) 也可以使用。 为了保证与其它产品的最大兼容性,
同时支持无校验模式是建议的。默认校验模式模式 必须为偶校验。注 : 使用无校验要求 2 个停止位,如果无奇偶校验,将传送一个附加的停止位以填充
字符帧。

               

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值