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