Modbus

1.调试工具

VSPD虚拟串口、Modbus主机仿真器、Modbus从设备仿真器

Modbus Poll、Modbus Slave 配置串口参数后,connect成功即可收发

2.Modbus协议

缩略语

ADU 应用数据单元
HDLC 高级数据链路控制
HMI 人机界面
IETF 因特网工程工作组
I/O 输入/输出设备
IP 互连网协议
MAC 介质访问控制
MB MODBUS 协议
MBAP MODBUS 协议
PDU 协议数据单元
PLC 可编程逻辑控制器
TCP 传输控制协议

Modbus报文(帧)

地址域:从机地址
功能码:决定执行哪种操作,一个字节,有效码字范围是1-255
数据:
差错校验:CRC、LRC

Modbus数据类型:

功能码:

3.Modbus协议在Serial Port上的实现

3.1数据链路层

  • Modbus 串行链路协议是一个主-从协议。 在同一时刻,只有一个主节点连接于总线,一个或多个子节点 (最大编号为 247 ) 连接于同一个串行总线。Modbus 通信总是由主节点发起。子节点在没有收到来自主节点的请求时,从不会发送数据。子节点之间从不会互相通信。主节点在同一时刻只会发起一个 Modbus 事务处理。
  • 主节点以两种模式对子节点发出 Modbus 请求:
    • 单播模式、广播模式
  • 两种串行传输模式
    • RTU传输模式
    • ASCII传输模式

3.1.1RTU传输模式:

  • RTU报文帧
    • RTU帧最大为256字节
    • 报文帧由3.5个字符时间的空闲间隔区分,即t3.5
    • 在 RTU 模式, 当没有活动的传输的时间间隔达 3.5 个字符长时,通信链路被认为在 “空闲”态。
    • 当链路空闲时, 在链路上检测到的任何传输的字符被识别为帧起始。 链路变为 "活动" 状态。然后, 当链路上没有字符传输的时间间个达到 t3.5 后,被识别为帧结束。
       

3.1.2ASCII传输模式

        由发送设备将 Modbus 报文构造为带有已知起始和结束标记的帧。这使设备可以在报文的开始接收新帧,并且知道何时报文结束。

  • ASCII报文帧
    • Modbus ASCII 帧的最大尺寸为 513 个字符​​
    • 在 ASCII 模式, 报文用特殊的字符区分帧起始和帧结束。一个报文必须以一个‘冒号’ ( : )(ASCII 十六进制 3A )起始,以 ‘回车-换行’ (CR LF) 对 (ASCII 十六进制 0D 和 0A) 结束
    • 对于所有的域,允许传送的字符为十六进制 0–9, A–F (ASCII 编码)。 设备连续的监视总线上的 ‘冒号’ 字符。 当收到这个字符后,每个设备解码后续的字符一直到帧结束。
       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值