詳細(xì)介紹
西門子SM1222數(shù)字量擴展模塊緊湊型PLC在當(dāng)前的市場中有著廣泛的應(yīng)用,作為經(jīng)常與SINAMICS G120系列變頻器共同使用的PLC,其USS通信協(xié)議的使用一直在市場上有著非常廣泛的應(yīng)用。本文將主要介紹如何使用USS通信協(xié)議來實現(xiàn)S7-1200與G120變頻器的通信。
1.控制系統(tǒng)原理和接線圖
下圖是本例中所使用的原理和接線圖。
圖1:控制系統(tǒng)原理和接線圖
2.硬件需求
S7-1200 PLC目前有3種類型的CPU:
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
這三種類型的CPU都可以使用USS通信協(xié)議通過通信模塊CM1241 RS485來實現(xiàn)S7-1200與G120變頻器的通信。
本例中使用的PLC硬件為:
1)PM1207電源 ( 6EP1 332-1SH71 )
2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 )
3) CM1241 RS485 ( 6ES7 241 -1CH30 -0XB0 )
4) 模擬器 ( 6ES7 274 -1XH30 -0XA0 )
本例中使用的G120變頻器硬件為:
1) SINAMICS G120 PM240 (6SL3244-0BA20-1BA0)
2) SINAMICS G120 CU240S(6SL3224-0BE13-7UA0)
3) SIEMENS MOTOR (1LA7060-4AB10)
4) 操作面板 ( XAU221-001469)
5) USS 通信電纜 ( 6XV1830-0EH10)
3.軟件需求
1) 編程軟件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0)
4.組態(tài)
我們通過下述的實際操作來介紹如何在Step7 Basic V10.5 中組態(tài)S7-1214C 和G120變頻器的USS通信。
4. 1 PLC 硬件組態(tài)
首先在Step7 Basic V10.5中建立一個項目,如圖1所示。
圖2: 新建S7 1200項目西門子SM1222數(shù)字量擴展模塊
在硬件配置中,添加CPU1214C和通信模塊CM1241 RS485模塊,如圖2所示。
圖3: S7 1200硬件配置
在CPU的屬性中,設(shè)置以太網(wǎng)的IP地址,建立PG與PLC的連接,如下圖所示。
圖4: S7 1200 IP地址的設(shè)置
4. 2 G120參數(shù)設(shè)置
變頻器的參數(shù)設(shè)置如下表所示。
序號 | 功能 | 參數(shù) | 設(shè)定值 |
1 | 工廠設(shè)置復(fù)位 | P0010 | 30 |
2 | 工廠設(shè)置復(fù)位 | P970 | 1 |
3 | 快速啟動設(shè)置 | P0010 | 1 |
4 | 電機額定電壓 | P0304 | 380V |
5 | 電機額定功率 | P0307 | 5.5KW |
6 | 電機額定頻率 | P0310 | 50Hz |
7 | 電機額定轉(zhuǎn)速 | P0311 | 1350r/min |
8 | USS命令源 | P0700 | 5 |
9 | 頻率設(shè)定源 | P01000 | 5 |
10 | 小電機頻率 | P1080 | 0.0Hz |
11 | 大電機頻率 | P1081 | 50.0Hz |
12 | 啟動斜坡時間 | P1120 | 10.0S |
13 | 延遲斜坡時間 | P1121 | 10.0S |
14 | 結(jié)束快速啟動設(shè)置 | P3900 | 1 |
15 | 激活專家模式 | P0003 | 3 |
16 | 參考頻率 | P2000 | 50.0Hz |
17 | USS數(shù)據(jù)傳輸速度 | P2010 | 9 |
18 | USS從站地址 | P2011 | 1 |
19 | USS PZD長度 | P2012 | 2 |
20 | USS PKW長度 | P2013 | 4 |
21 | 通信監(jiān)控 | P2014 | 0 |
22 | 在E2PROM 保存數(shù)據(jù) | P0971 | 1 |
23 | 激活專家模式 | P0003 | 3 |
24 | 激活參數(shù)模式 | P0010 | 30 |
25 | 從G120中傳輸參數(shù)到BOP | P0802 | 1 |
表1 :G120變頻器的參數(shù)設(shè)置
注意:表1中的17,18,19,20 這四項參數(shù)值的設(shè)置必須使PLC的參數(shù)值與變頻器的參數(shù)值相*。而19,20這兩個參數(shù)值必須設(shè)置成如表1中的值,否則有可能變頻器與S7-1200通信有如下問題:可能不能讀出從變頻器反饋回來的參數(shù)值。
5.USS通信原理與編程的實現(xiàn)
5. 1 S7 1200 PLC與G120 通過USS通信的基本原理
S7 1200提供了的USS庫進行USS通信,如下圖所示:
圖5: S7 1200 的USS庫
USS_DRV 功能塊是S7-1200 USS通信的主體功能塊,接受變頻器的信息和控制變頻器的指令都是通過這個功能快來完成的。必須在主 OB中調(diào)用,不能在循環(huán)中斷OB中調(diào)用。
USS_PORT功能塊是S7-1200與變頻器USS通信的接口,主要設(shè)置通信的接口參數(shù)。可在主OB或中斷OB中調(diào)用。
USS_RPM功能塊是通過USS通信讀取變頻器的參數(shù)。必須在主 OB中調(diào)用,不能在循環(huán)中斷OB中調(diào)用。
USS_WPM功能塊是通過USS通信設(shè)置變頻器的參數(shù)。必須在主 OB中調(diào)用,不能在循環(huán)中斷OB中調(diào)用。
這些功能塊與變頻器之間的控制關(guān)系如下圖所示:
圖6: USS 通信功能塊與變頻器的控制關(guān)系
USS_DRV功能塊通過USS_DRV_DB數(shù)據(jù)塊實現(xiàn)與USS_PORT功能塊的數(shù)據(jù)接收與傳送,而USS_PORT功能塊是S7-1200 PLC CM1241 RS485模塊與變頻器之間的通信接口。USS_RPM功能塊和USS_WPM功能塊與變頻器的通信與USS_DRV功能塊的通信方式是相同的。
每個S7-1200 CPU多可帶3個通信模塊,而每個CM1241 RS485通信模塊多支持16個變頻器。因此用戶在一個S7-1200 CPU中多可建立3個USS網(wǎng)絡(luò),而每個USS網(wǎng)絡(luò)多支持16個變頻器,總共多支持48個USS變頻器。
5. 2 S7 1200 PLC進行USS通信的編程
1.USS通信接口參數(shù)功能塊的編程
USS通信接口參數(shù)功能塊的編程如下圖所示。
圖7: USS通信接口參數(shù)功能塊的編程
USS_PORT功能塊用來處理USS網(wǎng)絡(luò)上的通信,它是S71200 CPU與變頻器的通信借口。每個CM1241 RS485模塊有且必須有一個USS_PORT功能塊。
PORT:指的是通過哪個通信模塊進行USS通信。
BAUD:指的是和變頻器進行通行的速率。 變頻器的參數(shù)P2010種進行設(shè)置。
USS_DB:指的是和變頻器通信時的USS數(shù)據(jù)塊。每個通信模塊多可以有16個USS數(shù)據(jù)塊,每個CPU多可以有48個USS數(shù)據(jù)塊,具體的通信情況要和現(xiàn)場實際情況相聯(lián)系。每個變頻器與S7-1200進行通信的數(shù)據(jù)塊是一的。
ERROR:輸出錯誤。
STATUS:掃描或初始化的狀態(tài)。
S7-1200 PLC與變頻器的通信是與它本身的掃描周期不同步的,在完成一次與變頻器的通信事件之前,S7-1200通常完成了多個掃描。
USS_PORT通信的時間間隔是S7-1200與變頻器通信所需要的時間,不同的通信波特率對應(yīng)的不同的USS_PORT通信間隔時間。下圖列出了不同的波特率對應(yīng)的USS_PORT小通信間隔時間。
圖8:不同的波特率對應(yīng)的USS_PORT小通信間隔時間
USS_PORT在發(fā)生通信錯誤時,通常進行3次嘗試來完成通信事件,那么S7-1200與變頻器通信的時間就是USS_PORT發(fā)生通信超時的時間間隔。例如:如果通信波特率是57600,那么USS_PORT與變頻器通信的時間間隔應(yīng)當(dāng)大于小的調(diào)用時間間隔,即大于36.1Ms而小于109Ms。S7-1200 USS 協(xié)議庫默認(rèn)的通信錯誤超時嘗試次數(shù)是2次。
基于以上的USS_PORT通信時間的處理,我們建議在循環(huán)中斷OB塊中調(diào)用USS_PORT通信功能塊。在建立循環(huán)中斷OB塊時,我們可以設(shè)置循環(huán)中斷OB塊的掃描時間,以滿足通信的要求。循環(huán)中斷OB塊的掃描時間的設(shè)置如下圖所示:
圖9:循環(huán)中斷OB塊的掃描時間的設(shè)置
2.USS_DRV功能塊的編程
USS_DRV功能塊的編程如下圖所示。
西門子SM1222數(shù)字量擴展模塊
圖10: USS_DRV功能塊的編程
USS_DRV功能塊用來與變頻器進行交換數(shù)據(jù),從而讀取變頻器的狀態(tài)以及控制變頻器的運行。每個變頻器使用一的一個USS_DRV功能塊,但是同一個CM1241 RS485模塊的USS網(wǎng)絡(luò)的所有變頻器(多16個)都使用同一個USS_DRV_DB。
USS_DRV_DB:變頻器進行USS通信的數(shù)據(jù)塊。
RUN: DB塊的變頻器啟動指令。
OFF2: 緊急停止,自由停車。 該位為0時停車。
OFF3: 快速停車,帶制動停車。 該位為0時停車。
F_ACK: 變頻器故障確認(rèn)。
DIR : 變頻器控制電機的轉(zhuǎn)向。
SPEED_SP: 變頻器的速度設(shè)定值。
ERROR: 程序輸出錯誤。
RUN_EN: 變頻器運行狀態(tài)指示。
D_DIR: 變頻器運行方向狀態(tài)指示。
INHIBIT: 變頻器是否被禁止的狀態(tài)指示。
FAULT: 變頻器故障。
SPEED: 變頻器的反饋的實際速度值。
DRIVE: 變頻器的USS站地址。變頻器參數(shù)P2011設(shè)置。
PZD_LEN: 變頻器的循環(huán)過程字。 變頻器參數(shù)P2012設(shè)置。
注意:變頻器的PKW的長度在這里是特殊需要注意的,在使用USS通信時必須是4,如果改成3或者127都將不能讀取反饋回來的過程值。