劉為杰,周曉梅,丁家寶
(中國空氣動力研究與發(fā)展中心,四川 綿陽621000)
基于TwinCAT的壓縮機(jī)組實時監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)
劉為杰,周曉梅,丁家寶
(中國空氣動力研究與發(fā)展中心,四川 綿陽621000)
針對多臺大型壓縮機(jī)組監(jiān)測數(shù)據(jù)量大,實時性要求高等問題,設(shè)計了一種基于TwinCAT的壓縮機(jī)組實時監(jiān)測系統(tǒng)。闡述了監(jiān)測系統(tǒng)總體設(shè)計方案,PLC程序編寫,TwinCAT系統(tǒng)管理器組態(tài),上位機(jī)監(jiān)測軟件的研制。應(yīng)用結(jié)果表明該實時系統(tǒng)能夠滿足大數(shù)據(jù)量傳輸、高實時性的要求。
TwinCAT;實時以太網(wǎng);壓縮機(jī);實時監(jiān)測系統(tǒng)
大型壓縮機(jī)組在運(yùn)行過程中需要對壓縮機(jī)組本身以及各類輔機(jī)的運(yùn)行參數(shù)進(jìn)行實時監(jiān)測,以便運(yùn)行人員及時掌握機(jī)組運(yùn)行情況,確保機(jī)組安全運(yùn)行。因此,建立一套快速、可靠的實時監(jiān)測系統(tǒng)是十分必要的。
面對復(fù)雜的工業(yè)現(xiàn)場環(huán)境,實時以太網(wǎng)技術(shù)應(yīng)運(yùn)而生。目前實時以太網(wǎng)技術(shù)正在高速發(fā)展,各個自動化公司相繼推出自己的實時以太網(wǎng)協(xié)議。其中德國倍福(Beckhoff)公司提出開放式實時以太網(wǎng)EtherCAT具有高速、高有效數(shù)據(jù)率的特點,支持幾乎所有的拓?fù)浣Y(jié)構(gòu)[1]。
本文用安裝在PC上的TwinCAT軟件作為實時以太網(wǎng)的軟主站,倍福EtherCAT耦合器、串口通信模塊等構(gòu)成從站,完成對4套壓縮機(jī)組運(yùn)行參數(shù)的讀取。
壓縮機(jī)組實時監(jiān)測系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。4套壓縮機(jī)組,共有14臺儀表設(shè)備需要與上位機(jī)進(jìn)行數(shù)據(jù)通訊,分別為4臺壓縮機(jī)CMC控制面板,4臺干燥站PLC,4臺高壓運(yùn)行柜電機(jī)綜合保護(hù)裝置Sepam M87,2臺輔機(jī)PLC,各儀表均提供RS-485接口。使用倍福EtherCAT耦合器、串口通信模塊構(gòu)成EtherCAT從站,將4套壓縮機(jī)組的運(yùn)行參數(shù),通過EtherCAT總線傳輸?shù)缴衔粰C(jī)TwinCAT系統(tǒng)。
圖1 壓縮機(jī)實時監(jiān)測系統(tǒng)總體結(jié)構(gòu)圖
2.1 從站硬件介紹
EtherCAT從站 由 EtherCAT總線 耦 合 器EK1100,4塊串口接口模塊EL6022,總線末端端子模塊EL9010構(gòu)成。
EK1100:耦合器帶有2個以太網(wǎng)接口,使用第一個以太網(wǎng)接口和網(wǎng)絡(luò)連接,它將從站各模塊間Ebus信號通過EtherCAT總線傳送到主站。
EL6022:與底層Modbus設(shè)備相連,帶有2個RS-422/RS-485串口接口。
EL9010:安裝在所有模塊最后端,起機(jī)械和電氣保護(hù)作用。
2.2 主站硬件介紹
EtherCAT主站基于PC計算機(jī)。在選用PC機(jī)時需要注意網(wǎng)卡的型號。TwinCAT實時功能只支持Intel公司Fast Ethernet Controllers和GigabitEthernet Controllers系列以太網(wǎng)控制器芯片中的部分產(chǎn)品。本項目中PC機(jī)使用的網(wǎng)卡型號為Intel PRO/1000 MFServer Adapter(SX)。
TwinCAT軟件系統(tǒng)作為倍福PLC系統(tǒng)的組態(tài)軟件,是基于PC兼容機(jī)的自動化系統(tǒng),全稱是“The Windows Control and Au-tomation Technology”。它把任何PC兼容機(jī)變成一個帶有多PLC、NC軸控制、編程環(huán)境和控制臺的實時控制系統(tǒng)。其原理如圖2所示,其中TwinCAT ADS通訊,用于TwinCAT系統(tǒng)級(控制器)的非實時通訊,TwinCAT I/O通訊用于I/O級的實時通訊,TwinCAT I/O通訊通過EtherCAT協(xié)議實現(xiàn)。
圖2 TwinCAT系統(tǒng)原理
在PC上成功安裝TwinCAT軟件后(安裝等級選擇TwinCAT PLC-IEC 61131-3 PLC System),可以看到整個軟件系統(tǒng)包括:TwinCAT PLC Control、TwinCAT System-Manager、TwinCAT Scope View等功能模塊。本文主要用到TwinCAT PLC Control、TwinCAT System Manager這2個模塊,前者用于PLC程序的開發(fā)和調(diào)試,后者是系統(tǒng)的管理器,主要負(fù)責(zé)硬件組態(tài)和I/O映射。
PLC程序編寫過程中,需要用到TwinCAT Modbus RTU功能庫。TwinCAT Modbus RTU功能庫用于實現(xiàn)Beckhoff設(shè)備通過Modbus協(xié)議與第三方Modbus終端設(shè)備之間的數(shù)據(jù)通訊。TwinCAT Modbus RTU功能庫提供主站功能,使用其主站功能,Beckhoff設(shè)備能夠和多個Modbus從站設(shè)備進(jìn)行通訊。TwinCAT軟件系統(tǒng)基礎(chǔ)庫中不帶有Modbus RTU功能庫,該庫需要單獨(dú)安裝。
在PLC程序設(shè)計時,主要使用ModbusRTU功能庫中ModbusRtuMaster_KL6x22B功能塊的4個成員函 數(shù) ReadCoils、 ReadRegs、 ReadInputStatus和ReadInputRegs。4個成員函數(shù)原型類似,其中ReadInputRegs函數(shù)原型為:
ReadInputRegs(UINT UnitID,WORD Quantity,WORD MBAddr,UINT cbLength,DWORD pMemoryAddr,BOOL Execute,TIME,Timeout,BUSY=>,Error=>,ErrorId=>,cbRead=>,)。
整個程序包括4個功能塊(FB),8個子程序(Program)以及一個主程序MAIN,各個程序之間的調(diào)用關(guān)系如圖3所示。
由于4個功能塊結(jié)構(gòu)基本類似,8個子程序結(jié)構(gòu)基本也類似。下面以功能塊EL6022_READ_HV和子程序READ_HV為例對PLC程序進(jìn)行簡要的說明。EL6022_READ_HV,READ_HV用來讀取1#、2#壓縮機(jī)運(yùn)行柜電機(jī)綜合保護(hù)裝置Sepam M87的數(shù)據(jù)。EL6022_READ_HV功能塊先是聲明ModbusRtuMaster_KL6x22B庫功能塊成員函數(shù)的形參,然后調(diào)用庫功能塊成員函數(shù)讀取設(shè)備的數(shù)據(jù)。READ_HV調(diào)用EL6022_READ_HV功能塊,向功能塊傳遞實參(從站設(shè)備站點號、Modbus數(shù)據(jù)地址、讀取數(shù)據(jù)的字節(jié)數(shù)等)。另外由于EL6022的每個通道連接2個Modbus設(shè)備,因此設(shè)計程序時要分時對2個設(shè)備的數(shù)據(jù)進(jìn)行讀取。
TwinCAT PLC支持所有的IEC61131-3編程語言。本次程序設(shè)計,考慮到編程語言的簡介性和易讀性,功能塊采用ST語言(結(jié)構(gòu)化文本)編寫,程序塊采用CFC語言(連續(xù)功能圖)編寫。
為了使TwinCAT系統(tǒng)能夠正常運(yùn)行,還需對TwinCAT系統(tǒng)管理器進(jìn)行組態(tài),主要內(nèi)容包括:安裝TwinCAT EtherCAT協(xié)議,掃描I/O設(shè)備,加入PLC項目,建立I/O映射,激活配置等5個部分。
5.1 安裝TwinCAT EtherCAT協(xié)議
打開TwinCAT System Manager,點擊主菜單欄Option/Show Real Ethenet Compatible Devices進(jìn)入Installation of TwinCAT RT-Ethernet Adapters選項卡,選擇兼容的網(wǎng)卡,點擊Install按鈕安裝即可。安裝協(xié)議后,檢查PC與耦合器EK1100之間的網(wǎng)絡(luò)是否暢通,確保PC與從站設(shè)備建立連接。
5.2 掃描l/O設(shè)備
掃描I/O設(shè)備時目標(biāo)系統(tǒng)必須在Config模式下。右擊I/O Devices,點擊Scan Devices選項,即可掃描到連接到PC的I/O設(shè)備,在耦合器EK1100選項下面有4個EL6022串口端子和一個EL9010總線末端。如果在網(wǎng)絡(luò)暫時不暢通,或者不便在現(xiàn)場配置硬件組態(tài)的情況下,可以手動進(jìn)行添加所需的I/O設(shè)備。
圖3 PLC程序調(diào)用結(jié)構(gòu)
EL6022兩個通道設(shè)置為不同波特率和不同數(shù)據(jù)格式不會影響彼此的通信,默認(rèn)EL6022的波特率和數(shù)據(jù)格式是9600,8,1,n,485的接線方式,如果要修改的話,如修改第一個接口的參數(shù),可以通過Coe online,8000:11為波特率設(shè)置,8000:15是數(shù)據(jù)格式設(shè)置,8000:06和07是485和422的設(shè)置,如果是422接線方式,06設(shè)置為FALSE,07設(shè)置為TRUE。第二個接口參數(shù)在目錄8010:0下設(shè)置,方法與設(shè)置第一個接口參數(shù)類似。
5.3 加入PLC項目
右擊PLC-Configuration,點擊Append PLC Project找到前文生成的tpy文件,點擊加入PLC項目。在PLC-Configuration下可以看到8個輸入變量和8個輸出變量。每個輸入變量由狀態(tài)字和22字節(jié)數(shù)組組成,每一個輸出變量由控制字和22字節(jié)數(shù)組組成。輸入變量和輸出變量需要分別與對應(yīng)的I/ O設(shè)備建立映射。
5.4 建立l/O映射
選擇一個PLC變量點擊“Linked to”按鈕,在彈出的對話框中找到對應(yīng)的I/O變量,點擊確認(rèn)即可。
5.5 激活配置
依次點擊Check Configuration、Generate Mappings和Activate Configuration按鈕激活硬件組態(tài)配置,并且將系統(tǒng)置為運(yùn)行狀態(tài)。返回TwinCAT PLC Control界面點擊Online/Login完成PLC程序下載,然后點擊Run運(yùn)行程序,在TwinCAT PLC Control界面上可以看到設(shè)備的實時數(shù)據(jù)。
上位機(jī)監(jiān)控軟件用于監(jiān)測4臺壓縮機(jī)組的運(yùn)行狀態(tài)。監(jiān)控軟件使用Visual Studio 2012平臺,采用C#語言開發(fā),包括流程監(jiān)視、報表打印、事故報警、歷史數(shù)據(jù)查詢等4大功能模塊。監(jiān)測軟件通過NI OPC Server訪問TwinCAT系統(tǒng)中壓縮機(jī)組的實時數(shù)據(jù)。NI OPC Server是一套可編程邏輯控制器驅(qū)動,可與各大廠家的PLC進(jìn)行通訊,包括Beckhoff TwinCAT PLC。上位機(jī)監(jiān)測軟件通過訪問NI OPC Server網(wǎng)絡(luò)變量獲取實時數(shù)據(jù),將數(shù)據(jù)進(jìn)行計算處理后寫入數(shù)據(jù)庫以及顯示在檢測界面上。
利用TwinCAT和倍??偩€耦合器端子等產(chǎn)品,解決了4臺壓縮機(jī)組大量運(yùn)行參數(shù)實時傳輸?shù)膯栴}。該壓縮機(jī)組實時監(jiān)測系統(tǒng)所用到的硬件少,安裝空間小,接線簡單,而且倍??偩€耦合器端子的靈活配置也方便監(jiān)測系統(tǒng)的擴(kuò)展。經(jīng)過一年時間的運(yùn)行,表明其數(shù)據(jù)傳輸能力以及抗干擾能力均能夠很好的壓縮機(jī)組實時監(jiān)測的需求。
[1]張亦工,王麗薇.采用TwinCAT的液壓機(jī)實時監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代工程技術(shù),2012,(9):91.
[2]華中平,張立.TwinCAT在電梯式立體車庫中的應(yīng)用[J].工業(yè)控制計算機(jī),2006,19(5):8.
[3]陳志軍,徐東進(jìn),程志江,等.基于TwinCAT的PLC水源地遠(yuǎn)程監(jiān)控系統(tǒng)的開發(fā)設(shè)計 [J].電子應(yīng)用技術(shù),2008,(12):95.
[4]趙君,劉衛(wèi)國,彭喆.基于EtherCAT總線的分布式測控系統(tǒng)設(shè)計[J].計算機(jī)測量與控制,2012,20(1):11.
[5]徐慶坤,王軍偉,毛建偉.基于NI OPC Servers實現(xiàn)PC與PLC實時通訊[J].工業(yè)控制計算機(jī),2013,26(7):51.
[6]張曉科.使用C#開發(fā)OPC Client的研究和應(yīng)用[J].科技資訊,2013,(2):33,35.
[7]德國倍福自動化公司.TwinCAT PLC編程手冊[K].中國區(qū)技術(shù)支持部,2011.
[8]Wei-Menglee著,薛瑩譯.C#2008編程參考手冊[M].北京:清華大學(xué)出版社,2009.
Design and Realization of Compressor Real-time Monitoring System Based on TwinCAT
LIU Wei-jie,ZHOU Xiao-mei,DING Jia-bao
(China Aerodynamics Research and Development Center,Mianyang 621000,China)
The real-time monitoring system based on TwinCAT was designed for many sets of compressors aiming at plenty of data transmission and high real-time request.The general design of the real-time monitoring system,programming of PLC program,Twin-CAT system manager configuration and development of monitoring software was explained in detail.Application shows that the realtime monitoring system could realize high real-time data transmission reliably.
TwinCAT;EtherCAT;compressor;real-time monitoring system
TH45
A
1006-2971(2014)06-0026-04
劉為杰(1989-),男,安徽人,助理工程師,本科,主要研究方向為電氣自動化。E-m a i l:15000160275@163.c o m
2014-08-18