資源描述:
《modbus通訊協(xié)議》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、Modbus通訊協(xié)議1、Modbus通訊協(xié)議簡介1.1.Modbus通訊協(xié)議采用RTU傳輸模式RTU模式中每個字節(jié)(11位)的格式為:1個起始位8個數(shù)據(jù)位1個奇偶校驗位1個停止位注:幀校驗采用循環(huán)冗余校驗(CRC),儀表的應(yīng)答延遲不大于200ms1.2.與通訊有關(guān)的參數(shù)說明與通訊有關(guān)的參數(shù)位于儀表的第5組參數(shù)中儀表通訊地址,參數(shù)地址40H,取值范圍0~99,出廠設(shè)置為1通訊速率選擇,參數(shù)地址41H,取值范圍2400、4800、9600、19200(bps)可選,出廠設(shè)置為9600bps校驗方式選擇,參數(shù)地址42H,取值范圍0~2,出廠設(shè)置為22選
2、擇為0時,通訊采用無校驗方式2選擇為1時,通訊采用奇校驗方式2選擇為2時,通訊采用偶校驗方式注:當選擇為無校驗時,使用1位停止位2、通訊命令簡介本系列儀表支持的Modbus命令集命令名稱Modbus命令類型功能碼(十六進制)尋址范圍(十進制)讀測量值讀輸入寄存器040~1讀峰值2~3讀谷值4~5讀輸出模擬量值讀多個保持寄存器030~1讀儀表參數(shù)值256~447讀開關(guān)量輸入狀態(tài)讀輸入離散量020讀開關(guān)量輸出狀態(tài)讀線圈010~3輸出模擬量命令寫多個保持寄存器100~1設(shè)置儀表參數(shù)值256~447輸出單個開關(guān)量寫單個線圈050~3輸出多個開關(guān)量寫多個線
3、圈0F0~3指令中涉及到的測量值、參數(shù)值、模擬量值均采用32位浮點數(shù)(IEEE-754標準格式)表示,占用2個連續(xù)的寄存器。3、通訊命令詳解3.1.命令說明所有命令中的數(shù)值均采用十六進制表示1)讀測量值、峰谷值命令將測量值、峰谷值定義為3組2個連續(xù)的輸入寄存器,尋址范圍分別為0x0000~0x0001、0x0002~0x0003、0x0004~0x0005命令:AA0400000002CCCCAA0400000002CCCC通訊地址功能碼寄存器起始地址寄存器個數(shù)CRC校驗值響應(yīng):AA0404dataCCCCAA0404dataCCCC通訊地址功能
4、碼測量值字節(jié)數(shù)測量值CRC校驗值例:命令:01040000000271CB響應(yīng):01040442C3999AF5FB本命令讀取地址為01的儀表的測量值響應(yīng)表明讀取的測量值為42C3999A(十進制數(shù)為97.8)2)讀輸出模擬量值命令(變送輸出)將模擬量值定義為2個連續(xù)的保持寄存器,尋址范圍0x0000~0x0001命令:AA0300000002CCCCAA0300000002CCCC通訊地址功能碼寄存器起始地址寄存器個數(shù)CRC校驗值響應(yīng):AA0304dataCCCCAA0304dataCCCC通訊地址功能碼模擬量值字節(jié)數(shù)模擬量值CRC校驗值例:命
5、令:010300000002C40B響應(yīng):010304424800006E5D本命令讀取地址為01的儀表的模擬量輸出值響應(yīng)表明讀取的模擬量輸出值為42480000(十進制數(shù)為50,50表示的是模擬量輸出量程的50%)3)讀儀表參數(shù)值命令將參數(shù)值定義為1~189個保持寄存器,尋址范圍0x0100~0x01B2,每2個連續(xù)的保持寄存器表示一個參數(shù)值。寄存器起始地址與儀表參數(shù)地址的對應(yīng)關(guān)系是:寄存器起始地址=0x0100+參數(shù)地址×2例如,儀表第2組參數(shù)的地址是10H,那么它對應(yīng)的寄存器起始地址:BBBB=0x0120(0x0100+0x10×2)命令
6、:AA03BBBB0002CCCCAA03BBBB0002CCCC通訊地址功能碼寄存器起始地址寄存器個數(shù)CRC校驗值響應(yīng):AA0304dataCCCCAA0304dataCCCC通訊地址功能碼參數(shù)值字節(jié)數(shù)參數(shù)值CRC校驗值例:命令:0103016400028428響應(yīng):01030441A40000AFEC本命令讀取地址為01的儀表的參數(shù)地址為32H的參數(shù)值響應(yīng)表明讀取的參數(shù)值為41A40000(十進制數(shù)為20.5)4)讀開關(guān)量輸入狀態(tài)命令將開關(guān)量輸入定義為第1個輸入離散量命令:AA0200000001CCCCAA0200000001CCCC通訊地
7、址功能碼開關(guān)量起始地址開關(guān)量個數(shù)CRC校驗值響應(yīng):AA0201dataCCCCAA0201dataCCCC通訊地址功能碼開關(guān)量狀態(tài)字節(jié)數(shù)開關(guān)量狀態(tài)CRC校驗值Data用1個字節(jié)表示,最低位為1表示開入1閉合,為0表示開入斷開;例:命令:010200000001B9CA響應(yīng):010201016048本命令讀取地址為01的儀表的第1點開關(guān)量輸入狀態(tài)響應(yīng)表明本儀表的第1點開入閉合5)讀開關(guān)量輸出狀態(tài)命令(報警輸出)將開關(guān)量輸出定義為第1~4個線圈,尋址范圍0x0000~0x0003,分別對應(yīng)第1~4點報警命令:AA01BBBBDDDDCCCCAA01B
8、BBBDDDDCCCC通訊地址功能碼開關(guān)量起始地址開關(guān)量個數(shù)CRC校驗值響應(yīng):AA0101dataCCCCAA0101dataCCCC通