西門子S7-1200 緊湊型PLC在當前的市場中有着普遍的應用,做爲常常與SINAMICS G120系列變頻器共同使用的PLC,其USS通訊協議的使用一直在市場上有着很是普遍的應用。本文將主要介紹如何使用USS通訊協議來實現S7-1200與G120變頻器的通訊。編程
1.控制系統原理和接線圖網絡
下圖是本例中所使用的原理和接線圖。3d
圖1:控制系統原理和接線圖調試
2.硬件需求
S7-1200 PLC目前有3種類型的CPU:
1)S7-1211C CPU。
2)S7-1212C CPU。
3)S7-1214C CPU。
這三種類型的CPU均可以使用USS通訊協議經過通訊模塊CM1241 RS485來實現S7-1200與G120變頻器的通訊。blog
本例中使用的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.組態table
咱們經過下述的實際操做來介紹如何在Step7 Basic V10.5 中組態S7-1214C 和G120變頻器的USS通訊。
4. 1 PLC 硬件組態
首先在Step7 Basic V10.5中創建一個項目,如圖1所示。
圖2: 新建S7 1200項目
在硬件配置中,添加CPU1214C和通訊模塊CM1241 RS485模塊,如圖2所示。
圖3: S7 1200硬件配置
在CPU的屬性中,設置以太網的IP地址,創建PG與PLC的鏈接,以下圖所示。
圖4: S7 1200 IP地址的設置
4. 2 G120參數設置
變頻器的參數設置以下表所示。
序號 | 功能 | 參數 | 設定值 |
1 | 工廠設置復位 | P0010 | 30 |
2 | 工廠設置復位 | P970 | 1 |
3 | 快速啓動設置 | P0010 | 1 |
4 | 電機額定電壓 | P0304 | 380V |
5 | 電機額定功率 | P0307 | 5.5KW |
6 | 電機額定頻率 | P0310 | 50Hz |
7 | 電機額定轉速 | P0311 | 1350r/min |
8 | USS命令源 | P0700 | 5 |
9 | 頻率設定源 | P01000 | 5 |
10 | 最小電機頻率 | P1080 | 0.0Hz |
11 | 最大電機頻率 | P1081 | 50.0Hz |
12 | 啓動斜坡時間 | P1120 | 10.0S |
13 | 延遲斜坡時間 | P1121 | 10.0S |
14 | 結束快速啓動設置 | P3900 | 1 |
15 | 激活專家模式 | P0003 | 3 |
16 | 參考頻率 | P2000 | 50.0Hz |
17 | USS數據傳輸速度 | P2010 | 9 |
18 | USS從站地址 | P2011 | 1 |
19 | USS PZD長度 | P2012 | 2 |
20 | USS PKW長度 | P2013 | 4 |
21 | 通訊監控 | P2014 | 0 |
22 | 在E2PROM 保存數據 | P0971 | 1 |
23 | 激活專家模式 | P0003 | 3 |
24 | 激活參數模式 | P0010 | 30 |
25 | 從G120中傳輸參數到BOP | P0802 | 1 |
表1 :G120變頻器的參數設置
注意:表1中的17,18,19,20 這四項參數值的設置必須使PLC的參數值與變頻器的參數值相一致。而19,20這兩個參數值必須設置成如表1中的值,不然有可能變頻器與S7-1200通訊有以下問題:可能不能讀出從變頻器反饋回來的參數值。
5.USS通訊原理與編程的實現
5. 1 S7 1200 PLC與G120 經過USS通訊的基本原理
S7 1200提供了專用的USS庫進行USS通訊,以下圖所示:
圖5: S7 1200 專用的USS庫
USS_DRV 功能塊是S7-1200 USS通訊的主體功能塊,接受變頻器的信息和控制變頻器的指令都是經過這個功能快來完成的。必須在主 OB中調用,不能在循環中斷OB中調用。
USS_PORT功能塊是S7-1200與變頻器USS通訊的接口,主要設置通訊的接口參數。可在主OB或中斷OB中調用。
USS_RPM功能塊是經過USS通訊讀取變頻器的參數。必須在主 OB中調用,不能在循環中斷OB中調用。
USS_WPM功能塊是經過USS通訊設置變頻器的參數。必須在主 OB中調用,不能在循環中斷OB中調用。
這些專用功能塊與變頻器之間的控制關係以下圖所示:
圖6: USS 通訊功能塊與變頻器的控制關係
USS_DRV功能塊經過USS_DRV_DB數據塊實現與USS_PORT功能塊的數據接收與傳送,而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網絡,而每一個USS網絡最多支持16個變頻器,總共最多支持48個USS變頻器。
5. 2 S7 1200 PLC進行USS通訊的編程
1.USS通訊接口參數功能塊的編程
USS通訊接口參數功能塊的編程以下圖所示。
圖7: USS通訊接口參數功能塊的編程
USS_PORT功能塊用來處理USS網絡上的通訊,它是S71200 CPU與變頻器的通訊藉口。每一個CM1241 RS485模塊有且必須有一個USS_PORT功能塊。
PORT:指的是經過哪一個通訊模塊進行USS通訊。
BAUD:指的是和變頻器進行通行的速率。 變頻器的參數P2010種進行設置。
USS_DB:指的是和變頻器通訊時的USS數據塊。每一個通訊模塊最多能夠有16個USS數據塊,每一個CPU最多能夠有48個USS數據塊,具體的通訊狀況要和現場實際狀況相聯繫。每一個變頻器與S7-1200進行通訊的數據塊是惟一的。
ERROR:輸出錯誤。
STATUS:掃描或初始化的狀態。
S7-1200 PLC與變頻器的通訊是與它自己的掃描週期不一樣步的,在完成一次與變頻器的通訊事件以前,S7-1200一般完成了多個掃描。
USS_PORT通訊的時間間隔是S7-1200與變頻器通訊所須要的時間,不一樣的通訊波特率對應的不一樣的USS_PORT通訊間隔時間。下圖列出了不一樣的波特率對應的USS_PORT最小通訊間隔時間。
圖8:不一樣的波特率對應的USS_PORT最小通訊間隔時間
USS_PORT在發生通訊錯誤時,一般進行3次嘗試來完成通訊事件,那麼S7-1200與變頻器通訊的時間就是USS_PORT發生通訊超時的時間間隔。例如:若是通訊波特率是57600,那麼USS_PORT與變頻器通訊的時間間隔應當大於最小的調用時間間隔,即大於36.1Ms而小於109Ms。S7-1200 USS 協議庫默認的通訊錯誤超時嘗試次數是2次。
基於以上的USS_PORT通訊時間的處理,咱們建議在循環中斷OB塊中調用USS_PORT通訊功能塊。在創建循環中斷OB塊時,咱們能夠設置循環中斷OB塊的掃描時間,以知足通訊的要求。循環中斷OB塊的掃描時間的設置以下圖所示:
圖9:循環中斷OB塊的掃描時間的設置
2.USS_DRV功能塊的編程
USS_DRV功能塊的編程以下圖所示。
圖10: USS_DRV功能塊的編程
USS_DRV功能塊用來與變頻器進行交換數據,從而讀取變頻器的狀態以及控制變頻器的運行。每一個變頻器使用惟一的一個USS_DRV功能塊,可是同一個CM1241 RS485模塊的USS網絡的全部變頻器(最多16個)都使用同一個USS_DRV_DB。
USS_DRV_DB:指定變頻器進行USS通訊的數據塊。
RUN: 指定DB塊的變頻器啓動指令。
OFF2: 緊急中止,自由停車。 該位爲0時停車。
OFF3: 快速停車,帶制動停車。 該位爲0時停車。
F_ACK: 變頻器故障確認。
DIR : 變頻器控制電機的轉向。
SPEED_SP: 變頻器的速度設定值。
ERROR: 程序輸出錯誤。
RUN_EN: 變頻器運行狀態指示。
D_DIR: 變頻器運行方向狀態指示。
INHIBIT: 變頻器是否被禁止的狀態指示。
FAULT: 變頻器故障。
SPEED: 變頻器的反饋的實際速度值。
DRIVE: 變頻器的USS站地址。變頻器參數P2011設置。
PZD_LEN: 變頻器的循環過程字。 變頻器參數P2012設置。
注意:變頻器的PKW的長度在這裏是特殊須要注意的,在使用USS通訊時必須是4,若是改爲3或者127都將不能讀取反饋回來的過程值。
3.USS_RPM功能塊的編程
USS_RPM功能塊的編程 以下圖所示。
圖11:USS_RPM功能塊的編程
USS_RPM功能塊用於經過USS通訊從變頻器讀取參數。
REQ: 讀取參數請求。
DRIVE: 變頻器的USS站地址。
PARAM: 變頻器的參數代碼。
INDEX: 變頻器的參數索引代碼
USS_DB: 指定變頻器進行USS通訊的數據塊。
DONE: 讀取參數完成。
ERROR: 讀取參數錯誤。
STATUS: 讀取參數狀態代碼。
VALUE: 所讀取的參數的值。
注意:進行讀取參數功能塊編程時,各個數據的數據類型必定要正確對應。若是須要設置變量讀取參數時,注意該參數變量的初始值不能爲0,不然容易產生通訊錯誤。
4.USS_WPM功能塊的編程
USS_WPM功能塊的編程以下圖所示。
圖12:USS_WPM功能塊的編程
USS_WPM 功能塊用於經過USS通訊設置變頻器的參數。
REQ: 讀取參數請求。
DRIVE: 變頻器的USS站地址。
PARAM: 變頻器的參數代碼。
INDEX: 變頻器的參數索引代碼。
EEPROM:把參數存儲到變頻器的EEPROM。
VALUE: 設置參數的值。
USS_DB: 指定變頻器進行USS通訊的數據塊。
DONE: 讀取參數完成。
ERROR: 讀取參數錯誤狀態。
STATUS: 讀取參數狀態代碼。
注意:對寫入參數功能塊編程時,各個數據的數據類型必定要正確對應。若是須要設置變量進行寫入參數值時,注意該參數變量的初始值不能爲0,不然容易產生通訊錯誤。
5. 3 S7 1200 PLC進行USS通訊的調試
S7-1200 PLC 經過CM1241 RS485模塊與變頻器進行USS通訊時,須要注意以下幾點:
在S7-1200 PLC 與變頻器的USS通訊的實際使用過程當中,須要根據網絡的現場狀況,對問題進行具體的解決。