Modbus RTU协议分析


基于485总线的modbus读卡器, YW-630MA YW-631MA,使用modbus rtu协议。RS485是一种半双工总线,我们必须了解modbus协议,这样在项目中更容易分析问题和解决问题。

MODBUS协议支持多种功能码,不同的功能码有不同的功能

功能码功能
0x01读线圈状态
0x02读离散输入状态
0x03读保持寄存器
0x04读输入寄存器
0x05写单个线圈
0x06写单个保持寄存器
0x0F写多个线圈
0x10写多个保持寄存器

我们主要使用的功能码是0x03,0x06和0x10

一、功能码0x03,读保持寄存器,读外部寄存器

YW-630MA和YW-631MA用于读的功码就是0x03,PLC发送的数据帧:

从站地址功能码起始地址(高位)起始地址(低位)数量(高位)数量(低位)校验码(低位)校验码(高位)
0x010x030x000x040x000x04CRCLCRCH

从站地址:Modbus读卡器的站地址,YW-630MA和YW-631MA默认地址都是1.
功能码: 0x03,读寄存器
起始地址: 2个字节,如40004,实际地址是4,高位是0,低位是4.
寄存器数量: 需要读取的寄存器的数量,读卡号一般2个字节,有部分需要读4个字节,这里4个字节为例,所以是4,高位是0,地位是4.
CRC: CRC校验是标准算法,PLC里自动计算,所以不用考虑。

YW-630MA和YW-631MA收到PLC发送的03指令后,回复的数据帧:

从站地址功能码字节数数据1(高位)数据1(低位)数据n(高低位)校验码(低位)校验码(高位)
0x010x030x080x930xAE...CRCLCRCH

从站地址:Modbus读卡器的站地址,YW-630MA和YW-631MA默认地址都是1.
功能码: 0x03,读寄存器
字节数: 8个字节,读了4个寄存器,共8个字节,这里注意是字节的数量,不是寄存器的数量.
数据: 每个寄存器先高位,后低位,依次输出,4个寄存器共8个字节。
CRC: CRC校验是标准算法,自动计算,所以不用考虑。

二、功能码0x06,写单个寄存器

YW-630MA和YW-631MA用于写的功码就是0x06和0x10,先说0x06,PLC发送的数据帧:

从站地址功能码寄存器地址(高位)寄存器地址(低位)寄存器值(高位)寄存器值(低位)校验码(低位)校验码(高位)
0x010x060x000x040x000x00CRCLCRCH

从站地址:Modbus读卡器的站地址,YW-630MA和YW-631MA默认地址都是1.
功能码: 0x06,写单个寄存器
寄存器地址: 2个字节,如40004,实际地址是4,高位是0,低位是4.
寄存器值: 2个字节,一个寄存器2个字节,高位在前,低位在后.
CRC: CRC校验是标准算法,PLC里自动计算,所以不用考虑。

YW-630MA和YW-631MA收到PLC发送的06指令后,回复的数据帧与收到的数据帧完全相同。这里就不解析了

三、功能码0x10,写多个寄存器

YW-630MA和YW-631MA支持写多个寄存器,功能码0x10,PLC发送的数据帧:

从站地址功能码寄存器开始地址(高位)寄存器开始地址(低位)寄存器个数(高位)寄存器个数(低位)要写的字节数值(要写的n个字节)校验码(低位)校验码(高位)
0x010x100x000x040x000x040x080x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00CRCLCRCH

从站地址:Modbus读卡器的站地址,YW-630MA和YW-631MA默认地址都是1.
功能码: 0x10,写多个寄存器
寄存器地址: 2个字节,如40004,实际地址是4,高位是0,低位是4.
寄存器数量: 4个寄存器,从40004到40007,高位在前00,低位在后04.
字节数: 8个字节,4个寄存器共8个字节
值: 对应8个字节的值,对卡号清零,就写8个0
CRC: CRC校验是标准算法,PLC里自动计算,所以不用考虑。

YW-630MA和YW-631MA收到PLC发送的指0x10指令后,回复的数据帧:

从站地址功能码寄存器开始地址(高位)寄存器开始地址(低位)寄存器个数(高位)寄存器个数(低位)校验码(低位)校验码(高位)
0x010x100x000x040x000x04CRCLCRCH

从站地址:Modbus读卡器的站地址,YW-630MA和YW-631MA默认地址都是1.
功能码: 0x10,写多个寄存器
寄存器地址: 2个字节,如40004,实际地址是4,高位是0,低位是4.
寄存器数量: 4个寄存器,从40004到40007,高位在前00,低位在后04.
CRC: CRC校验是标准算法,PLC里自动计算,所以不用考虑。

上一篇:如何修改ModbusTCP读卡器的IP地址
下一篇:Modbus TCP协议分析

Modbus读卡器,PLC读卡器,Modbus RTU, Modbus TCP,modbus接口IC卡读卡器,Modbus接口RFID读卡器
北京友我科技有限公司 版权所有 (C)2015-2023
客户服务中心信箱:coodor#126.com(将#改为@) 热线直拨: 13691531038 18910685939 QQ: 896163157,1403463073
京ICP备14016005号
微信扫一扫联系我们

微信扫一扫联系我们

友我科技


1
RFID读写器产品手册下载
2
读写器开发SDK下载
3
WEB读卡器开发指南
4
Windows读卡器开发指南
5
Android读卡器开发指南
6
Wince读卡器开发指南
7
PLC读卡器开发指南
8
Linux读卡器开发指南
9
单片机读卡器开发指南
10
PCSC读卡器开发指南