發(fā)布時間:2019-08-24 來源:眾智博遠
1 系統(tǒng)配置
1.1軟硬件配置
(1)配備支持USS通信功能控制單元G120變頻器,異步電機。本例中,使用的控制單元是CU240E-2,固件版本V4.5。
(2)S7-200 PLC,與PC的連接電纜。本例中,使用的是CPU224 XP CN,連接電纜使用CP5512。
(3)安裝了Step7 Micro-Win V4.0軟件和USS協(xié)議庫的PC機。本例中,使用的是Step7 Micro-Win V4.0 SP6,USS協(xié)議庫為2.3版本。
在進行PLC編程之前,請確認USS協(xié)議庫已經安裝,如圖1-1。
圖1-1
2.2 S7-200與控制單元間的接線
圖1-2
CU240E-2的控制端子排如圖1-2,從控制單元底部看,共有5個接線端子,其中2號端子為RS485P,3號端子為RS485N,用于通信數(shù)據(jù)的發(fā)送和接收。
圖1-3
S7-200作為USS通信主站,其通信端口和變頻器從站的接線如圖1-3。在通信網絡的首、末端需要使用終端電阻。
對于S7-200,需要在通信端口端子3和8之間,連接一阻值為120歐姆的電阻。
對于變頻器,把通信網絡末端的CU240E-2終端電阻撥碼開關撥到ON位置即可(位置在圖1-1中,標號⑨);中間位置的CU240E-2,終端電阻撥碼開關必須撥到OFF位置。
本例中,S7-200(CPU224 XP CN)使用通信端口Port 0和變頻器進行通信。
2 變頻器設置
2.1 地址設置
變頻器的USS通信地址可以通過控制單元上的總線地址撥碼開關(位置在圖1-1中,標號⑤)進行設置。當?shù)刂窊艽a開關的位置都為OFF時,也可用過參數(shù)P2021進行設置。
2.2 參數(shù)設置
除了設置地址之外,還需要對變頻器一些基本的通信參數(shù)進行設置,才可以進行USS通信,如表2-1所示:
表2-1
參數(shù) | 描述 |
P0015 = 21 | 變頻器宏程序。 15:通過現(xiàn)場總線控制 設置方法:P10=1 → P15=21 → P10=0 |
p2030 = 1 | 現(xiàn)場總線協(xié)議選擇 1:USS協(xié)議 |
p2020 | 現(xiàn)場總線波特率 設置范圍是 4800 bit/s … 187500 bit/s,出廠為 19200 bit/s 本例使用:6(9600) |
P2021 | USS地址(在地址撥碼開關都為OFF時,才有效) 本例使用:3 |
p2040 | 過程數(shù)據(jù)監(jiān)控時間 指沒有收到過程數(shù)據(jù)時發(fā)出報警的延時。 注:必須根據(jù)從站數(shù)量、總線波特率加以調整,出廠設置為 100 ms。 |
3 PLC編程
3.1使用USS協(xié)議的初始化模塊初始化S7-200的PORT0端口
圖3-1
功能塊說明:
注: 此處以及下文的“功能塊說明”僅介紹了功能塊內的主要管腳
功能,未說明的管腳功能,請參考Step7 Micro-Win V4.0軟件的
幫助文件。
輸入:
EN:使能。每次改變通訊狀態(tài)都應該執(zhí)行一次初始化指令,EN信號應該通過脈沖激活。本例中,Port 0端口一直作為USS通信端口使用,因此使用SM0.1初始化一次即可。
Mode:1——為端口0指定USS協(xié)議,并啟用該協(xié)議。
Baud:波特率,應與變頻器定義的波特率一致。本例中,使用9600。
Active:激活驅動器地址,參考圖3-2。本例中,使用2#1000,即激活驅動器地址3。
圖3-2 激活驅動器地址3和5
3.2 使用USS_CTRL功能塊控制變頻器的運行
3.2.1 USS_CTRL功能塊編程
圖3-3
功能塊說明:
輸入:
EN:通常情況總是激活。
RUN:啟動變頻器。0-停止;1-啟動。
OFF2:自由停車。0-正常;1-自由停車。
OFF3:快速停止。0-正常;1-快速停止。
F _ACK:故障復位。通過上升沿對變頻器進行故障復位。
DIR:運行方向。0-正轉;1-反轉
Drive:變頻器USS地址,0-31。本例使用3。
Speed~:速度設定值,通過百分比進行設定,范圍 -200.0~~200.0%。
輸出:
Error:錯誤代碼。有關錯誤代碼說明,請參考表3-1。
Status:變頻器返回的狀態(tài)字。有關G120變頻器狀態(tài)字,請參考《參數(shù)手冊》有關r52參數(shù)的說明。
Speed:變頻器返回的速度實際值的百分比。
Run_EN:變頻器運行狀態(tài)。0-停止;1-運行。
D_Dir:變頻器運行方向。0-正轉;1-反轉。
Inhibit:變頻器禁止位狀態(tài)。0-正常;1-禁止。
Fault:變頻器故障狀態(tài)。0-正常;1-故障。
表3-1
錯誤代碼 | 說明 |
0 | 無錯。 |
1 | 驅動器不應答。 |
2 | 檢測到來自驅動器的應答中檢驗和錯誤。 |
3 | 檢測到來自驅動器的應答中校驗錯誤。 |
4 | 來自用戶程序的干擾造成錯誤。 |
5 | 嘗試非法命令。 |
6 | 提供非法驅動器地址。 |
7 | 未為USS協(xié)議設置通訊端口。 |
8 | 通訊端口正在忙于處理指令。 |
9 | 驅動器速度輸入超出范圍。 |
10 | 驅動器應答長度不正確。 |
11 | 驅動器應答第一個字符不正確。 |
12 | 驅動器應答中的字符長度不受USS指令支持。 |
13 | 錯誤的驅動器應答。 |
14 | 提供的DB_Ptr地址不正確。 |
15 | 提供的參數(shù)號不正確。 |
16 | 選擇了無效協(xié)議。 |
17 | USS激活,不允許改動。 |
18 | 指定了非法波特率。 |
19 | 無通訊:驅動器未設為激活。 |
20 | 驅動器應答中的參數(shù)或數(shù)值不正確或包含錯誤代碼。 |
21 | 返回一個雙字數(shù)值,而不是請求的字數(shù)值。 |
22 | 返回一個字數(shù)值,而不是請求的雙字數(shù)值。 |
3.2.2 分配庫存儲區(qū),編譯,下載。
在編譯程序之前,選擇 “程序塊” ->“ 庫”, 右鍵點擊,選擇“庫存儲區(qū)”。在彈出的對話框中點擊 “建議地址” 選擇V存儲區(qū)的地址后點擊 “OK”退出。如圖3-4。
圖3-4
分配庫存儲區(qū)之后,編譯并下載。
3.2.3 控制變頻器運行。
此時,即可通過USS通信,控制變頻器的運行。
例,
打開狀態(tài)表監(jiān)控,如圖3-5。
M1.0為變頻器的啟停控制位,初始值為0,從0強制為1后,變頻器即可運行。
VD30為變頻器的速度設定值,強制為20.0后,變頻器將以20%的速度運行。
VW20,VD22分別為變頻器返回的狀態(tài)字和速度實際值。
圖3-5
3.3 讀寫參數(shù)
根據(jù)參數(shù)的不同數(shù)據(jù)類型,需要使用不同的功能塊進行變頻器參數(shù)的讀寫。下文中,將通過舉例進行介紹。
注:目前,USS協(xié)議庫的參數(shù)讀寫功能塊,僅適用于讀寫參數(shù)號在3999以下的參數(shù)。對于參數(shù)號在4000以上的參數(shù),如果要進行讀寫,可參考《操作說明》,7.4.2.4節(jié),使用自由口編程的方式進行讀寫,在此不作介紹。
3.3.1 使用USS_RPM_R功能塊讀取浮點型參數(shù)
圖3-6
功能塊說明:
輸入:
EN:需要讀取參數(shù)時激活。
XMT_~:操作請求。使用上升沿激活。
Drive:變頻器USS地址。本例中,使用3。
Param:要讀取的參數(shù)號。本例中,讀取參數(shù)r27(輸出電流實際值)。
Index:參數(shù)下標。本例中,r27無下標,必須定義為下標0。
輸出:
Value:返回的參數(shù)值。
編譯、下載之后,打開狀態(tài)表監(jiān)控,如圖3-7。把M6.0,從0強制為1后,VD560返回值為0.33。即r27=0.33。
圖3-7
3.3.2 使用USS_WPM_R功能塊修改浮點型參數(shù)
圖3-8
功能塊說明:
輸入:
EN:需要修改參數(shù)時激活。
XMT_~:操作請求。使用上升沿激活。
EEPR~:寫入EEPROM存儲器。(注:對CU240B/E-2無效)
Drive:變頻器USS地址。本例中,使用3。
Param:要修改的參數(shù)號。本例中,修改參數(shù)P1120(斜坡上升時間)。
Index:參數(shù)下標。本例中,修改下標0。
Value:要寫入的參數(shù)值。
編譯、下載之后,打開狀態(tài)表監(jiān)控,如圖3-9。把M7.0,從0強制為1后,VD630的當前值15.0將會寫入參數(shù)P1120的下標0中,即P1120.0=15.0。
圖3-9
3.3.3 使用USS_RPM_W功能塊讀取U16(無符號16位)類型參數(shù)
圖3-10
功能塊說明:
輸入:
EN:需要讀取參數(shù)時激活。
XMT_~:操作請求。使用上升沿激活。
Drive:變頻器USS地址。本例中,使用3。
Param:要讀取的參數(shù)號。本例中,讀取參數(shù)P210(電源電壓)。
Index:參數(shù)下標。本例中,P210無下標,必須定義為下標0。
輸出:
Value:返回的參數(shù)值。
編譯、下載之后,打開狀態(tài)表監(jiān)控,如圖3-11。把M2.0,從0強制為1后,VDW160返回值為440。即P210=440。
圖3-11
3.3.4 使用USS_WPM_W功能塊修改U16(無符號16位)類型參數(shù)
圖3-12
功能塊說明:
輸入:
EN:需要修改參數(shù)時激活。
XMT_~:操作請求。使用上升沿激活。
EEPR~:寫入EEPROM存儲器。(注:對CU240B/E-2無效)
Drive:變頻器USS地址。本例中,使用3。
Param:要修改的參數(shù)號。本例中,修改參數(shù)P1211(自動重啟嘗試次數(shù))。
Index:參數(shù)下標。P1211無下標,必須定義為下標0。
Value:要寫入的參數(shù)值。
編譯、下載之后,打開狀態(tài)表監(jiān)控,如圖3-13。把M3.0,從0強制為1后,VW230的當前值2將會寫入參數(shù)P1211的下標0中,即P1211=2。
圖3-13
3.3.5 使用USS_RPM_D功能塊讀取U32(無符號32位)類型參數(shù)
圖3-14
功能塊說明:
輸入:
EN:需要讀取參數(shù)時激活。
XMT_~:操作請求。使用上升沿激活。
Drive:變頻器USS地址。本例中,使用3。
Param:要讀取的參數(shù)號。本例中,讀取參數(shù)P730(DO0功能)。
Index:參數(shù)下標。本例中,P730無下標,必須定義為下標0。
輸出:
Value:返回的參數(shù)值。
編譯、下載之后,打開狀態(tài)表監(jiān)控,如圖3-15。把M4.0,從0強制為1后,VD360返回值為16#0034FC03。即P730=52.3。
圖3-15
注:16#0034FC03到52.3的轉換說明
當使用讀寫參數(shù)的功能塊時,類似于P730=52.3這樣的BICO連接參數(shù),需要經過如下轉換:
高字,0034(16進制)= 52(十進制);
低字中的高字節(jié),對于CU240B/E-2,規(guī)定為FC(16進制);
低字中的低字節(jié),03(16進制)= 3(十進制)。
所以, 0034FC03(16進制)= 52.3(十進制)
3.3.6 使用USS_WPM_D功能塊修改U32(無符號32位)類型參數(shù)
圖3-16
功能塊說明:
輸入:
EN:需要修改參數(shù)時激活。
XMT_~:操作請求。使用上升沿激活。
EEPR~:寫入EEPROM存儲器。(注:對CU240B/E-2無效)
Drive:變頻器USS地址。本例中,使用3。
Param:要修改的參數(shù)號。本例中,修改參數(shù)P731(DO1功能)。
Index:參數(shù)下標。本例中,P731無下標,必須定義為下標0。
Value:要寫入的參數(shù)值。
編譯、下載之后,打開狀態(tài)表監(jiān)控,如圖3-17。把M5.0,從0強制為1后,VD430的當前值16#0034FC0C將會寫入參數(shù)P731中,即P731=52.12。有關0034FC0C(16進制)到52.12的轉換,請參考3.5.1節(jié)中的注釋。