Modbus RTU協議分析


基於485總線的modbus讀卡器, YW-630MA YW-631MA,使用modbus rtu協議。RS485是一種半雙工總線,我們必須瞭解modbus協議,這樣在項目中更容易分析問題和解決問題。

MODBUS協(xié)議支持多種功能碼(mǎ),不同的功能碼(mǎ)有不同的功能

功能碼功能
0x01讀線圈狀态
0x02讀離散輸入狀态
0x03讀保持寄存器
0x04讀輸入寄存器
0x05寫單個線圈
0x06寫單個保持寄存器
0x0F寫多個線圈
0x10寫多個保持寄存器

我們(men)主要使用的功能碼(mǎ)是0x03,0x06和0x10

一、功能碼0x03,讀保持寄存器,讀外部寄存器

YW-630MA和YW-631MA用於(yú)讀(dú)的功碼就是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發(fā)送的03指令後,回複(fù)的數據幀:

從站地址功能碼字節數數據1(高位)數據1(低位)數據n(高低位)校驗碼(低位)校驗碼(高位)
0x010x030x080x930xAE...CRCLCRCH

從站地址:Modbus讀卡器的站地址,YW-630MA和YW-631MA默認地址都是1.
功能碼: 0x03,讀寄存器
字節數: 8個字節,讀瞭4個寄存器,共8個字節,這裏注意是字節的數量,不是寄存器的數量.
數據: 每個寄存器先高位,後低位,依次輸出 ,4個寄存器共8個字節。
CRC: CRC校驗是标準算法,自動計算,所以不用考慮。

二、功能碼0x06,寫單個寄存器

YW-630MA和YW-631MA用於(yú)寫的功碼就是0x06和0x10,先說0x06,PLC發(fā)送的數據幀:

從站地址功能碼寄存器地址(高位)寄存器地址(低位)寄存器值(高位)寄存器值(低位)校驗碼(低位)校驗碼(高位)
0x010x060x000x040x000x00CRCLCRCH

從站地址:Modbus讀卡器的站地址,YW-630MA和YW-631MA默認地址都是1.
功能碼: 0x06,寫單個寄存器
寄存器地址: 2個字節,如40004,實際地址是4,高位是0,低位是4.
寄存器值: 2個字節,一個寄存器2個字節,高位在前,低位在後.
CRC: CRC校驗是标準算法,PLC裏自動計算,所以不用考慮。

YW-630MA和YW-631MA收到PLC發(fā)送的06指令後,回複的數據幀與收到的數據幀完全相同。這裏就不解析瞭(le)

三、功能碼0x10,寫多個寄存器

YW-630MA和YW-631MA支持寫多個(gè)寄存器,功能碼0x10,PLC發(fā)送的數據幀:

從站地址功能碼寄存器開始地址(高位)寄存器開始地址(低位)寄存器個數(高位)寄存器個數(低位)要寫的字節數值(要寫的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發(fā)送的指0x10指令後,回複(fù)的數據幀:

從站地址功能碼寄存器開始地址(高位)寄存器開始地址(低位)寄存器個數(高位)寄存器個數(低位)校驗碼(低位)校驗碼(高位)
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讀卡器開發指南