引用
引用第4樓qq771621929于2023-02-01 13:29發(fā)表的 :
就是modbusRTU通訊,讀的丹佛斯變頻器,1200里面取位很簡(jiǎn)單,SMART200還沒(méi)用過(guò)
1200我只會(huì )打開(kāi)博圖組態(tài)然后弄個(gè)起保停啥的,不知道1200的MODBUS RTU的庫是不是和200SMART一樣。
以下是200SMART說(shuō)明文檔里邊關(guān)于MBUS_MSG指令里邊的一段解釋。你可以看一下。
參數“計數”(Count) 用于分配要在該請求中讀取或寫(xiě)入的數據元素數。對于位數據類(lèi)型,“Count”是位數,對于字數據類(lèi)型,則表示字數。
對于地址 0xxxx,“計數”(Count) 是要讀取或寫(xiě)入的位數
對于地址 1xxxx,“計數”(Count) 是要讀取的位數
對于地址 3xxxx,“計數”(Count) 是要讀取的輸入寄存器字數
對于地址 4xxxx 或 4yyyyy,“計數”(Count) 是要讀取或寫(xiě)入的保持寄存器字數
MBUS_MSG/MB_MSG2 指令最多讀取或寫(xiě)入 120 個(gè)字或 1920 個(gè)位(240 個(gè)字節的數據)。Count 的實(shí)際限值取決于 Modbus 從站設備的限制。
參數 DataPtr 是間接地址指針,指向 CPU 中與讀/寫(xiě)請求相關(guān)的數據的 V 存儲器。對于讀請求,將 DataPtr 設置為用于存儲從 Modbus 從站讀取的數據的第一個(gè) CPU 存儲單元。對于寫(xiě)請求,將 DataPtr 設置為要發(fā)送到 Modbus 從站的數據的第一個(gè) CPU 存儲單元。
程序將 DataPtr 值以間接地址指針的形式傳遞到 MBUS_MSG/MB_MSG2。例如,如果要寫(xiě)入到 Modbus 從站設備的數據始于 CPU 的地址 VW200,則 DataPtr 的值將為 &VB200(地址 VB200)。指針必須始終是 VB 類(lèi)型,即使它們指向字數據。
DataPtr 這個(gè)指針指向的存儲空間就是“字”。你可以監控一下。比如你在 DataPtr 這個(gè)管腳填寫(xiě)的是&VB200,那你就在狀態(tài)圖表里監控VW200,這個(gè)就是你讀取到的字。然后你想讀取哪個(gè)位就分開(kāi)監控哪個(gè)位唄。V200.0,V200.1,V200.2等等。