魏竹春(南通醋酸纖維有限公司,江蘇 南通 226008)
基于OPC的數(shù)據(jù)采集系統(tǒng)
魏竹春(南通醋酸纖維有限公司,江蘇 南通 226008)
南通醋酸纖維有限公司通過OPC標準接口,實現(xiàn)醋片生產(chǎn)管理系統(tǒng)采集PCS控制系統(tǒng)生成的生產(chǎn)數(shù)據(jù),自動生成各類統(tǒng)計表,對醋片區(qū)域的生產(chǎn)信息進行綜合歸納,以網(wǎng)頁的形式實時發(fā)布產(chǎn)品、消耗、質量等有關方面的生產(chǎn)數(shù)據(jù),使管理層及時了解醋片的生產(chǎn)狀況,動態(tài)掌握產(chǎn)品、消耗、質量等信息。
OPC;WinCC;PCS控制系統(tǒng);數(shù)據(jù)挖掘;Report Manager;Web Serve;批料報告;實時數(shù)據(jù);事件消息;Web Serve;Batch Report;Real Time Data;Event Message
南通醋酸纖維有限公司成立于1987年3月,由中國煙草總公司與美國塞拉尼斯公司合資經(jīng)營,是集化工、化纖、熱電為一體的大型工業(yè)企業(yè)。主要產(chǎn)品為可再生資源的新型醋酸纖維絲束及其配套原料二醋酸纖維素片。
醋纖生產(chǎn)系統(tǒng)技術密集,生產(chǎn)自動化程度高,適合大規(guī)模集約化生產(chǎn)。其中,醋纖絲束生產(chǎn)能力為10萬噸,國內(nèi)市場占有率約為29%,全球市場占有率約為8%,銷售范圍達全國40多家卷煙生產(chǎn)企業(yè);二醋酸纖維素片(醋片)生產(chǎn)能力為17.5萬噸,國內(nèi)市場占有率約為80%,全球市場占有率約為15%。
南通醋酸纖維有限公司醋片生產(chǎn)采用西門子公司基于WinCC的PCS控制系統(tǒng),是以TI555作為控制器,以工業(yè)PC作為監(jiān)控站,以工業(yè)以太網(wǎng)為控制網(wǎng)絡(冗余)的大型過程控制系統(tǒng)。WinCC集成ODBC/SQL數(shù)據(jù)庫,具有OLE、ActiveX、OPC標準接口,開放的API程序接口以及針對所有主要PLC廠商的通訊接口程序。
OPC是Object Linking and Embedding(OLE)for Process Control的縮寫,它是微軟公司的對象鏈接和嵌入技術在過程控制方面的應用。由一些世界上占領先地位的自動化系統(tǒng)和硬件、軟件公司與微軟緊密合作而建立的一套工業(yè)標準。OPC采用客戶/服務器模式,把開發(fā)訪問接口的任務放在硬件生產(chǎn)廠家或第三方廠家,以OPC服務器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統(tǒng)的集成,提高了系統(tǒng)的開放性和可互操作性。OPC標準的制定,使所有的通信連接問題變得簡單,它提供了一種軟件的總線形式,使應用變得簡單、輕巧,易于使用。應用程序只需知道如何從OPC數(shù)據(jù)源獲取數(shù)據(jù)(OPC Cliet),設備的驅動程序只需知道如何以簡單的格式提供數(shù)據(jù)(OPC Server)即可進行通信。
OPC服務器通常支持兩種類型的訪問接口,它們分別為不同的編程語言環(huán)境提供訪問機制。這兩種接口是:自動化接口、自定義接口。自動化接口通常是為基于腳本編程語言而定義的標準接口,可以使用VB、Delphi、PowerBuilder等編程語言開發(fā)OPC服務器的客戶應用。而自定義接口是專門為C++等高級編程語言而制定的標準接口。OPC現(xiàn)已成為工業(yè)界系統(tǒng)互聯(lián)的缺省方案,為工業(yè)監(jiān)控編程帶來了便利,用戶不用為通訊協(xié)議的難題而苦惱。
OPC是以OLE/COM機制作為應用程序的通訊標準。OLE/ COM是一種客戶/服務器模式,具有語言無關性、代碼重用性、易于集成性等優(yōu)點。OPC規(guī)范了接口函數(shù),不管現(xiàn)場設備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而保證軟件對客戶的透明性,使得用戶完全從低層的開發(fā)中脫離出來。通過OPC服務器,OPC客戶既可以直接讀寫現(xiàn)場控制設備的I/O數(shù)據(jù),也可操作SCADA、DCS等系統(tǒng)的端口變量(只要該系統(tǒng)提供OPC服務)。
采用OPC規(guī)范設計系統(tǒng)的好處是:
(1)OPC規(guī)范以OLE/DCOM為技術基礎,而OLE/DCOM支持TCP/IP等網(wǎng)絡協(xié)議,因此可以將各個子系統(tǒng)從物理上分開,分布于網(wǎng)絡的不同節(jié)點上;
(2)OPC按照面向對象的原則,將一個應用程序(OPC服務器)作為一個對象封裝起來,只將接口方法暴露在外面,客戶以統(tǒng)一的方式去調(diào)用這個方法,從而保證軟件對客戶的透明性,使得用戶完全從底層的開發(fā)中脫離出來;
(3)OPC實現(xiàn)了遠程調(diào)用,使得應用程序的分布與系統(tǒng)硬件的分布無關,便于系統(tǒng)硬件配置以及使得系統(tǒng)的應用范圍更廣;
(4)采用OPC規(guī)范,便于系統(tǒng)的組態(tài)化,將系統(tǒng)復雜性大大簡化,可以大大縮短軟件開發(fā)周期,提高軟件運行的可靠性和穩(wěn)定性,便于系統(tǒng)的升級與維護;
(5)OPC規(guī)范了接口函數(shù),不管現(xiàn)場設備以何種形式存在,客戶都以統(tǒng)一的方式去訪問,從而實現(xiàn)系統(tǒng)的開放性,易于實現(xiàn)與其它系統(tǒng)的接口。
基于OPC技術構建的醋片生產(chǎn)管理系統(tǒng)的主要作用有兩個,一是對PCS控制系統(tǒng)生成的生產(chǎn)數(shù)據(jù)進行采集,并按工藝工程師提出的要求進行歸類,自動生成各類統(tǒng)計表,使工藝技術人員對生產(chǎn)數(shù)據(jù)進行有效管理,以便提高產(chǎn)品的質量,該部分稱為工藝管理系統(tǒng);二是對醋片區(qū)域的生產(chǎn)信息進行綜合歸納,以網(wǎng)頁的形式實時發(fā)布產(chǎn)品、消耗、質量等有關方面的生產(chǎn)數(shù)據(jù),使管理層能夠及時了解醋片的生產(chǎn)狀況,動態(tài)掌握產(chǎn)品、消耗、質量等信息。該部分稱為生產(chǎn)信息系統(tǒng)。
醋片生產(chǎn)管控系統(tǒng)網(wǎng)絡結構圖如圖1所示。
圖1 醋片生產(chǎn)管控系統(tǒng)網(wǎng)絡結構圖
醋片生產(chǎn)管控系統(tǒng)組成及框架圖如圖2所示。
圖2 系統(tǒng)組成及框架圖
系統(tǒng)硬件配置:
· WinCC工作站:
SIEMENS工控機、雙網(wǎng)卡
· Historian Server:
Dell服務器、RAID 1、2G RAM、雙網(wǎng)卡
· Report Manager Server:
Dell服務器、RAID 1、2G RAM、雙網(wǎng)卡
· Web Server:
Dell服務器、1G RAM、雙網(wǎng)卡
系統(tǒng)軟件配置:
· WinCC工作站:
Windows 2003 Server SP2
WINCC V7.0 SP2
KepServer TI505 OPC Server(用于連接TI505 PLC并提供OPC服務)
· Historian Server:
Windows 2003 Server SP2;
SIMATIC IT Full Services V6.4 SP2;
SIMATIC IT Historian Server V6.4 SP2;
SIMATIC IT Historian CAB Server V6.4SP2。
· Report Manager Server:
Windows 2003 Server SP2;
Business Objects Server 6.5.1;
SQL Server 2005 SP2;
Tomcat Apahe and Java runtime。
· Web Server:
Windows 2003 Server SP2;
SIMATIC IT Full Services V6.4 SP2 HF5;
SIMATIC IT Historian CAB Engineer V6.4 SP2;
SIMATIC IT Historian CAB Web Server V6.4 SP2;
Microsoft .Net 2005 SP2。
表1 —年—月醋片生產(chǎn)日報表
基于OPC技術的醋片生產(chǎn)管控系統(tǒng)每天都采集到大量數(shù)據(jù),如何從這些數(shù)據(jù)中提取工藝人員和管理者所需數(shù)據(jù)是我們需要解決的問題。數(shù)據(jù)挖掘技術正是解決這一問題行之有效的手段。
數(shù)據(jù)挖掘是從大量數(shù)據(jù)中提取或“挖掘”知識,由以下步驟組成:
(1)數(shù)據(jù)清理:消除噪音或不一致數(shù)據(jù);
(2)數(shù)據(jù)集成:多種數(shù)據(jù)源可以組合在一起;
(3)數(shù)據(jù)選擇:從數(shù)據(jù)庫檢索與分析任務相關的數(shù)據(jù);
(4)數(shù)據(jù)變換:數(shù)據(jù)變換或統(tǒng)一成合適挖掘的形式;
(5)數(shù)據(jù)挖掘:基本步驟,使用智能方法提取數(shù)據(jù)模式;
(6)模式評估:根據(jù)某種興趣度度量,識別表示知識的真正有趣的模式;
(7)知識表示:使用可視化和知識表示技術,向用戶提供挖掘的知識。
經(jīng)認真分析研究,綜合歸納,醋片管控系統(tǒng)需生成如下五類報告:
(1)醋片生產(chǎn)日報
每日8時到次日8時為一個統(tǒng)計日;將統(tǒng)計日內(nèi)的內(nèi)容填入表1;保留當前月及上一月的表;
“投料數(shù)”為統(tǒng)計日內(nèi)的投料數(shù)(批);
產(chǎn)量(噸)=投料數(shù)-廢料批數(shù)(廢料批數(shù)默認值為零,該值可人工輸入維護)×0.977-廢醋片(廢醋片默認值為零,該值可人工輸入維護),此公式可修改:
醋片合格率=產(chǎn)量/投料批數(shù)×0.977×100(%);
木槳量=吹送的木槳累計總量(噸);
混酸量=結晶器和醋化器混酸加料累積量(噸);
預處理醋酸量=預處理器醋酸加料累積量(噸);
硫酸量=結晶器硫酸加料累積量(噸);
氧化鎂量=(A-MAG、B-MAG、C-MAG、D-MAG加料累積量)×20%/3.55(噸);
無離子水用量=CA工段無離子水累積數(shù)(噸);
蒸汽用量=醋片4kg、10kg蒸氣流量累積數(shù)(累積數(shù)在回收DCS系統(tǒng)內(nèi))(噸)
用電量=EMS系統(tǒng)提供CA動力變、照明變、維修變、各螺桿機和離心機電度表累積用電量(kwh,注意不同倍率);
循環(huán)冷卻水用量=兩循環(huán)冷卻水水表累積數(shù)(噸);
醋酸量=預處理器加料流量計加料累積量(噸);
水分標準偏差、粘度標準偏差、AV標準差、PV平均值:引自質量統(tǒng)計,為累積平均值。
(2)垂直單元批料報告
批料報告具有查詢功能和快捷趨勢線,可分單元查某一時段內(nèi)的該單元批料報告,也可分時段查各生產(chǎn)線內(nèi)6個垂直單元批料報告,雙擊某記錄項目后出現(xiàn)該項目趨勢線、平均值、最大值、最小值。數(shù)據(jù)保存2年。如表2所示。
表2 垂直單元批料報告
表3 —年—月木槳投料日報
(3)木漿投料日報
使用條碼識別系統(tǒng),將木漿批號、卷號、標簽重量輸入生產(chǎn)信息系統(tǒng),記錄每批木漿投料情況。如表3所示。
(4)冷凍機運行報告
運行報告顯示前8小時采集的運行數(shù)據(jù),具有查詢功能和快捷趨勢圖,可分時段查詢冷凍機的運行情況,雙擊某項目后出現(xiàn)趨勢圖、平均值、最大值、最小值。如表4所示。
冷量=0.1295 ×鹽水流量×進出口溫差(冷噸)
表4 冷凍機運行報告
(5)成品線運行狀況報告
運行報告顯示前8小時采集到的運行數(shù)據(jù),具有查詢功能和快捷趨勢圖,可分時段查詢各條生產(chǎn)線的運行情況,雙擊某項目后出現(xiàn)趨勢圖、平均值、最大值、最小值。如表5所示。
二期醋片量=漿流量×進料時間×0.977/5.25(噸)
三期醋片量=漿流量×進料時間×0.977/5.5(噸)。
表5 成品線運行狀況報告
4.1 采集PLC實時數(shù)據(jù)
由于KepServer TI 505 OPC Server比WinCC的通訊效率更高,所以采用KepServer TI 505 OPC Server收集PLC的實時數(shù)據(jù),而WinCC Station用于數(shù)據(jù)換算(時間換算)和報警服務。WinCC Station的數(shù)據(jù)源同樣來自KepServer TI 505 OPC Server1。
KepServer中通過建立多個通道(Channel)可以增加通訊的效率,在KepServer中,將過程數(shù)據(jù)和報警狀態(tài)的采集放在不同的通道中,這樣不僅提高了數(shù)據(jù)通訊效率而且當需要將報警采集停止時也比較方便,不會影響過程數(shù)據(jù)的采集。如圖3所示。
雖然KepServer TI 505 OPC Server取代了WinCC數(shù)據(jù)采集的功能,但還需要WinCC實現(xiàn)其他兩個功能:
(1)日期換算
在木漿吹料和投料批量等報告中都有時間格式的數(shù)據(jù),這些數(shù)據(jù)是由PLC中多個整形數(shù)組合而成的,而RTDS的字符串運算功能很差,所以將此功能在WinCC中用腳本來實現(xiàn)。
圖3 TI 505 OPC Server界面
(2)產(chǎn)生報警事件
Historian的PPA能夠直接接收來自WinCC的事件消息,而生產(chǎn)用的WinCC Server的版本不夠高,所以用此WinCC來產(chǎn)生報警。值得一提的是WinCC和Historian的版本匹配非常關鍵,必須嚴格按表6所示匹配。
表6 WinCC和Historian的版本匹配表
RTDS(Real Time Data Server)通過OPC方式收集來自KepServer TI 505 OPC Server和WinCC的實時數(shù)據(jù),將數(shù)據(jù)引入Historian。
首先需要在RTDS Offline Configuration中定義OPC數(shù)據(jù)接口,由于數(shù)據(jù)量較大,通過將二、三期和四期的數(shù)據(jù)分成兩個接口實例來采集,這樣就可以提高性能、降低風險。
由于Database的點數(shù)較多,必須修改缺省的地址區(qū)域來允許定義更多的點數(shù)。通過Database Manager可以對點數(shù)據(jù)庫進行備份、合并等操作。
RTDE(Real Time Data Engine)主要用于對實時數(shù)據(jù)的處理。在RTDE中定義腳本可以對定義好的變量進行計算和讀寫。
4.2 數(shù)據(jù)存儲
PDA(Plant Data Archive)是對海量數(shù)據(jù)的直接存儲,提供水平和斜率變化兩種壓縮算法對數(shù)據(jù)記錄進行壓縮,在定義PDA存儲時,系統(tǒng)會自動根據(jù)上下限設置缺省的壓縮限位,用戶也可以人為修改這個限值。對PDA設置進行修改后必須使用PDA Configuration進行更新。
在兩種情況下,將需要用到PDA:
(1)存儲數(shù)據(jù)的實時值,已備日后用HDD查看數(shù)據(jù)的變化趨勢。
(2)存儲數(shù)據(jù)的實時值,然后在PPA中可以對PDA的數(shù)據(jù)歸檔做進一步的統(tǒng)計。
4.3 數(shù)據(jù)提取
PPA(Plant Performance Analyzer)的作用在于,從實時和海量的歷史數(shù)據(jù)中提煉出用戶最終想要得到的數(shù)據(jù)。如圖4所示。
圖4 PPA數(shù)據(jù)提取
PPA的數(shù)據(jù)源除了可以是RTDS、PDA、PPA,還可以是VBScript或OPC HDA(本項目中未用到OPC HDA,如果試圖從WinCC的歷史數(shù)據(jù)庫中獲得數(shù)據(jù)則需要用到它)。VBScript是PPA的重要功能,PPA內(nèi)嵌了VBScript的編輯環(huán)境,并提供了訪問PDA和PPA數(shù)據(jù)的函數(shù),通過功能強大的VBScript功能,能夠輕松獲得想要的數(shù)據(jù)。
PPA數(shù)據(jù)記錄的觸發(fā)機制可以是定時觸發(fā)、事件觸發(fā)、數(shù)據(jù)變化時觸發(fā)和COM觸發(fā),本項目中用到了事件觸發(fā)、數(shù)據(jù)變化時觸發(fā)。PPA數(shù)據(jù)最終存儲在SQL Server中。
由于大部分的記錄生成都是整點觸發(fā)或是由某個標志位觸發(fā)的,所以必須定義Event,通過Event觸發(fā)PPA生成數(shù)據(jù)記錄。
在Event Manager中定義Event,并可以在General Logger中查看Event觸發(fā)記錄。
PPA配置按下列步驟進行:
(1)定義Class:Class決定了PPA的數(shù)據(jù)源和觸發(fā)方式,項目中基本上已報表來對Class進行分別定義。
(2)在Class中定義Item:Item即對應的每一項數(shù)據(jù)或報表字段。
(3)定義Equipment:為了生成報表查詢更加簡單,我們通過定義Equipment來表示報表,而Equipment的Property則代表報表的各個字段。這樣,我們只需要將Property與相關的Item鏈接起來,最后在建立報表查詢時只需查詢相應的Equipment及其Property即可,無需填寫一長串的Item Name。
4.4 報表系統(tǒng)
Report Manager的核心是著名的商業(yè)智能軟件Business Objects(BO)。BO將復雜的數(shù)據(jù)庫模式轉換成對象呈現(xiàn)在用戶面前,在進行數(shù)據(jù)查詢時,用戶只需選擇自己想要的對象,BO能將用戶的選擇轉換成SQL語句在后臺查詢數(shù)據(jù)庫最終將結果反應到用戶面前。如圖5所示。
圖5 報表系統(tǒng)原理圖
這個將數(shù)據(jù)庫變成對象的東西叫Universe。SIMATIC IT report manager提供了針對PPA數(shù)據(jù)庫的Universe。
SIMATIC IT Report Manager內(nèi)嵌了BO作為報表生成組件。SIMATIC IT Report Manager創(chuàng)建了對應于PPA、UniLab、PS等數(shù)據(jù)庫的Universe,用戶只要在編輯環(huán)境下直接選擇Universe中的對象就可以簡單的制作報表了。如圖6所示。
系統(tǒng)制作的報表通常需要在刷新時彈出對話框提示用戶輸入查詢時間段,PPA的Universe中也提供了一個名為“Select a Time Range”的條件對象。
圖6 PPA Universe界面
運行如圖6所示的查詢時,將彈出一個時間選擇的對話框,如圖7所示。
這個對話框是用VBS編寫的,同樣PPA Universe中所有關于時間的條件都是包含VB Script的。用VBS固然可以創(chuàng)建自定義的Prompt窗口,但他在使用上有兩個限制:
(1)含有VBS的條件即在包含“@Script()”函數(shù)的對象不能在WebIntelligence使用,即不能生成WebIntelligence文檔。
圖7 時間選擇對話框
(2)包含“@Script()”函數(shù)的BO文檔不能在Web上直接打開,只能選擇“Business Objects format(Windows only)”,系統(tǒng)將運行本地安裝的BO打開文檔,這樣對于用戶來講感覺不如直接在web中瀏覽那樣方便。
用戶希望可以直接在Web中輸入查詢時間,但出于性能的考慮,PPA Universe中的Item.Sample Timestamp (Local Time) 是不能作為條件的。所以在PPA Universe中創(chuàng)建了一些新的對象。目的在于讓用戶輸入時間格式的條件,然后將時間轉換為Seconds作為查詢條件(PPA數(shù)據(jù)庫中的時間字段為Seconds表示)。
首先在“General Time ObjectsCondition Objects”目錄下創(chuàng)建一個對象“MyStartTime”,定義如下:
dbo.ufn_DateToSeconds( @Prompt('Begin Time : ', 'D', , mono, free, Not_Persistent, ) )
然后在“General Time ObjectsCondition Objects”目錄下創(chuàng)建一個對象“MyEndTime”,定義如下:
dbo.ufn_DateToSeconds( @Prompt('End Time : ', 'D', , mono, free, Not_Persistent, ) )
最后在“PPAItemItem Samples”目錄下創(chuàng)建一個Condition對象“My Select a Time Range”,定義如下:
@Select(Item Samplesitem.Sample Timestamp (C)) BETWEEN
@Select(Condition objectsMyStartTime) AND
@Select(Condition objectsMyEndTime)
將Universe保存、導出并在Supervisor中導入后,就可以在WebIntelligence或Business Objects中使用Condition“My Select a Time Range”了。在Web中顯示的提示如圖8所示。
由于在PPA中考慮了用設備來表示報表,用設備的屬性來表示報表的字段,所以在制作報表時,只需要選擇設備和設備的屬性來檢索數(shù)據(jù)。報表的版面設計相對比較簡單,如同組態(tài)。
CAB(Client Application Builder)是一組NET組件,用于在NET環(huán)境中與SIMATIC IT組件進行交互。
本項目中的歷史趨勢和流程畫面均由CAB組件開發(fā),然后上傳到Report Manager中。當客戶首次訪問含有CAB組件的Web頁時,客戶端會自動下載控件,所以需要事先將IE的安全設置配置為允許下載ActiveX控件。安裝客戶端組件后,需要重新啟動PC,然后就可以很方便的瀏覽醋片生產(chǎn)管理信息。
在研究OPC技術原理的基礎之上,設計出醋片生產(chǎn)信息管理系統(tǒng)。該系統(tǒng)自動生成各類統(tǒng)計表,使工藝技術人員對生產(chǎn)數(shù)據(jù)進行有效管理,以便提高產(chǎn)品的質量;同時對醋片區(qū)域的生產(chǎn)信息進行綜合歸納,以網(wǎng)頁的形式實時發(fā)布產(chǎn)品、消耗、質量等有關方面的生產(chǎn)數(shù)據(jù),使管理層能夠及時了解醋片的生產(chǎn)狀況,動態(tài)掌握產(chǎn)品、消耗、質量等信息。
圖8 時間提示對話框
[1] 管廷杰. 基于OPC技術的卸船機雙模式監(jiān)控系統(tǒng)研究[C]. 上海: 上海海事大學機械電子工程, 2005.
[2] 鄒云濤. 吳重光. OPC技術初探及國內(nèi)應用現(xiàn)狀[J]. 石油化工自動化, 2003, (6):1 - 5.
[3] Jiawei Han. 范明等譯. 數(shù)據(jù)挖掘:概念與技術[M]. 北京: 機械工業(yè)出版社, 2001. [4] OPCFoundation. OPC Historieai Data Access Automation Interface Standard Versionl.0[S/OL], 2001.
[5] 蘇昆哲. 深入淺出西門子WinCCV6[M]. 北京: 北京航空航天大學出版社, 2004.
OPC-based Data Collecting System
With the standard OPC interface, the Ncfc develops the CA flake production management system for collecting production data which generates from PCS control system. A various types of statistic tables is automatically generated and the process information is integrated into the form. The real-time products, consumption, quality information related to the production data can therefore be delivered on web so that the management person is able to know the above-mentioned production status and monitor the dynamic information of products, consumption, and quality.
OPC; wincc; Process control system; Data mining; Report manager; Web serve; Batch report; Real time data; Event message
魏竹春(1965-),男,江蘇如東人,中級工程師,研究生,現(xiàn)就職于南通醋酸纖維有限公司,主要從事化工行業(yè)自動化系統(tǒng)的維護工作。
B
1003-0492(2015)09-0100-06
TP311