西門子變頻器V20如何通過Modbus通信訪問所有參數?
發布日期:
2023-07-04

在小型自動化係統中,Modbus通信有著較廣泛的應用。西門子SINAMICS V20係列變頻器支持基於(yu) RS485的Modbus RTU通信。

通過西門子的USS通信協議,上位機可以直接訪問V20變頻器的所有參數。而V20的Modbus協議目前還不支持所有變頻器參數的直接訪問,僅(jin) 常用參數可以直接通過獨立的寄存器地址訪問。

V20 Modbus寄存器映射表中包含可以通過Modbus RTU訪問的寄存器及其對應的變頻器參數號。在映射表的末尾,有549~558幾個(ge) 寄存器,通過它們(men) 可以間接訪問所有變頻器參數。

西門子變頻器V20如何通過Modbus通信訪問所有參數?

具體(ti) 步驟如下:

1. 用FC16功能碼(寫(xie) 多個(ge) 寄存器)向寄存器549寫(xie) 入要訪問的參數號,向寄存器550寫(xie) 入要訪問的參數下標。

2. 如果是要修改變頻器參數值,則通過FC16功能碼向寄存器553和554寫(xie) 入參數值。如果是要讀取變頻器參數值,則通過FC3功能碼讀取寄存器557和558的值。

 以S7-200 SMART + V20為(wei) 例,V20變頻器通信相關(guan) 參數設置如下:

西門子變頻器V20如何通過Modbus通信訪問所有參數?

S7-200 SMART調用Modbus主站庫程序。初始化程序如下:

西門子變頻器V20如何通過Modbus通信訪問所有參數?

初始化程序用於(yu) 初始化Modbus通信,設置通信波特率為(wei) 9600bps,偶校驗,采用PLC集成RS485端口,1000ms響應時間。

調用一個(ge) MBUS_MSG程序塊,發送一幀請求報文,用於(yu) 寫(xie) 入要訪問的變頻器參數號和下標。

西門子變頻器V20如何通過Modbus通信訪問所有參數?

西門子變頻器V20如何通過Modbus通信訪問所有參數?

調用一個(ge) MBUS_MSG程序塊,發送一幀請求報文,用於(yu) 寫(xie) 入要修改的變頻器參數值。

西門子變頻器V20如何通過Modbus通信訪問所有參數?

西門子變頻器V20如何通過Modbus通信訪問所有參數?

調用一個(ge) MBUS_MSG程序塊,發送一幀請求報文,用於(yu) 讀取變頻器參數值。

西門子變頻器V20如何通過Modbus通信訪問所有參數?

西門子變頻器V20如何通過Modbus通信訪問所有參數?

報文分析

實例1. 修改V20參數值p2201[0]=65.5%

步驟1:向VW10寫(xie) 入參數號2201,向VW12寫(xie) 入參數下標0,將V1.0修改為(wei) 1發送一幀報文。用狀態表實現如下:

西門子變頻器V20如何通過Modbus通信訪問所有參數?

此時PLC發送報文和變頻器響應報文如下(16進製):

西門子變頻器V20如何通過Modbus通信訪問所有參數?

步驟2:向VD20寫(xie) 入浮點數65.5,將V2.0修改為(wei) 1發送一幀報文。用狀態表實現如下:

西門子變頻器V20如何通過Modbus通信訪問所有參數?

此時PLC發送報文和變頻器響應報文如下(16進製):

西門子變頻器V20如何通過Modbus通信訪問所有參數?

此時查看變頻器p2201[0]參數,發現已經被修改為(wei) 65.5%。

實例2. 讀取V20參數值p1070[1]

步驟1:向VW10寫(xie) 入參數號1070,向VW12寫(xie) 入參數下標1,將V1.0修改為(wei) 1發送一幀報文。用狀態表實現如下:

西門子變頻器V20如何通過Modbus通信訪問所有參數?

此時PLC發送報文和變頻器響應報文如下(16進製):

西門子變頻器V20如何通過Modbus通信訪問所有參數?

步驟2:將V3.0修改為(wei) 1,發送報文從(cong) 寄存器557, 558讀取參數值,結果存放在VW30和VW32中。用狀態表實現如下:

西門子變頻器V20如何通過Modbus通信訪問所有參數?

此時PLC發送報文和變頻器響應報文如下(16進製):

西門子變頻器V20如何通過Modbus通信訪問所有參數?

從(cong) 變頻器響應報文可以看到,讀取回的參數值高位字為(wei) 755,低位字為(wei) 1,即755.1。查看變頻器p1070[1]參數,實際數值也是755.1。

聲明:部分內(nei) 容來源於(yu) 網絡,如侵權請後台留言聯係刪除。