現(xiàn)在對Modbus RTU做一個分析,Modbus RTU是一種國際的、開放的現(xiàn)場總線標(biāo)準(zhǔn)。MODBUS RTU 通訊協(xié)議的報(bào)文功能碼如下:
01H 讀取線圈狀態(tài)。 從執(zhí)行機(jī)構(gòu)上讀取線圈(單個位)的內(nèi)容;
02H 讀取離散量輸入。 從執(zhí)行機(jī)構(gòu)上讀取離散量輸入(多個位)的內(nèi)容;
03H 讀取保持寄存器。 從執(zhí)行機(jī)構(gòu)上讀取保持寄存器(16位字)的內(nèi)容;
04H 讀取輸入寄存器。 從執(zhí)行機(jī)構(gòu)上讀取輸入寄存器(16位字)的內(nèi)容;
05H 強(qiáng)置單線圈。 寫數(shù)據(jù)到執(zhí)行機(jī)構(gòu)的線圈(單個位)為“通”(“1”)或
“斷”(“0”);
06H 預(yù)置單寄存器。 寫數(shù)據(jù)到執(zhí)行機(jī)構(gòu)的單個保持寄存器(16位字);
0FH 強(qiáng)置多線圈。 寫數(shù)據(jù)到執(zhí)行機(jī)構(gòu)的幾個連續(xù)線圈(單個位)為“通”(“1”)
或“斷”(“0”);
10H 預(yù)置多寄存器。 寫數(shù)據(jù)到執(zhí)行機(jī)構(gòu)的幾個連續(xù)的保持寄存器(16位字)。
EB8000軟件中MODBUS協(xié)議的設(shè)備類型為0x、1x、3x、4x、5x、6x,還有3x_bit,4x_bit,6x_bit,0x_multi_coils等,06x功能碼介紹如下:
6x:是一個可讀可寫的設(shè)備類型,讀取數(shù)據(jù)的時(shí)候,發(fā)出的功能碼也是03H,與4x不同之處在于寫數(shù)據(jù)的時(shí)候發(fā)出的功能碼時(shí)06H,即寫單個寄存器的數(shù)據(jù)。
樓主用的是06x功能碼,就是預(yù)置單寄存器的值,意思是可以在選定的變頻器地址里預(yù)置寫入一個數(shù)值,現(xiàn)在就是在變頻器8193地址里面寫入一個常數(shù)18。
至于那個點(diǎn)動常數(shù)應(yīng)該怎么寫,要看具體的變頻器里面的控制參數(shù)了,那個地址對不對還是兩說呢,具體的細(xì)節(jié),在下收集查詢資料后再來細(xì)說。