當(dāng)前位置: 首頁(yè) > 工業(yè)電氣產(chǎn)品 > 工業(yè)安全產(chǎn)品 > 安全觸邊
發(fā)布日期:2022-04-17 點(diǎn)擊率:2685 品牌:組態(tài)王_Kingview
Modbus通訊協(xié)議是一種簡(jiǎn)單的被所有軟硬件工控廠商免費(fèi)支持的通訊協(xié)議。FCS900可直接連接組態(tài)王、MCGS、IFIX等國(guó)內(nèi)外組態(tài)軟件,可以在1200米范圍內(nèi)輕松組建具有AI、AO、DI、DO等秒級(jí)遠(yuǎn)程、分散數(shù)據(jù)采集控制系統(tǒng)。也可以直接連接PLC、DCS等上位機(jī),作為遠(yuǎn)程I/O使用。
一線通模塊按從機(jī)MODBUS協(xié)議設(shè)計(jì),若波特率、齊偶校驗(yàn)、起始位、停止位、數(shù)據(jù)位、從機(jī)地址等通訊參數(shù)設(shè)置正確,模塊可以同任何主機(jī)MODBUS設(shè)備直接通訊。
FCS900系列模塊的通訊參數(shù)為:19200bps/1位起始位/1位停止位/無(wú)校驗(yàn)位/MODBUS-RTU協(xié)議。
模塊支持下述MODBUS功能,所有功能按標(biāo)準(zhǔn)MODBUS協(xié)議設(shè)計(jì)。
1,功能碼02H:成組讀取一線通模塊的數(shù)字量輸入信號(hào)狀態(tài)(DI)。
2,功能碼03H:成組讀取一線通模塊的模擬量輸入信號(hào)(AI)。
3,功能碼04H:成組讀取一線通模塊的模擬量輸入信號(hào)(AI)。
4,功能碼05H:設(shè)置一線通模塊的單一輸出線圈的狀態(tài)(DO)。
5,功能碼06H:設(shè)置一線通模塊的單一模擬量存儲(chǔ)器內(nèi)容(AO)。
6,功能碼0FH:成組設(shè)置一線通模塊的數(shù)字量輸入信號(hào)狀態(tài)(DO)。
7,功能碼10H:成組設(shè)置一線通模塊的模擬量輸出信號(hào)狀態(tài)(AO)。
功能碼02H是讀取各通道數(shù)字量采集結(jié)果命令。通訊首先由MODBUS主機(jī)設(shè)備發(fā)送“主機(jī)發(fā)信數(shù)據(jù)幀”,指明通訊對(duì)象的從機(jī)地址(一線通模塊地址)、數(shù)據(jù)的起始寄存器地址、數(shù)據(jù)數(shù)量和本次數(shù)據(jù)幀的CRC校驗(yàn)。一線通模塊接收到“主機(jī)發(fā)信數(shù)據(jù)幀”后,判斷從機(jī)地址是否與本機(jī)地址相同以及CRC校驗(yàn)是否出錯(cuò),若地址不同或CRC出錯(cuò),一線通模塊不作響應(yīng);若地址相同且CRC校驗(yàn)結(jié)果正確,一線通模塊發(fā)送“從機(jī)回信數(shù)據(jù)幀”,向主機(jī)發(fā)送對(duì)應(yīng)的數(shù)字量數(shù)據(jù)。
主機(jī)發(fā)信數(shù)據(jù)幀:
地址 | 02 | 起始地址 高字節(jié) | 起始地址 低字節(jié) | 數(shù)據(jù)量 高字節(jié) | 數(shù)據(jù)量低字節(jié) |
從機(jī)回信數(shù)據(jù)幀:
地址 | 02 | 數(shù)據(jù)字節(jié)數(shù) | 數(shù)據(jù)1 | 數(shù)據(jù)2 | 。。。。。。 | 數(shù)據(jù)n | CRC 高字節(jié) | CRC 低字節(jié) |
——地址:網(wǎng)絡(luò)中的從機(jī)地址,即FCS900模塊的地址編號(hào),參見(jiàn)“一線通模塊設(shè)置”章節(jié)。
——起始地址:雙字節(jié),要讀取寄存器的起始地址,此數(shù)據(jù)要求比實(shí)際的數(shù)據(jù)地址小1;
——數(shù)據(jù)量:雙字節(jié),1~16;
——數(shù)據(jù)字節(jié)量:1~2;
——數(shù)據(jù):一線通模塊發(fā)送給主機(jī)的數(shù)據(jù),低位低寄存器地址。
——CRC:雙字節(jié)CRC校驗(yàn)碼。
支持MODBUS功能碼02H的FCS900模塊有FCS931、FCS941、FCS942、FCS951、FCS952、FCS953和FCS954。
16之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng);
8之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
輸出通道狀態(tài),可以使用02功能碼讀出。
FCS900一線通模塊對(duì)功能碼3、4沒(méi)有區(qū)別,兩組命令都是讀取各通道模擬量采集結(jié)果,下述僅以功能碼4為例,詳述MODBUS通訊的通訊過(guò)程。通訊首先由MODBUS主機(jī)設(shè)備發(fā)送“主機(jī)發(fā)信數(shù)據(jù)幀”,指明通訊對(duì)象的從機(jī)地址(一線通模塊地址)、數(shù)據(jù)的起始寄存器地址、數(shù)據(jù)數(shù)量和本次數(shù)據(jù)幀的CRC校驗(yàn)。FCS900一線通模塊接收到“主機(jī)發(fā)信數(shù)據(jù)幀”后,判斷從機(jī)地址是否與本機(jī)地址相同以及CRC校驗(yàn)是否出錯(cuò),若地址不同或CRC出錯(cuò),F(xiàn)CS900一線通模塊不作響應(yīng);若地址相同且CRC校驗(yàn)結(jié)果正確,F(xiàn)CS900一線通模塊發(fā)送“從機(jī)回信數(shù)據(jù)幀”,向主機(jī)發(fā)送對(duì)應(yīng)的模擬量數(shù)據(jù)。
主機(jī)發(fā)信數(shù)據(jù)幀:
地址 | 04 | 起始地址 高字節(jié) | 起始地址 低字節(jié) | 數(shù)據(jù)量 高字節(jié) | 數(shù)據(jù)量低字節(jié) |
從機(jī)回信數(shù)據(jù)幀:
地址 | 04 | 數(shù)據(jù) 字節(jié)數(shù) | 數(shù)據(jù)1 高字節(jié) | 數(shù)據(jù)1 低字節(jié) | 。。。。。。 | 數(shù)據(jù)n 高字節(jié) | 數(shù)據(jù)n 低字節(jié) | CRC 高字節(jié) | CRC 低字節(jié) |
——地址:網(wǎng)絡(luò)中的從機(jī)地址,即FCS900模塊的地址編號(hào),參見(jiàn)“一線通模塊設(shè)置”章節(jié)。
——起始地址:雙字節(jié),要讀取寄存器的起始地址,此數(shù)據(jù)要求比實(shí)際的數(shù)據(jù)地址小1;
——數(shù)據(jù)量:雙字節(jié),1~128;
——數(shù)據(jù)字節(jié)量:2~256間的偶數(shù);
——數(shù)據(jù):FCS900發(fā)送給主機(jī)的數(shù)據(jù),雙字節(jié)無(wú)符號(hào)整數(shù),高位在前,低位在后;
——CRC:雙字節(jié)CRC校驗(yàn)碼。
支持MODBUS功能碼03H、04H的FCS900模塊有FCS911、FCS912、FCS913、FCS914、FCS915、FCS921、FCS922、FCS952、FCS953和FCS954。
16之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
8之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
14之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
8之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
功能碼5是單一通道數(shù)字量輸出命令,通訊首先由MODBUS主機(jī)設(shè)備發(fā)送“主機(jī)發(fā)信數(shù)據(jù)幀”,指明通訊對(duì)象的從機(jī)地址(一線通模塊地址)、數(shù)據(jù)的寄存器地址、數(shù)據(jù)和本次數(shù)據(jù)幀的CRC校驗(yàn)。FCS900一線通模塊接收到“主機(jī)發(fā)信數(shù)據(jù)幀”后,判斷從機(jī)地址是否與本機(jī)地址相同以及CRC校驗(yàn)是否出錯(cuò),若地址不同或CRC出錯(cuò),F(xiàn)CS900一線通模塊不作響應(yīng);若地址相同且CRC校驗(yàn)結(jié)果正確,F(xiàn)CS900一線通模塊發(fā)送“從機(jī)回信數(shù)據(jù)幀”。
主機(jī)發(fā)信數(shù)據(jù)幀:
地址 | 05 | 數(shù)據(jù)地址 高字節(jié) | 數(shù)據(jù)地址 低字節(jié) | 數(shù)據(jù) 高字節(jié) | 數(shù)據(jù) 低字節(jié) |
從機(jī)回信數(shù)據(jù)幀(FCS941回信數(shù)據(jù)幀):
地址 | 05 | 數(shù)據(jù)地址 高字節(jié) | 數(shù)據(jù)地址 低字節(jié) | 數(shù)據(jù) 高字節(jié) | 數(shù)據(jù)低字節(jié) |
——地址:網(wǎng)絡(luò)中的從機(jī)地址,即FCS900模塊的地址編號(hào),參見(jiàn)“一線通模塊設(shè)置”章節(jié)。
——數(shù)據(jù)地址:雙字節(jié),輸出寄存器地址,此數(shù)據(jù)要求比實(shí)際的數(shù)據(jù)地址小1;
——數(shù)據(jù):雙字節(jié),數(shù)據(jù)為零時(shí),使出輸出接點(diǎn)斷開(kāi);數(shù)據(jù)非零時(shí),輸出接點(diǎn)閉合。
——CRC:雙字節(jié)CRC校驗(yàn)碼。
支持MODBUS功能碼05H的FCS900模塊有FCS941、FCS942、FCS951、FCS953、FCS954。
16之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
8之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
16之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
功能碼6是單一通道模擬量輸出命令,通訊首先由MODBUS主機(jī)設(shè)備發(fā)送“主機(jī)發(fā)信數(shù)據(jù)幀”,指明通訊對(duì)象的從機(jī)地址(FCS900一線通模塊地址)、數(shù)據(jù)的寄存器地址、數(shù)據(jù)數(shù)值和本次數(shù)據(jù)幀的CRC校驗(yàn)。FCS900一線通模塊接收到“主機(jī)發(fā)信數(shù)據(jù)幀”后,判斷從機(jī)地址是否與本機(jī)地址相同以及CRC校驗(yàn)是否出錯(cuò),若地址不同或CRC出錯(cuò),F(xiàn)CS900一線通模塊不作響應(yīng);若地址相同且CRC校驗(yàn)結(jié)果正確,F(xiàn)CS900一線通模塊發(fā)送“從機(jī)回信數(shù)據(jù)幀”,向主機(jī)發(fā)送應(yīng)答幀。
主機(jī)發(fā)信數(shù)據(jù)幀:
地址 | 06 | 數(shù)據(jù)地址 高字節(jié) | 數(shù)據(jù)地址 低字節(jié) | 數(shù)據(jù) 高字節(jié) | 數(shù)據(jù) 低字節(jié) | CRC 高字節(jié) | CRC 低字節(jié) |
從機(jī)回信數(shù)據(jù)幀:
地址 | 06 | 數(shù)據(jù)地址 高字節(jié) | 數(shù)據(jù)地址 低字節(jié) | 數(shù)據(jù) 高字節(jié) | 數(shù)據(jù) 低字節(jié) | CRC 高字節(jié) | CRC 低字節(jié) |
——地址:網(wǎng)絡(luò)中的從機(jī)地址,即FCS900模塊的地址編號(hào),參見(jiàn)“一線通模塊設(shè)置”章節(jié)。
——數(shù)據(jù)地址:雙字節(jié),輸出寄存器地址,此數(shù)據(jù)要求比實(shí)際的數(shù)據(jù)地址小1。
——數(shù)據(jù):雙字節(jié),即模擬量輸出值。
——CRC:雙字節(jié)CRC校驗(yàn)碼。
支持MODBUS功能碼06H的FCS900模塊有FCS921、FCS922。
超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
功能碼0FH是成組數(shù)字量輸出命令,通訊首先由MODBUS主機(jī)設(shè)備發(fā)送“主機(jī)發(fā)信數(shù)據(jù)幀”,指明通訊對(duì)象的從機(jī)地址(FCS900一線通模塊地址)、數(shù)據(jù)的寄存器地址、數(shù)據(jù)數(shù)值和本次數(shù)據(jù)幀的CRC校驗(yàn)。FCS900一線通模塊接收到“主機(jī)發(fā)信數(shù)據(jù)幀”后,判斷從機(jī)地址是否與本機(jī)地址相同以及CRC校驗(yàn)是否出錯(cuò),若地址不同或CRC出錯(cuò),F(xiàn)CS900一線通模塊不作響應(yīng);若地址相同且CRC校驗(yàn)結(jié)果正確,F(xiàn)CS900一線通模塊發(fā)送“從機(jī)回信數(shù)據(jù)幀”,向主機(jī)發(fā)送應(yīng)答幀。
主機(jī)發(fā)信數(shù)據(jù)幀:
地址 | 0F | 數(shù)據(jù)地址 雙字節(jié) | 數(shù)據(jù)量 雙字節(jié) | 數(shù)據(jù) 字節(jié)量 | 數(shù)據(jù)1 | 數(shù)據(jù)2 | 數(shù)據(jù)N | CRC 雙字節(jié) |
從機(jī)回信數(shù)據(jù)幀:
地址 | 0F | 數(shù)據(jù)地址 雙字節(jié) | 數(shù)據(jù)量 雙字節(jié) | CRC 雙字節(jié) |
——地址:網(wǎng)絡(luò)中的從機(jī)地址,即FCS900模塊的地址編號(hào),參見(jiàn)“一線通模塊設(shè)置”章節(jié)。
—— 數(shù)據(jù)地址:雙字節(jié),輸出寄存器地址,此數(shù)據(jù)要求比實(shí)際的數(shù)據(jù)地址小1;
——字節(jié)量:?jiǎn)巫止?jié),后面數(shù)據(jù)的字節(jié)數(shù)量。
——數(shù)據(jù):低位低寄存器地址。。
——CRC:雙字節(jié)CRC校驗(yàn)碼。
支持MODBUS功能碼05H的FCS900模塊有FCS941、FCS942、FCS951、FCS953、FCS954。
16之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
8之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
16之間,超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
功能碼10H是成組模擬量輸出命令(AO)。通訊首先由MODBUS主機(jī)設(shè)備發(fā)送“主機(jī)發(fā)信數(shù)據(jù)幀”,指明通訊對(duì)象的從機(jī)地址(FCS900一線通模塊地址)、數(shù)據(jù)的寄存器地址、數(shù)據(jù)數(shù)值和本次數(shù)據(jù)幀的CRC校驗(yàn)。FCS900一線通模塊接收到“主機(jī)發(fā)信數(shù)據(jù)幀”后,判斷從機(jī)地址是否與本機(jī)地址相同以及CRC校驗(yàn)是否出錯(cuò),若地址不同或CRC出錯(cuò),F(xiàn)CS900一線通模塊不作響應(yīng);若地址相同且CRC校驗(yàn)結(jié)果正確,F(xiàn)CS900一線通模塊發(fā)送“從機(jī)回信數(shù)據(jù)幀”,向主機(jī)發(fā)送應(yīng)答幀。
主機(jī)發(fā)信數(shù)據(jù)幀:
地址 | 10 | 數(shù)據(jù)地址 雙字節(jié) | 數(shù)據(jù)量 雙字節(jié) | 字節(jié)量 | 數(shù)據(jù)1 雙字節(jié) | 數(shù)據(jù)2 雙字節(jié) | 數(shù)據(jù)N 雙字節(jié) | CRC 雙字節(jié) |
從機(jī)回信數(shù)據(jù)幀:
地址 | 10 | 數(shù)據(jù)地址 雙字節(jié) | 數(shù)據(jù)量 雙字節(jié) | CRC 雙字節(jié) |
——地址:網(wǎng)絡(luò)中的從機(jī)地址,即FCS900模塊的地址編號(hào),參見(jiàn)“一線通模塊設(shè)置”章節(jié)。
—— 數(shù)據(jù)地址:雙字節(jié),輸出寄存器地址,此數(shù)據(jù)要求比實(shí)際的數(shù)據(jù)地址小1;
——字節(jié)量:?jiǎn)巫止?jié),后面數(shù)據(jù)的字節(jié)數(shù)量。
——數(shù)據(jù):雙字節(jié),即模擬量輸出值。
——CRC:雙字節(jié)CRC校驗(yàn)碼。
支持MODBUS功能碼10H的FCS900模塊有FCS921、FCS922。
超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
超過(guò)該范圍一線通模塊可能拒絕響應(yīng)。
自由口通訊
與MODBUS數(shù)據(jù)格式完全相同,F(xiàn)CS900自動(dòng)識(shí)別MODBUS協(xié)議和自由口通訊協(xié)議,不需設(shè)置。
MODBUS協(xié)議采用雙字節(jié)CRC錯(cuò)誤校驗(yàn),在自由通訊口編程時(shí)錯(cuò)誤校驗(yàn)采用雙字節(jié)累加和校驗(yàn),即將校驗(yàn)字節(jié)之前的所有單字節(jié)數(shù)據(jù)相加,所得雙字節(jié)結(jié)果即是累加和校驗(yàn)。注意:累加時(shí)保留進(jìn)位位。
MODBUS通訊協(xié)議命令與自由口通訊命令對(duì)照:
MODBUS命令碼 | 自由口命令碼 | 功能描述 |
02H | C2H | |
03H | C3H | |
04H | C4H | |
05H | C5H | |
06H | C6H | |
0FH | CFH | |
10H | D0H |
主機(jī)發(fā)信數(shù)據(jù)幀:
地址 | C2 | 起始地址 高字節(jié) | 起始地址 低字節(jié) | 數(shù)據(jù)量 高字節(jié) | 數(shù)據(jù)量低字節(jié) |
從機(jī)回信數(shù)據(jù)幀:
地址 | C2 | 數(shù)據(jù)字節(jié)數(shù) | 數(shù)據(jù)1 | 數(shù)據(jù)2 | 。。。。。。 | 數(shù)據(jù)n |
通過(guò)自由口編程,上位機(jī)讀取#2地址FCS911模塊的1~3通道的模擬量采集數(shù)據(jù),采用C4H功能碼,上位機(jī)按照下述組織數(shù)據(jù):
地址=02H;
命令嗎=C4H;
數(shù)據(jù)地址H=00H;
數(shù)據(jù)地址L=00H;(比實(shí)際地址小1)。
數(shù)據(jù)量H=00H;
數(shù)據(jù)量L=03H;
累加和H=00H;
累加和L=C9H;(累加和:02H+C4H+00H+00H+00H+03H=00C9H)。
按上述數(shù)據(jù),上位機(jī)發(fā)送數(shù)據(jù)幀02H、C4H、00H、00H、00H、03H、00H、C9H,#2模塊FCS911接收到命令并驗(yàn)證無(wú)誤后,發(fā)送下面的回信數(shù)據(jù)幀。(假設(shè)1~3通道的采集數(shù)據(jù)分別為139、240、360。)
回信數(shù)據(jù)幀:02H、C4H、06H、00H、8BH、00H、F0H、01H、68H、02H、B0H。
地址=02H;
命令嗎=C4H;
數(shù)據(jù)字節(jié)=06H;
數(shù)據(jù)1H=00H;
數(shù)據(jù)1L=8BH;(139)
數(shù)據(jù)2H=00H;
數(shù)據(jù)2L=F0H;(240)
數(shù)據(jù)3H=01H;
數(shù)據(jù)3L=68H;(360)
累加和H=02H;
累加和L=B0H;(累加和:02H+84H+06H+00H+8BH+00H+F0H+01H+68H=02B0H)。
其他命令格式類似.
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV