Modbus协议

一、前言

为了方便理解和查阅本人所需的知识,在此做笔记。知识点来源书本与网络,如有侵权,联系删除。

二、定义

Modubs协议是应用应用于电子控制器上的一种通用语言。

三、数据传输

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。
如果单独通信,从设备返回一消息作为回应;
如果是以广播方式查询的,则不作任何回应;
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。

四、RTU模式

设备地址——功能代码——数据数量——数据——LRC低字节——LRC高字节
在消息中的每个8Bit字节包含两个4Bit的十六进制字符。

4.1 RTU消息帧

起始位 设备地址 功能代码 数据 CRC校验 结束符
T1-T2-T3-T4 8Bit 8Bit n个8Bit 16Bit T1-T2-T3-T4

4.2 功能码

Modbus的操作对象有四种:线圈、离散输入、保持寄存器、输入寄存器。

对象 含义
线圈 PLC的输出位,开关量,在Modbus中可读可写
离散输入 PLC的输入位,开关量,在Modbus中只读
输入寄存器 PLC中只能从模拟量输入端改变的寄存器,在Modbus中只读
保持寄存器 PLC中用于输出模拟量信号的寄存器,在Modbus中可读可写
功能码 含义 位操作/字操作 操作数量
0x01 读线圈寄存器 位操作 单个或多个
0x02 读离散输入寄存器 位操作 单个或多个
0x03 读保持寄存器 字操作 单个或多个
0x04 读输入寄存器 字操作 单个或多个
0x05 写单个线圈寄存器 位操作 单个
0x06 写单个保持寄存器 字操作 单个
0x0f 写多个线圈寄存器 位操作 多个
0x10 写多个保持寄存器 字操作 多个
posted @   「后进生」  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示