西门子S7-1200与 G120系列变频器USS通信
西門子S7-1200 緊湊型PLC在當前的市場中有著廣泛的應用,作為經常與SINAMICS G120系列變頻器共同使用的PLC,其USS通信協議的使用一直在市場上有著非常廣泛的應用。本文將主要介紹如何使用USS通信協議來實現S7-1200與G120變頻器的通信。
1.控制系統原理和接線圖
下圖是本例中所使用的原理和接線圖。
圖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變頻器的通信。
本例中使用的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.組態
我們通過下述的實際操作來介紹如何在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通信時,需要注意如下幾點:
當同一個CM1241 RS485 模塊帶有多個(最多16個)USS變頻器時,這個時候通信的USS_DB是同一個,USS_DRV功能塊調用多次,每個USS_DRV功能塊調用時,相對應的USS站地址與實際的變頻器要一致,而其它的控制參數也要一致。
當同一個S7-1200 PLC 帶有多個CM1241 RS485模塊(最多3個)時,這個時候通信的USS_DB相對應的是3個,每個CM1241 RS485模塊的USS網絡使用相同的USS_DB,不同的USS網絡使用不同的USS_DB。
當對變頻器的參數進行讀寫操作時,注意不能同時進行USS_RPM和USS_WPM的操作,并且同一時間只能進行一個參數的讀或者寫操作,而不能進行多個參數的讀或者寫操作。
在S7-1200 PLC 與變頻器的USS通信的實際使用過程中,需要根據網絡的現場情況,對問題進行具體的解決。
總結
以上是生活随笔為你收集整理的西门子S7-1200与 G120系列变频器USS通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go语言一天入门(下)
- 下一篇: passwd(总结)