西門子S7-1200與變頻器V20之間USS通信
發布日期:
2022-10-21

USS通信基本原理

USS 協議(Universal Serial Interface Protocol,即通用串行接口協議)是西門子專(zhuan) 為(wei) 驅動裝置開發的通用通信協議,它是一種基於(yu) 串行總線進行數據通信的協議。USS 通信總是由主站發起,USS 主站不斷輪詢各個(ge) 從(cong) 站,從(cong) 站根據收到主站報文,決(jue) 定是否、以及如何響應。從(cong) 站必須在接收到主站報文之後的一定時間內(nei) 發回響應到主站,否則主站將視該從(cong) 站出錯。USS 協議是主從(cong) 結構的協議,總線上的每個(ge) 從(cong) 站都有唯一的從(cong) 站地址。一個(ge) S7-1200 CPU 中最多可安裝三個(ge) CM 1241 RS422/RS485模塊和一個(ge) CB 1241 RS485 板,每個(ge) RS485 端口最多控製 16 台驅動器。

西門子S7-1200與(yu) V20的USS通信

【一】使用環境

TIA Portal STEP 7 V16

CPU1215C DC/DC/DC V4.4

CM1241 RS422/RS485 V2.2

SINAMICS SINAMICS V20(6SL3210-5BE03-7UV0)

1LA9 電機(1LA9060-4KA10-Z)

【二】實現功能

西門子S7-1200 與(yu) 西門子傳(chuan) 動設備 V20 之間 USS 通信,控製變頻器的啟停和頻率,並讀取和修改變頻器的加減速時間。

兩(liang) 類指令“USS通信”與(yu) “USS”區別

西門子S7-1200 USS 有兩(liang) 個(ge) USS 指令庫

(1)“USS通信” 指令庫下的指令除了適用於(yu) S7-1200 中央機架串口模塊(CM 1241 V2.1 以上或 CB 1241 且 S7-1200 CPU V4.1 以上),還可用於(yu) 分布式 I/O PROFINET 或 PROFIBUS 的 ET200SP/ET200MP 串口通信模塊。

(2)“USS通信” 是目前最新的指令庫,並且以後的更新也會(hui) 基於(yu) 這個(ge) 指令庫。一般情況下,“USS” 隻是在老項目中使用。下麵的介紹以 “USS 通信” 指令庫為(wei) 例。

(3)“USS” 指令庫下的指令隻能用於(yu) S7-1200 中央機架串口模塊(CM 1241 或 CB 1241)

SINAMICS V20變頻器設置

SINAMICS V20 的啟停和頻率控製通過 PZD 過程數據來實現,參數讀取和修改通過 PKW 參數通道來實現。可以使用連接宏 Cn010 實現 SINAMICS V20 的 USS 通信,也可以直接修改變頻器參數。變頻器參數設置步驟如下:

(一)恢複工廠設置 設置參數 P0010(調試參數)= 30,P0970(工廠複位)= 21

(二)設置用戶訪問級別 設置參數 P0003(用戶訪問級別)= 3 (專(zhuan) 家訪問級別)

(三)設置 SINAMICS V20 變頻器 USS 通信所需的命令源、協議、波特率、地址等參數。選擇連接宏 Cn010 後,需要將參數 P2013 的值由 127(PKW長度可變)修改為(wei) 4(PKW長度為(wei) 4);

此外對於(yu) 本例需要將參數 P2010 的值由 8(波特率 38400)修改為(wei) 6(本例中使用波特率為(wei) 9600)。

(四)變頻器重新上電

在更改通信協議 P2023 後,需要對變頻器重新上電。在此過程中,請在變頻器斷電後等待數秒,確保 LED 燈熄滅或顯示屏空白後再次接通電源。

USS_Port_Scan

USS_Port_Scan 指令用於(yu) 處理 USS 網絡上的通信。用戶程序執行 USS_Port_Scan 指令的次數必須足夠多,以防止驅動器超時。通常從(cong) 循環中斷調用 USS_Port_Scan 。例如添加循環中斷 OB30, 並設置循環中斷時間 30ms。

USS_Port_Scan 指令輸入引腳”PORT“為(wei) 分配的串口模塊的“硬件標識符”。安裝並組態串口模塊之後,可用的端口標識符將出現在 “PORT “功能框連接的參數助手下拉列表中。或者,可在係統常量中找到該硬件標識符值。在 OB30 中調用”USS_Port_Scan“指令, 鼠標雙擊 CPU 1215 DC/DC/DC 站點下的 ”PLC變量>默認變量表“ , 在”係統常量“標簽欄中找到本例所使用的 CM1241 RS422/485 模塊。USS_Port_Scan 指令輸入引腳”USS_DB“指向為(wei) USS_Drive_Control 指令放入程序時創建並初始化的背景數據塊的名稱。

注意:

(1)一個(ge) 串口通信端口無論與(yu) 幾台變頻器連接,都隻能有一個(ge) USS_Port_Scan 指令,每次調用該函數塊都與(yu) 單個(ge) 驅動器進行通信。

(2)如果使用 CB1241,需要使得 USS_Port_Scan 背景 DB 中的 LINE_PRE 起始值更改為(wei) 0。

USS_Drive_Control

USS_Drive_Control 指令用於(yu) 請求消息、驅動器響應消息,以及與(yu) 驅動器交換數據。例如, 本例中將輸入引腳”OFF2“和”OFF3”設置為(wei) True, “”DIR“使能為(wei) True,”Drive“ 設置為(wei) 1,'PZD_LEN“設置為(wei) 2,”SPEED_SP“設置為(wei) 50.0(即 50% 頻率值為(wei) 25Hz), 然後將”RUN“ 使能為(wei) True,使變頻器以 25HZ 頻率運行。

可以使用 DIR 或使用符號(正或負)和 SPEED_SP 輸入控製驅動器旋轉方向。

注意:

每個(ge) 驅動器應使用一個(ge) 單獨的 USS_Drive_Control 函數塊,但同一個(ge) 串口模塊接口下的所有 USS 協議變頻器使用的 USS_Drive_Control 必須使用同一個(ge) 背景數據塊。

USS_Write_Param

USS_Write_Param 指令用於(yu) 修改驅動器中的參數。必須從(cong) 主程序循環 OB 中調用 USS_Write_Param。例如, 本例中將輸入引腳 ”Drive“ 設置為(wei) 1,'PARAM“設置為(wei) 1120,”INDEX“設置為(wei) 0 (即 V20 的加減速時間參數為(wei) 1120, 該參數下標為(wei) 0), 'EEPROM'設置為(wei) False, “VALUE”設置為(wei) “10.0”(即加減速時間 10.0s)。然後將”EN“ 和'REQ'使能為(wei) True,將修改變頻器的加減速時間為(wei) 10.0s。

注意:

請勿過多使用 EEPROM 永久寫(xie) 操作。請盡可能減少 EEPROM 寫(xie) 操作次數以延長 EEPROM 的壽命。

USS_Read_Param

USS_Read_Param 指令用於(yu) 從(cong) 驅動器讀取參數。必須從(cong) 主程序循環 OB 調用 USS_Read_Param。例如, 本例中將輸入引腳 ”Drive“ 設置為(wei) 1,'PARAM“設置為(wei) 1120,”INDEX“設置為(wei) 0 (即 V20 的加減速時間參數為(wei) 1120, 該參數下標為(wei) 0)。然後將”EN“ 和'REQ'使能為(wei) True,讀取變頻器的加減速時間, 該值輸出在參數“VALUE”。

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