回覆列表
  • 1 # 工控人

    不清楚mondbus通訊格式怎樣實現通訊

    modbus通訊是我們工控中常見的通訊協議,首先是主從通訊,主站可以與從站之間進行通訊,從站之間無法進行。主站站號為0,從站的站號從1開始,比如一臺上位機PLC控制多臺變頻器的執行,PLC就是主站,變頻器就是從站。通訊格式要求主站和從站一致,有波特率(如9600、19200等)、資料位校驗(奇偶、資料位、停止位、資料格式)。

    那我們在實際中如何實現簡單的modbus通訊,首先是通訊介面,常見的RS485半雙工(兩根線傳輸方式),資料格式根據主站和從站都支援的選擇。這裡我們說下資料傳送格式有RTU和ASCII碼兩種模式,具體的資料格式我們可以先略過。後面我們需要了解的是要實現通訊,我們都需要傳送哪些內容,主站與從站之間的命令主要有寫入和讀取如下圖的變頻器通訊控制,1資料是從站的地址也就是站號,2資料是功能碼如是寫入還是讀取資料,3是引數地址,如變頻器正反轉控制的地址,實際執行頻率的地址,4是資料個數(資料內容),讀取資料是個數,寫入時候是要傳送的內容如50.00Hz,5是校驗碼(RTU格式是CRC校驗,ASCII是LRC校驗)。我們在進行通訊的時候就按照這個資料內容。這裡就涉及到資料轉換,所謂的資料轉換就是把我們平常的十進位制資料內容轉換為ASCII碼或者RTU格式。有的上位機支援modbus指令,中間的資料轉換和校驗碼自行進行計算,我們只需要寫入內容即可,有的則不支援需要自己程式設計完成。

    我們可以使用串列埠助手進行除錯,主站為PC,從站為變頻器,RS232-RS485 轉換器進行訊號轉換,串列埠助手找帶 CRC 校驗功能的。通訊成功會收到從變頻器返回的資訊。

  • 中秋節和大豐收的關聯?
  • 跑步穿的釘鞋選擇哪種釘子?