基於以太網總線的modbus讀卡器, YW-630NA, YW-641NA,使用modbus tcp協議。Modbus TCP是一種基於TCP/IP的一種協議,報文結構包括MBAP報文頭和PDU報文體,報頭用於區分不同的報文,功能碼決定報文的功能。
MODBUS TCP協(xié)議支持多種功能碼(mǎ),不同的功能碼(mǎ)有不同的功能
| 功能碼 | 功能 |
|---|---|
| 0x01 | 讀線圈狀态 |
| 0x02 | 讀離散輸入狀态 |
| 0x03 | 讀保持寄存器 |
| 0x04 | 讀輸入寄存器 |
| 0x05 | 寫單個線圈 |
| 0x06 | 寫單個保持寄存器 |
| 0x0F | 寫多個線圈 |
| 0x10 | 寫多個保持寄存器 |
我們(men)主要使用的功能碼(mǎ)是0x03,0x06和0x10
一、功能碼0x03,讀保持寄存器,讀外部寄存器
YW-630NA和YW-641NA用於(yú)讀(dú)的功碼就是0x03,PLC發送的數據幀:
| MBAP報頭 | PDU報文體 | |||||
|---|---|---|---|---|---|---|
| 事務标示2字節 | 協議标示2字節 | 長度(總長度-6) | 從站地址 | 功能碼 | 起始地址2字節 | 讀取數量2字節 |
| 0x00 0x01 | 0x00 0x00 | 0x06 | 0xFF | 0x03 | 0x00 0x04 | 0x00 0x02 |
事務标示2字節:PLC用於标示那一條報文,從機應答會保持一緻。
協議标示2字節:目前都是00 00
長度:從站地址到報文結束的字節長度,相當於報文總長度-6.
從站地址:Modbus讀卡器的站地址,PLC默認都是0xFF
功能碼: 0x03,讀寄存器
起始地址: 2個字節,如40004,實際地址是4,高位是0,低位是4.
寄存器數量: 需要讀取的寄存器的數量,讀卡号一般2個字節,有部分需要讀4個字節,這裏4個字節爲例,所以是4,高位是0,地位是4.
YW-630NA和YW-641NA收到PLC發(fā)送的03指令後,回複(fù)的數據幀:
| MBAP報頭 | PDU報文體 | |||||
|---|---|---|---|---|---|---|
| 事務标示2字節 | 協議标示2字節 | 長度(總長度-6) | 從站地址 | 功能碼 | 數據字節數 | 數據 |
| 0x00 0x01 | 0x00 0x00 | 0x06 | 0xFF | 0x03 | 0x04 | 0xA5 0x34 0x88 0x01 |
事務标示2字節:從機應答會與主機發出來的标示保持一緻。
協議标示2字節:目前都是00 00
長度:從站地址到報文結束的字節長度,相當於報文總長度-6.
從站地址:Modbus讀卡器的站地址
功能碼: 0x03,讀寄存器
數據字節數: 1個字節,用於回複讀取的字節數,一般是寄存器數量的2倍
數據值: 所有的數據
二、功能碼0x06,寫單個寄存器
YW-630NA和YW-641NA用於(yú)寫的功碼就是0x06和0x10,先說0x06,PLC發(fā)送的數據幀:
| MBAP報頭 | PDU報文體 | |||||
|---|---|---|---|---|---|---|
| 事務标示2字節 | 協議标示2字節 | 長度(總長度-6) | 從站地址 | 功能碼 | 寄存器地址2字節 | 寄存器值2字節 |
| 0x00 0x01 | 0x00 0x00 | 0x06 | 0xFF | 0x06 | 0x00 0x04 | 0x00 0x02 |
事務标示2字節:PLC用於标示那一條報文,從機應答會保持一緻。
協議标示2字節:目前都是00 00
長度:從站地址到報文結束的字節長度,相當於報文總長度-6.
從站地址:Modbus讀卡器的站地址,PLC默認都是0xFF
功能碼: 0x06,寫單個寄存器
寄存器地址: 2個字節,如40004,實際地址是4,高位是0,低位是4.
寄存器值: 要寫的寄存器的值,2個字節,高位前,地位在後.
YW-630NA和YW-641NA收到PLC發(fā)送的06指令後,回複的數據幀與收到的數據幀完全相同。這裏就不解析瞭(le)
三、功能碼0x10,寫多個寄存器
YW-630NA和YW-641NA支持寫多個(gè)寄存器,功能碼0x10,PLC發(fā)送的數據幀:
| MBAP報頭 | PDU報文體 | |||||||
|---|---|---|---|---|---|---|---|---|
| 事務标示2字節 | 協議标示2字節 | 長度(總長度-6) | 從站地址 | 功能碼 | 寄存器起始地址2字節 | 寄存器個數2字節 | 寄存器數據字節數1字節 | 寄存器數據n字節 |
| 0x00 0x01 | 0x00 0x00 | 0x10 | 0xFF | 0x06 | 0x00 0x04 | 0x00 0x04 | 0x08 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
事務标示2字節:PLC用於标示那一條報文,從機應答會保持一緻。
協議标示2字節:目前都是00 00
長度:從站地址到報文結束的字節長度,相當於報文總長度-6.
從站地址:Modbus讀卡器的站地址,PLC默認都是0xFF
功能碼: 0x10,寫多個寄存器
寄存器地址: 2個字節,如40004,實際地址是4,高位是0,低位是4.
寄存器數量: 4個寄存器,從40004到40007,高位在前00,低位在後04.
字節數: 8個字節,4個寄存器共8個字節
值: 對應8個字節的值,對卡号清零,就寫8個0
YW-630NA和YW-641NA收到PLC發(fā)送的指0x10指令後,回複(fù)的數據幀:
| MBAP報頭 | PDU報文體 | |||||
|---|---|---|---|---|---|---|
| 事務标示2字節 | 協議标示2字節 | 長度(總長度-6) | 從站地址 | 功能碼 | 寄存器地址2字節 | 寄存器值2字節 |
| 0x00 0x01 | 0x00 0x00 | 0x06 | 0xFF | 0x10 | 0x00 0x04 | 0x00 0x04 |
事務标示2字節:PLC用於标示那一條報文,從機應答會保持一緻。
協議标示2字節:目前都是00 00
長度:從站地址到報文結束的字節長度,相當於報文總長度-6.
從站地址:Modbus讀卡器的站地址,PLC默認都是0xFF
功能碼: 0x10,寫多個寄存器
寄存器地址: 2個字節,如40004,實際地址是4,高位是0,低位是4.
寄存器數量: 寄存器數量,2個字節,高位前,地位在後.
上一篇:Modbus RTU協議分析
下一篇:Modbus讀卡器如何讀取IC卡卡号
|
Modbus讀卡器,PLC讀卡器,Modbus RTU, Modbus TCP,modbus接口IC卡讀卡器,Modbus接口RFID讀卡器 微信掃一掃聯系我們 |
1 |
RFID讀寫器産品手冊下載 |
2 |
讀寫器開發SDK下載 |
3 |
WEB讀卡器開發指南 |
4 |
Windows讀卡器開發指南 |
5 |
Android讀卡器開發指南 |
6 |
Wince讀卡器開發指南 |
7 |
PLC讀卡器開發指南 |
8 |
Linux讀卡器開發指南 |
9 |
單片機讀卡器開發指南 |
10 |
PCSC讀卡器開發指南 |