N310MODBUS通信協(xié)議
聲明:您必須遵守我們的協(xié)議,如果您下載了該資源行為將被視為對《電天下賬號管理規(guī)范》全部內(nèi)容的認可,本網(wǎng)站資源來自原創(chuàng),僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請舉報本資源,我們將及時審核處理!
N310MODBUS通信協(xié)議
N310MODBUS通信協(xié)議
文本預(yù)覽
文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協(xié)議 版別 ::::0000....AAAA
頁次 :::: 1111
1111....通信數(shù)據(jù)結(jié)構(gòu)
N310系列機種接收計算機或其它上位控制器,經(jīng)由RS485 或RS232做通訊控制,使用
Modbus RTU模式及Modbus ASCII模式作為通信協(xié)議的通訊數(shù)據(jù)。
信息楨的最大長度為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
**于通信聯(lián)機之啟始點與最終點請加上120Ω,1/4w之終端阻抗**
1111....2222 數(shù)據(jù)楨 ASCII MODE
STX(3AH) 起始字符 = 3AH
地址碼高位 通信位置(站別):
地址碼代位 由2個ASCII碼組合
功能碼高位 功能碼(command):
功能碼低位 由2個ASCII碼組合
指令起始地址
指令起始地址 命令起始位:
指令起始地址 由4個ASCII碼組合
指令起始地址
數(shù)據(jù)長度
數(shù)據(jù)長度 數(shù)據(jù)起始到結(jié)束的長度:
數(shù)據(jù)長度 由4個ASCII碼組合
數(shù)據(jù)長度
LRC校驗高位 LRC檢查碼:
LRC校驗低位 由2個ASCII碼組合
END 高位 結(jié)束字符:
END 低位 END Hi = CR(0DH) , END Lo= LF(0AH)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協(xié)議 版別 ::::0000....AAAA
頁次 :::: 2222
數(shù)據(jù)楨 RTU MODE
MASTER(PLC等)相對于SLAVE指令, SLAVE應(yīng)答。接收數(shù)據(jù)的構(gòu)成 SLAVE地址
如右所示, 依指令(機能)的內(nèi)容, DATA部分的長度不一。 機能代碼
DATA
CRC CHECK
**指令信號與應(yīng)答信號間必須維持10mS之間隔 信號間隔
1111....3333通信地址((((AAAAddddddddrrrreeeessssssss))))
00H : 對所有驅(qū)動器廣播(Broadcast)
01H : 對第01 地址驅(qū)動器
0FH : 對第15 地址驅(qū)動器
10H : 對第16 地址驅(qū)動器
以此類推....,最大可到 32(20H)
1111....4444功能碼((((FFFFuuuunnnnccccttttiiiioooonnnn))))
03H : 讀出緩存器內(nèi)容
06H : 寫入一個WORD至緩存器(緩存器寫入)
08H : 回路測試
10H : 寫入多筆數(shù)據(jù)至緩存器(復(fù)數(shù)緩存器寫入)
2222....CCCCMMMMSSSS ((((和校驗與超時定義))))
2222....1111LLLLRRRRCCCCCHECK
例: 地址 01H
功能 03H
指令 01H
00H
數(shù)據(jù)長度 0AH
-----------------------
0FH------------取二補碼
和校驗 = F1H
CS(H) = 46H (ASCII)
CS(L) = 31H (ASCII)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協(xié)議 版別 ::::0000....AAAA
頁次 :::: 3333
2.2 CRC CHECK : CRC檢查碼是由 Slave 地址到DATA結(jié)束,請以下述方式算出。
(1).取一個16 bit之緩存器設(shè)定值= FFFFH (全部為1),作為CRC緩存器。
(2).將指令信號第一個字節(jié)與16-bit CRC緩存器的低字節(jié)做“異或”運算后,將其結(jié)
果再存入此CRC緩存器內(nèi)。
(3).將此CRC緩存器之值向右移出一位,并將0填入高位處之最左一位。檢查此CRC緩
存器之值。
(4).如果是0時,將步驟(3)的新值存入CRC緩存器內(nèi),
如不為0,將此CRC緩存器與A001h(1010 0000 0000 0001)值再“異或” ,將結(jié)果
存入CRC緩存器內(nèi)。
(5).重復(fù)步驟(3)與(4),將8-bit全部運算完成。
(6).重復(fù)步驟(2)到(5),取下一個8-bit的訊息指令,直到所有訊息指令運算完成,最
后得到的CRC緩存器的值,即為CRC檢查碼,此CRC檢查碼于傳出時必須將低位先
傳輸,再傳輸高位.例如CRC檢查碼值為1241hex時, CRC-16上位必須設(shè)定41hex,
CRC-16下位必須設(shè)定12hex
???? CRC 計算應(yīng)用程序
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通訊協(xié)議 版別 ::::0000....AAAA
頁次 :::: 1111
1111....通信數(shù)據(jù)結(jié)構(gòu)
N310系列機種接收計算機或其它上位控制器,經(jīng)由RS485 或RS232做通訊控制,使用
Modbus RTU模式及Modbus ASCII模式作為通信協(xié)議的通訊數(shù)據(jù)。
信息楨的最大長度為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
**于通信聯(lián)機之啟始點與最終點請加上120Ω,1/4w之終端阻抗**
1111....2222 數(shù)據(jù)楨 ASCII MODE
STX(3AH) 起始字符 = 3AH
地址碼高位 通信位置(站別):
地址碼代位 由2個ASCII碼組合
功能碼高位 功能碼(command):
功能碼低位 由2個ASCII碼組合
指令起始地址
指令起始地址 命令起始位:
指令起始地址 由4個ASCII碼組合
指令起始地址
數(shù)據(jù)長度
數(shù)據(jù)長度 數(shù)據(jù)起始到結(jié)束的長度:
數(shù)據(jù)長度 由4個ASCII碼組合
數(shù)據(jù)長度
LRC校驗高位 LRC檢查碼:
LRC校驗低位 由2個ASCII碼組合
END 高位 結(jié)束字符:
END 低位 END Hi = CR(0DH) , END Lo= LF(0AH)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協(xié)議 版別 ::::0000....AAAA
頁次 :::: 2222
數(shù)據(jù)楨 RTU MODE
MASTER(PLC等)相對于SLAVE指令, SLAVE應(yīng)答。接收數(shù)據(jù)的構(gòu)成 SLAVE地址
如右所示, 依指令(機能)的內(nèi)容, DATA部分的長度不一。 機能代碼
DATA
CRC CHECK
**指令信號與應(yīng)答信號間必須維持10mS之間隔 信號間隔
1111....3333通信地址((((AAAAddddddddrrrreeeessssssss))))
00H : 對所有驅(qū)動器廣播(Broadcast)
01H : 對第01 地址驅(qū)動器
0FH : 對第15 地址驅(qū)動器
10H : 對第16 地址驅(qū)動器
以此類推....,最大可到 32(20H)
1111....4444功能碼((((FFFFuuuunnnnccccttttiiiioooonnnn))))
03H : 讀出緩存器內(nèi)容
06H : 寫入一個WORD至緩存器(緩存器寫入)
08H : 回路測試
10H : 寫入多筆數(shù)據(jù)至緩存器(復(fù)數(shù)緩存器寫入)
2222....CCCCMMMMSSSS ((((和校驗與超時定義))))
2222....1111LLLLRRRRCCCCCHECK
例: 地址 01H
功能 03H
指令 01H
00H
數(shù)據(jù)長度 0AH
-----------------------
0FH------------取二補碼
和校驗 = F1H
CS(H) = 46H (ASCII)
CS(L) = 31H (ASCII)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通訊協(xié)議 版別 ::::0000....AAAA
頁次 :::: 3333
2.2 CRC CHECK : CRC檢查碼是由 Slave 地址到DATA結(jié)束,請以下述方式算出。
(1).取一個16 bit之緩存器設(shè)定值= FFFFH (全部為1),作為CRC緩存器。
(2).將指令信號第一個字節(jié)與16-bit CRC緩存器的低字節(jié)做“異或”運算后,將其結(jié)
果再存入此CRC緩存器內(nèi)。
(3).將此CRC緩存器之值向右移出一位,并將0填入高位處之最左一位。檢查此CRC緩
存器之值。
(4).如果是0時,將步驟(3)的新值存入CRC緩存器內(nèi),
如不為0,將此CRC緩存器與A001h(1010 0000 0000 0001)值再“異或” ,將結(jié)果
存入CRC緩存器內(nèi)。
(5).重復(fù)步驟(3)與(4),將8-bit全部運算完成。
(6).重復(fù)步驟(2)到(5),取下一個8-bit的訊息指令,直到所有訊息指令運算完成,最
后得到的CRC緩存器的值,即為CRC檢查碼,此CRC檢查碼于傳出時必須將低位先
傳輸,再傳輸高位.例如CRC檢查碼值為1241hex時, CRC-16上位必須設(shè)定41hex,
CRC-16下位必須設(shè)定12hex
???? CRC 計算應(yīng)用程序
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通信協(xié)議是一種在工業(yè)自動化和遠程監(jiān)控領(lǐng)域廣泛應(yīng)用的通信標準。它是由Modbus LLC公司提出的一種基于串行或網(wǎng)絡(luò)通信的接口協(xié)議,主要用于設(shè)備間的數(shù)據(jù)交換,尤其是PLC(可編程邏輯控制器)與其它智能設(shè)備如傳感器、執(zhí)行器、分布式控制系統(tǒng)(DCS)、SCADA系統(tǒng)等之間的通訊。
N310可能是該協(xié)議的一個具體實現(xiàn)版本或者應(yīng)用實例,其中"N310"可能代表某個設(shè)備型號、產(chǎn)品系列或者是項目代號,而"MODBUS"則是指遵循MODBUS協(xié)議進行數(shù)據(jù)傳輸。MODBUS協(xié)議支持多種功能碼,包括讀取輸入寄存器、讀寫輸出寄存器、直接讀/寫 coil ( coils 指繼電器狀態(tài))、讀/寫 holding registers (holding registers 用于存儲設(shè)定值或數(shù)據(jù)保持)等,使得不同設(shè)備能通過統(tǒng)一的格式共享信息,從而簡化了系統(tǒng)的集成和管理。
N310MODBUS通信協(xié)議的相關(guān)資源推薦
會員專享
開通會員
升級會員獲取海量資源免費下載
會員免費下載
5D幣 購買
上傳資源賺收益
格式:pdf
瀏覽:262
收藏:0
瀏覽:262??|??
收藏:0
上傳時間:2009-02-25
大?。?span style="color: #444444;" data-v-726b3e16>274.1KB
舉報
作者相關(guān)作品
排名
昵稱
瓦特值
熱門標簽