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