Modbus学习笔记(可分享测试代码)

本文详细介绍了Modbus通信协议,包括主从式串行异步半双工通信方式、报文帧结构、时间要求、数据模型、常用功能码、应答与错误检测机制以及错误代码说明。特别强调了RTU模式的数据位格式和无校验时的停止位设置,以及不同功能码的使用场景。最后提到,虽然没有提供代码,但读者可以向作者索取。
摘要由CSDN通过智能技术生成

Modbus学习笔记

 

 


 

一、Modbus通讯方式:主从式串行异步半双工通信

RTU模式的优点:较高的数据密度

RTU  模式每个字节 ( 11  位 )  的格式:

Bits per Byte:  1 起始位

8 数据位, 首先发送最低有效位

1 位作为奇偶校验

1 停止位

: 使用无校验要求 2 个停止位。(实际做的时候这点存在疑问Maybe一个)

二、报文帧

注:Modbus RTU 帧最大为 256 字节

三、时间要求

整个报文帧必须以连续的字符流(间隔时间<=t1.5字符)发送。如果两个字符之间的空闲间隔大于 1.5 个字符时间,则报文帧被认为不完整应该被接收节点丢弃。

注:时间要求t3.5t1.5

 

四、Modbus数据模型

MODBUS 以一系列具有不同特征表格上的数据模型为基础。四个基本表格为:

基本表格

对象类型

访问类型

内容

离散量输入

单个比特

只读

I/O 系统提供这种类型数据

线圈

单个比特

读写

通过应用程序改变这种类型数据

输入寄存器

16-比特字

只读

I/O 系统提供这种类型数据

保持寄存器

16-比特字

读写

通过应用程序改变这种类型数据

 

五、功能码

功能码

名称

功能

H01

读线圈状态

取输出开关量状态

H02

读输入状态

取输入开关量状态

H03

读保持寄存器

读一个或多个输出存储器值

H04

读取存储器

读一个或多个输入存储器值

H05

强制单线圈

强制一个输出开关量状态

H06

写保持存储器

把字写入一个输出存储器

H08

回传诊断校验

把诊断报告送从站

H0F

强制多线圈

强制一组连续输出开关量状态

H10

预置多存储器

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值