USS通訊在交流調速控制系統中的應用
關鍵詞:USS、PLC、變頻器
中圖分類號: 文獻標識碼
引 言:
傳統的PLC與變頻器之間的接口大多采用的是依靠PLC的數字量輸出來控制變頻器的啟停,依靠PLC的模擬輸出來控制變頻器的速度給定,這樣做存在以下問題:
1、需要控制系統在設計時采用很多硬件,價格昂貴
2、現場的布線多容易引起躁聲和干擾
3、PLC 和變頻器之間傳輸的信息受硬件的限制,交換的信息量很少。
4、在變頻器的啟停控制中由于繼電器接觸器等硬件的動作時間有延時,影響控制精度。
5、通常變頻器的故障狀態由一個接點輸出,PLC能得到變頻器的故障狀態,但不
能準確的判斷當故障發生時,變頻器是何種故障。
如果PLC通過與變頻器進行通訊來進行信息交換,可以有效地解決上述問題,通訊方式使用的硬件少,傳送的信息量大,速度快,等特點可以有效地解決上述問題,另外,通過網絡,可以連續地對多臺變頻器進行監視和控制,實現多臺變頻器之間的聯動控制和同步控制,通過網絡還可以實時的調整變頻器的參數。
目前各個廠家的變頻器都相繼的開發出了支持連網的功能,比如,很多變頻器都有了支持現場總線(如:DEVICENET、PROFIBUS、AS_I)等的接口協議,可以很方便的與PLC進行數據通信。本文主要介紹西門子S7-200和MicroMaster變頻器之間的通訊協議USS,使用USS通訊協議,用戶可以通過程序調用的方式實現S7-200和MicroMaster變頻器之間的通信,編程的工作量小,通訊網絡由PLC和變頻器內置的RS485通訊口和雙絞線組成,一臺S7-200最多可以和31臺變頻器進行通訊,這是一種費用低、使用方便的通訊方式。
一、USS通訊協議介紹
USS通訊協議的功能,所有的西門子變頻器都帶有一個RS485通訊口,PLC作為主站,最多允許31個變頻器作為通訊連路中的從站,根據各變頻器的地址或者采用廣播方式,可以訪問需要通訊的變頻器,只有主站才能發出通訊請求報文,報文中的地址字符指定要傳輸數據的從站,從站只有在接到主站的請求報文后才可以向從站發送數據,從站之間不能直接進行數據交換。在使用USS協議之前,需要先安裝西門子的指令庫。USS協議指令在STEP7—MICRO/WIN32指令樹的庫文件夾中,STEP7—MICRO/WIN32指令庫提供14個子程序、3個中斷程序和8條指令來支持USS協議。調用一條指令時,將會自動地增加一個或幾個子程序。
USS協議使用CPU的下列資源,
1)USS協議占用PLC的通訊端口0或1,使用USS——INIT指令可以選擇PLC的端口是使用USS協議還是PPI協議,選擇USS協議后PLC的相應端口不能在做其它用途,包括與STEP7-WICRO/WIN32的通訊,只有通過執行另外一條USS指令或將PLC——CPU的模式開關撥到RUN或STOP狀態,才能鐘新在進行PPI通訊,當PLC和與變頻器通訊中斷時,變頻器將停止運行,所以在本例中選擇CPU226 因為它有兩個通訊端口,當第一個口用于USS通訊時,第二個端口可以用于程序監控,USS指令要占用2300~3600字節的程序存儲空間和400個字節的變量存儲區間
2)變頻器的通訊與CPU的掃描時異步的,完成一次變頻器的通訊通常需要幾個CPU的掃描周期,通訊時間和鏈路上變頻器的臺數、波特率和掃描周期有關,本例中通訊的波特率設定為19200,變頻器的臺數為3臺,經實際調試檢測通訊時間大約為50ms.
二、使用USS協議的步驟:
1)安裝指令庫后在STEP7-Micro/win32指令樹的/指令/庫/USS PROTOOL文件夾中將出現8條指令,用它門來控制變頻器的運行和變頻器參數的讀寫操作,這些子程序是西門子公司開發的用戶不需要關注這些指令的內部結構,只需要在程序中調用即可。
2)調用USS—INIT初始化改變USS的通訊參數,只需要調用一次即可,在用戶程序中每一個被激活的變頻器只能用一條USS-DRIVE-CTRL指令,可以任意使用USS-RPM-X 或USS-WPM-X指令,但是每次只能激活其中的一條指令。
3)為USS指令庫分配V存儲區。在用戶程序中調用USS指令后,用鼠標點擊指令書中的程序塊圖標,在探出的菜單中執行庫內存命令,為USS指令庫使用的397個字節的V存儲區指定起始地址,
4)用變頻器的操作面板設置變頻器的通訊參數,使之與用戶程序中所用的波特率和從站地址相一致。
5)連接CPU和變頻器之間的通訊電纜,為了提高看干擾能力最好采用屏蔽電纜。
三、USS指令說明
1、初始化指令USS-INIT
初始化指令USS-INIT用于允許或禁止PLC和變頻器之間的通訊,在執行其他USS協議前,必須先成功的執行一次USS-INIT指令,只有當該指令成滾執行完成后其完成位(DONE)置位后,才能繼續執行下面的指令。次USS-INIT指令的參數如表1所示:
表1 USS-INIT指令的參數
序號 | 參數 | 數據類型 | 參數功能 |
1 | EN | BOOL | 該位為1時USS-INIT指令被執行,通常采用脈沖指令 |
2 | MODE | BYTE | 用于選擇PLC通訊端口的通訊協議,1 選擇USS, 0選擇PPI |
3 | BAUD | INT | 指定通訊的波特率, |
4 | ACTIVE | DINT | 用于設定鏈路上的哪個變頻器被激活,ACTIVE共32位,0~31分別對應通訊鏈路上的0到31臺變頻器。例如:ACTIVE的給定值為 16#0000 0000 0000 0010時,表示鏈路上的第二臺變頻器被激活。被激活的變頻器自動地與主站PLC進行通訊,以控制其運行和采集其狀態。 |
5 | DONE | BIT | 當USS-INIT指令正確執行完成后該位置1 |
6 | ERROR | BYTE | 在USS-INIT指令執行有錯誤時該字節包含錯誤代碼 |
2、控制指令USS-CTRL
USS-CTRL指令用于控制已經用USS-INIT激活了的變頻器,每臺變頻器只能使用一條這樣的指令,該指令將用戶命令放在一個通訊緩沖區內,如果指令的參數DRIVE指定的變頻器已經激活,緩沖區內的命令將被發送到指定的變頻器,該指令的參數如表2所示:
表2 USS-CTRL指令的參數
序號 | 參數 | 數據類型 | 參數功能 |
1 | EN | BOOL | 該位為1時USS-CTRL指令被執行,通常該指令總是處于使能狀態。 |
2 | RUN | BOOL | 該命令用于控制變頻器的啟動停止狀態, RUN=1 OFF2=0,OFF3=0時變頻器啟動; RUN=0 變頻器停止; |
3 | OFF2 | BOOL | 該命令用于控制變頻器的停車方式, 當OFF2=1時選擇自由停車方式。 |
4 | OFF3 | BOOL | 該命令用于控制變頻器的停車方式, 當OFF3=1時選擇制動停車方式。 |
5 | F-ACK | BOOL | 該命令用于復位變頻器,當F-ACK=1時變頻器復位。 |
6 | DIR | BOOL | 該命令用于控制變頻器的運行方向,當DIR=1時變頻器正轉;當DIR=0時變頻器反轉。 |
7 | Drive | BYTE | 該命令用于設定變頻器的站地址,指定該CTRL指令的命令要發送到那臺變頻器 |
8 | Type | BYTE | 變頻器的類型:Type=1 M440 系列的變頻器; Type=0其它系列的變頻器。 |
9 | Speed_SP | REAL | 該指令用滿速的百分比表示變頻器速度的設定值(-200.0~200.0%)改制為負數時變頻器反轉。 |
10 | Resp_R | BOOL | 變頻器的返回信號,處于激活狀態的變頻器在收到控制命令后產生一個回饋信號,當CPU從變頻器收到一個信號后接通一個掃描周期。 |
11 | Error | BYTE | 當變頻器產生錯誤時該字節包含錯誤代碼。 |
12 | Status | INT | 變頻器返回的狀態信號。 |
13 | Speed | DINT | 變頻器返回的實際運行速度 |
14 | Run_EN | BOOL | 變頻器返回的運行狀態信號 1 代表變頻器正在運行,0代表變頻已停止 |
15 | D_Dir | BOOL | 變頻器返回的運行方向信號 1 代表變頻器正轉,0代表變頻反轉 |
16 | Inhibit | BOOL | 變頻器返回的禁止狀態信號 1代表變頻器禁止,0代表變頻器開放。 |
17 | Fault | BOOL | 變頻器返回的故障狀態信號 1代表變頻器有故障,0代表變頻器五故障。 |
3、讀取變頻器參數的USS_RPM_X指令
讀取變頻器參數的指令包括USS_RPM_W; USS_RPM_D; USS_RPM_R三條指令,分別用于讀取變頻器的一個無符號字,一個無符號雙字和一個實數類型的參數,該指令的參數如表3所示:
表3 USS_RPM_X指令的參數
序號 | 參數 | 數據類型 | 參數功能 |
1 | EN | BOOL | 該位為1時啟動請求的發送,并且要保持該位為1直到Done位為1標志著整個參數讀取過程完成。 |
2 | XMT-REQ | BOOL | 該位為1時讀取參數指令的請求發送給此變頻器,該位和EN位通常用一個信號,但該請求通常用脈沖信號。 |
3 | Drive | BYTE | 該指令要讀的那臺變頻器的站地址。 |
4 | Param | INT | 該指令要讀取的變頻器參數的編號。 |
5 | Index | INT | 該指令要讀取的變頻器參數的下標。 |
6 | DB_Ptr | DINT | 該參數指定16字節的存儲空間,用于存放向變頻器發送的命令。 |
7 | Done | BOOL | 該指令執行完成標志位。 |
8 | Error | BYTE | 當指令執行錯誤時該字節包含錯誤代碼。 |
9 | Value | INT | 由變頻器返回的參數值。 |
4、寫變頻器參數的USS_WPM_X指令
寫變頻器參數的指令包括USS_WPM_W; USS_WPM_D; USS_WPM_R三條指令,分別用于向指定變頻器寫入一個無符號字,一個無符號雙字和一個實數類型的參數,該指令的參數如表4所示:
表4 USS_WPM_X指令的參數
序號 | 參數 | 數據類型 | 參數功能 |
1 | EN | BOOL | 該位為1時啟動請求的寫操作,并且要保持該位為1直到Done位為1標志著整個參數的寫操作過程完成。 |
2 | XMT-REQ | BOOL | 該位為1時寫參數指令的請求發送給比變頻器,該位和EN位通常用一個信號,但該請求通常用脈沖信號。 |
3 | EEPROM | BOOL | 該參數為1時寫入到變頻器的參數同時存儲在變頻器的EEPROM和ROM當中,該參數為0時寫入到變頻器的參數只存儲在變頻器的ROM當中。 |
4 | Drive | BYTE | 該指令要寫的那臺變頻器的站地址。 |
5 | Param | INT | 該指令要寫的變頻器參數的編號。 |
6 | Index | INT | 該指令要寫的變頻器參數的下標。 |
7 | Value | DINT | 寫入到變頻器中的參數值。 |
8 | DB_Ptr | BOOL | 該參數指定16字節的存儲空間,用于存放向變頻器發送的命令。 |
9 | Done | BYTE | 該指令執行完成標志位。 |
10 | Error | INT | 當指令執行錯誤時該字節包含錯誤代碼。 |
四、在使用USS協議時變頻器的相關參數設定如下(以MM440為例)
1、P0003=3 允許訪問變頻器的所有參數。
2、P0970=1 允許變頻器通過參數復位。
3、P0700=5 變頻器的控制方式選擇為通訊方式。
4、P2010[2]=6 變頻器的USS波特率選擇為9600
5、P2011[0]=11 變頻器的USS地址0~31
五、應用實例
1、控制說明
自動化生產線運載小車是工業自動化生產過程中一種非常實用的機械,它主要用在工廠的自動化生產上不同的生產線之間以及不同的工位之間的物料搬運。它的一個完整的動作周期包括:當一個工位需要裝配零件時,該工位的操作者在該工位的操作盤上輸入需要的零件名稱,輸入的信號通過MIS(或ERP)系統生成一個作業信息,該作業信息包括所需零件的存放位置,零件的外型尺寸及所需工位的工位號,然后,MIS(或ERP)系統把該作業信息發送到運載小車的控制系統中,如果運載小車正在作上次接收到作業,則本次下發的作業信息存儲到運載小車的作業隊列中,前面所接收到作業做完后執行該作業,執行該作業的步驟是運行到取料位置,根據零件的外型尺寸,決定取料時升降和左、右的運行位移,取料完成后,帶載運行到所需零件的工位.運載小車動作過程可分為前進、后退;上升、下降;向左、向右,三個方向的運動,在控制系統的設計上,前后運行采用一臺變頻器,上升下降運行采用一臺變頻器;左右運行采用一臺變頻器。控制系統采用西門子S7-200系列的CPU226,CPU226和三臺變頻器之間采用USS協議進行通訊,系統的硬件配置如下圖所示:

圖1:系統的硬件配置圖
2、USS通訊的控制程序:

六、結語
本文主要介紹西門子S7-200和MicroMaster變頻器之間的通訊協議USS,使用USS通訊協議,用戶可以通過程序調用的方式實現S7-200和MicroMaster變頻器之間的通信,編程的工作量小,通訊網絡由PLC和變頻器內置的RS485通訊口和雙絞線組成,一臺S7-200最多可以和31臺變頻器進行通訊,這是一種費用低使用方便的通訊方式。.本系統已多次成功應用。
參考文獻:
1、《交流調速系統》劉競成 上海交大出版社 1998
2、《西門子MM440 變頻器用戶手冊》
3、《S7-200 用戶手冊》
Liuhongbin
(Automation college of Science & Technology Institute of Taiyuan 030024)
Abstract: Communication between PLC and inventer were been widely used in the various field of industry, and many manufacturer had developed their communication protocol (such as PROFIBUS,DEVICENET CONTROLNET), this paper just give a brief introduction of USS protocol that was developed by Siemens Company, also give a example based on the S7-200 PLC and MM440 Inventor.
Key words: USS protocol、PLC、Inventor
作者聯系方式:
劉紅兵
電話:13503542621、0351-6997496
郵箱:LIUHONGMARCH@SINA.COM
文章版權歸西部工控xbgk所有,未經許可不得轉載。