N310MODBUS通信協議
聲明:您必須遵守我們的協議,如果您下載了該資源行為將被視為對《電天下賬號管理規范》全部內容的認可,本網站資源來自原創,僅供用于學習和交流,請勿用于商業用途。如有侵權、不妥之處,請舉報本資源,我們將及時審核處理!
N310MODBUS通信協議
文本預覽
文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協議 版別 ::::0000....AAAA
頁次 :::: 1111
1111....通信數據結構
N310系列機種接收計算機或其它上位控制器,經由RS485 或RS232做通訊控制,使用
Modbus RTU模式及Modbus ASCII模式作為通信協議的通訊數據。
信息楨的最大長度為80比特。
1111....1111硬件安裝
上位控制器 從站 N310 從站N310 從站N310 從站N310
(PLC / HMI 或 站別碼01 站別碼02 站別碼03 站別碼 FE
PC ) 選配卡 選配卡 選配卡 選配卡
RS-485 A B A B A B A B
Interface
收信
送信
120Ω 120Ω
1/4w 1/4w
**于通信聯機之啟始點與最終點請加上120Ω,1/4w之終端阻抗**
1111....2222 數據楨 ASCII MODE
STX(3AH) 起始字符 = 3AH
地址碼高位 通信位置(站別):
地址碼代位 由2個ASCII碼組合
功能碼高位 功能碼(command):
功能碼低位 由2個ASCII碼組合
指令起始地址
指令起始地址 命令起始位:
指令起始地址 由4個ASCII碼組合
指令起始地址
數據長度
數據長度 數據起始到結束的長度:
數據長度 由4個ASCII碼組合
數據長度
LRC校驗高位 LRC檢查碼:
LRC校驗低位 由2個ASCII碼組合
END 高位 結束字符:
END 低位 END Hi = CR(0DH) , END Lo= LF(0AH)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協議 版別 ::::0000....AAAA
頁次 :::: 2222
數據楨 RTU MODE
MASTER(PLC等)相對于SLAVE指令, SLAVE應答。接收數據的構成 SLAVE地址
如右所示, 依指令(機能)的內容, DATA部分的長度不一。 機能代碼
DATA
CRC CHECK
**指令信號與應答信號間必須維持10mS之間隔 信號間隔
1111....3333通信地址((((AAAAddddddddrrrreeeessssssss))))
00H : 對所有驅動器廣播(Broadcast)
01H : 對第01 地址驅動器
0FH : 對第15 地址驅動器
10H : 對第16 地址驅動器
以此類推....,最大可到 32(20H)
1111....4444功能碼((((FFFFuuuunnnnccccttttiiiioooonnnn))))
03H : 讀出緩存器內容
06H : 寫入一個WORD至緩存器(緩存器寫入)
08H : 回路測試
10H : 寫入多筆數據至緩存器(復數緩存器寫入)
2222....CCCCMMMMSSSS ((((和校驗與超時定義))))
2222....1111LLLLRRRRCCCCCHECK
例: 地址 01H
功能 03H
指令 01H
00H
數據長度 0AH
-----------------------
0FH------------取二補碼
和校驗 = F1H
CS(H) = 46H (ASCII)
CS(L) = 31H (ASCII)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協議 版別 ::::0000....AAAA
頁次 :::: 3333
2.2 CRC CHECK : CRC檢查碼是由 Slave 地址到DATA結束,請以下述方式算出。
(1).取一個16 bit之緩存器設定值= FFFFH (全部為1),作為CRC緩存器。
(2).將指令信號第一個字節與16-bit CRC緩存器的低字節做“異或”運算后,將其結
果再存入此CRC緩存器內。
(3).將此CRC緩存器之值向右移出一位,并將0填入高位處之最左一位。檢查此CRC緩
存器之值。
(4).如果是0時,將步驟(3)的新值存入CRC緩存器內,
如不為0,將此CRC緩存器與A001h(1010 0000 0000 0001)值再“異或” ,將結果
存入CRC緩存器內。
(5).重復步驟(3)與(4),將8-bit全部運算完成。
(6).重復步驟(2)到(5),取下一個8-bit的訊息指令,直到所有訊息指令運算完成,最
后得到的CRC緩存器的值,即為CRC檢查碼,此CRC檢查碼于傳出時必須將低位先
傳輸,再傳輸高位.例如CRC檢查碼值為1241hex時, CRC-16上位必須設定41hex,
CRC-16下位必須設定12hex
???? CRC 計算應用程序
UWORD ch_sum ( UBYTE long , UBYTE *rxdbuff ) {
BYTE i = 0;
UWORD wkg = 0xFFFF;
while ( long-- ) {
wkg ^= rxdbuff++;
for ( i = 0 ; i < 8; i++ ) {
if ( wkg & 0x0001 ) {
wkg = ( wkg >> 1 ) ^ 0xa001;
}
else {
wkg = wkg >> 1;
}
}
}
return( wkg );
}文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協議 版別 ::::0000....AAAA
頁次 :::: 1111
1111....通信數據結構
N310系列機種接收計算機或其它上位控制器,經由RS485 或RS232做通訊控制,使用
Modbus RTU模式及Modbus ASCII模式作為通信協議的通訊數據。
信息楨的最大長度為80比特。
1111....1111硬件安裝
上位控制器 從站 N310 從站N310 從站N310 從站N310
(PLC / HMI 或 站別碼01 站別碼02 站別碼03 站別碼 FE
PC ) 選配卡 選配卡 選配卡 選配卡
RS-485 A B A B A B A B
Interface
收信
送信
120Ω 120Ω
1/4w 1/4w
**于通信聯機之啟始點與最終點請加上120Ω,1/4w之終端阻抗**
1111....2222 數據楨 ASCII MODE
STX(3AH) 起始字符 = 3AH
地址碼高位 通信位置(站別):
地址碼代位 由2個ASCII碼組合
功能碼高位 功能碼(command):
功能碼低位 由2個ASCII碼組合
指令起始地址
指令起始地址 命令起始位:
指令起始地址 由4個ASCII碼組合
指令起始地址
數據長度
數據長度 數據起始到結束的長度:
數據長度 由4個ASCII碼組合
數據長度
LRC校驗高位 LRC檢查碼:
LRC校驗低位 由2個ASCII碼組合
END 高位 結束字符:
END 低位 END Hi = CR(0DH) , END Lo= LF(0AH)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協議 版別 ::::0000....AAAA
頁次 :::: 2222
數據楨 RTU MODE
MASTER(PLC等)相對于SLAVE指令, SLAVE應答。接收數據的構成 SLAVE地址
如右所示, 依指令(機能)的內容, DATA部分的長度不一。 機能代碼
DATA
CRC CHECK
**指令信號與應答信號間必須維持10mS之間隔 信號間隔
1111....3333通信地址((((AAAAddddddddrrrreeeessssssss))))
00H : 對所有驅動器廣播(Broadcast)
01H : 對第01 地址驅動器
0FH : 對第15 地址驅動器
10H : 對第16 地址驅動器
以此類推....,最大可到 32(20H)
1111....4444功能碼((((FFFFuuuunnnnccccttttiiiioooonnnn))))
03H : 讀出緩存器內容
06H : 寫入一個WORD至緩存器(緩存器寫入)
08H : 回路測試
10H : 寫入多筆數據至緩存器(復數緩存器寫入)
2222....CCCCMMMMSSSS ((((和校驗與超時定義))))
2222....1111LLLLRRRRCCCCCHECK
例: 地址 01H
功能 03H
指令 01H
00H
數據長度 0AH
-----------------------
0FH------------取二補碼
和校驗 = F1H
CS(H) = 46H (ASCII)
CS(L) = 31H (ASCII)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協議 版別 ::::0000....AAAA
頁次 :::: 3333
2.2 CRC CHECK : CRC檢查碼是由 Slave 地址到DATA結束,請以下述方式算出。
(1).取一個16 bit之緩存器設定值= FFFFH (全部為1),作為CRC緩存器。
(2).將指令信號第一個字節與16-bit CRC緩存器的低字節做“異或”運算后,將其結
果再存入此CRC緩存器內。
(3).將此CRC緩存器之值向右移出一位,并將0填入高位處之最左一位。檢查此CRC緩
存器之值。
(4).如果是0時,將步驟(3)的新值存入CRC緩存器內,
如不為0,將此CRC緩存器與A001h(1010 0000 0000 0001)值再“異或” ,將結果
存入CRC緩存器內。
(5).重復步驟(3)與(4),將8-bit全部運算完成。
(6).重復步驟(2)到(5),取下一個8-bit的訊息指令,直到所有訊息指令運算完成,最
后得到的CRC緩存器的值,即為CRC檢查碼,此CRC檢查碼于傳出時必須將低位先
傳輸,再傳輸高位.例如CRC檢查碼值為1241hex時, CRC-16上位必須設定41hex,
CRC-16下位必須設定12hex
???? CRC 計算應用程序
UWORD ch_sum ( UBYTE long , UBYTE *rxdbuff ) {
BYTE i = 0;
UWORD wkg = 0xFFFF;
while ( long-- ) {
wkg ^= rxdbuff++;
for ( i = 0 ; i < 8; i++ ) {
if ( wkg & 0x0001 ) {
wkg = ( wkg >> 1 ) ^ 0xa001;
}
else {
wkg = wkg >> 1;
}
}
}
return( wkg );
}文號 ::::
AIGC
N310 MODBUS通信協議是一種在工業自動化和遠程監控領域廣泛應用的通信標準。它是由Modbus LLC公司提出的一種基于串行或網絡通信的接口協議,主要用于設備間的數據交換,尤其是PLC(可編程邏輯控制器)與其它智能設備如傳感器、執行器、分布式控制系統(DCS)、SCADA系統等之間的通訊。
N310可能是該協議的一個具體實現版本或者應用實例,其中"N310"可能代表某個設備型號、產品系列或者是項目代號,而"MODBUS"則是指遵循MODBUS協議進行數據傳輸。MODBUS協議支持多種功能碼,包括讀取輸入寄存器、讀寫輸出寄存器、直接讀/寫 coil ( coils 指繼電器狀態)、讀/寫 holding registers (holding registers 用于存儲設定值或數據保持)等,使得不同設備能通過統一的格式共享信息,從而簡化了系統的集成和管理。
相關資源推薦