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

在小型自動(dòng)化系統(tǒng)中,Modbus通信有著較廣泛的應(yīng)用。西門子SINAMICS V20系列變頻器支持基于RS485的Modbus RTU通信。

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

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

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

具體步驟如下:

1. 用FC16功能碼(寫多個(gè)寄存器)向寄存器549寫入要訪問的參數(shù)號,向寄存器550寫入要訪問的參數(shù)下標(biāo)。

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

?以S7-200 SMART + V20為例,V20變頻器通信相關(guān)參數(shù)設(shè)置如下:

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

S7-200 SMART調(diào)用Modbus主站庫程序。初始化程序如下:

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

初始化程序用于初始化Modbus通信,設(shè)置通信波特率為9600bps,偶校驗(yàn),采用PLC集成RS485端口,1000ms響應(yīng)時(shí)間。

調(diào)用一個(gè)MBUS_MSG程序塊,發(fā)送一幀請求報(bào)文,用于寫入要訪問的變頻器參數(shù)號和下標(biāo)。

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

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

調(diào)用一個(gè)MBUS_MSG程序塊,發(fā)送一幀請求報(bào)文,用于寫入要修改的變頻器參數(shù)值。

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

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

調(diào)用一個(gè)MBUS_MSG程序塊,發(fā)送一幀請求報(bào)文,用于讀取變頻器參數(shù)值。

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

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

報(bào)文分析

實(shí)例1. 修改V20參數(shù)值p2201[0]=65.5%

步驟1:向VW10寫入?yún)?shù)號2201,向VW12寫入?yún)?shù)下標(biāo)0,將V1.0修改為1發(fā)送一幀報(bào)文。用狀態(tài)表實(shí)現(xiàn)如下:

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

此時(shí)PLC發(fā)送報(bào)文和變頻器響應(yīng)報(bào)文如下(16進(jìn)制):

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

步驟2:向VD20寫入浮點(diǎn)數(shù)65.5,將V2.0修改為1發(fā)送一幀報(bào)文。用狀態(tài)表實(shí)現(xiàn)如下:

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

此時(shí)PLC發(fā)送報(bào)文和變頻器響應(yīng)報(bào)文如下(16進(jìn)制):

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

此時(shí)查看變頻器p2201[0]參數(shù),發(fā)現(xiàn)已經(jīng)被修改為65.5%。

實(shí)例2. 讀取V20參數(shù)值p1070[1]

步驟1:向VW10寫入?yún)?shù)號1070,向VW12寫入?yún)?shù)下標(biāo)1,將V1.0修改為1發(fā)送一幀報(bào)文。用狀態(tài)表實(shí)現(xiàn)如下:

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

此時(shí)PLC發(fā)送報(bào)文和變頻器響應(yīng)報(bào)文如下(16進(jìn)制):

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

步驟2:將V3.0修改為1,發(fā)送報(bào)文從寄存器557, 558讀取參數(shù)值,結(jié)果存放在VW30和VW32中。用狀態(tài)表實(shí)現(xiàn)如下:

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

此時(shí)PLC發(fā)送報(bào)文和變頻器響應(yīng)報(bào)文如下(16進(jìn)制):

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

從變頻器響應(yīng)報(bào)文可以看到,讀取回的參數(shù)值高位字為755,低位字為1,即755.1。查看變頻器p1070[1]參數(shù),實(shí)際數(shù)值也是755.1。

聲明:部分內(nèi)容來源于網(wǎng)絡(luò),如侵權(quán)請后臺留言聯(lián)系刪除。