魏竹春(南通醋酸纖維有限公司,江蘇 南通 226008)
基于OPC的數據采集系統
魏竹春(南通醋酸纖維有限公司,江蘇 南通 226008)
南通醋酸纖維有限公司通過OPC標準接口,實現醋片生產管理系統采集PCS控制系統生成的生產數據,自動生成各類統計表,對醋片區域的生產信息進行綜合歸納,以網頁的形式實時發布產品、消耗、質量等有關方面的生產數據,使管理層及時了解醋片的生產狀況,動態掌握產品、消耗、質量等信息。
OPC;WinCC;PCS控制系統;數據挖掘;Report Manager;Web Serve;批料報告;實時數據;事件消息;Web Serve;Batch Report;Real Time Data;Event Message
南通醋酸纖維有限公司成立于1987年3月,由中國煙草總公司與美國塞拉尼斯公司合資經營,是集化工、化纖、熱電為一體的大型工業企業。主要產品為可再生資源的新型醋酸纖維絲束及其配套原料二醋酸纖維素片。
醋纖生產系統技術密集,生產自動化程度高,適合大規模集約化生產。其中,醋纖絲束生產能力為10萬噸,國內市場占有率約為29%,全球市場占有率約為8%,銷售范圍達全國40多家卷煙生產企業;二醋酸纖維素片(醋片)生產能力為17.5萬噸,國內市場占有率約為80%,全球市場占有率約為15%。
南通醋酸纖維有限公司醋片生產采用西門子公司基于WinCC的PCS控制系統,是以TI555作為控制器,以工業PC作為監控站,以工業以太網為控制網絡(冗余)的大型過程控制系統。WinCC集成ODBC/SQL數據庫,具有OLE、ActiveX、OPC標準接口,開放的API程序接口以及針對所有主要PLC廠商的通訊接口程序。
OPC是Object Linking and Embedding(OLE)for Process Control的縮寫,它是微軟公司的對象鏈接和嵌入技術在過程控制方面的應用。由一些世界上占領先地位的自動化系統和硬件、軟件公司與微軟緊密合作而建立的一套工業標準。OPC采用客戶/服務器模式,把開發訪問接口的任務放在硬件生產廠家或第三方廠家,以OPC服務器的形式提供給用戶,解決了軟、硬件廠商的矛盾,完成了系統的集成,提高了系統的開放性和可互操作性。OPC標準的制定,使所有的通信連接問題變得簡單,它提供了一種軟件的總線形式,使應用變得簡單、輕巧,易于使用。應用程序只需知道如何從OPC數據源獲取數據(OPC Cliet),設備的驅動程序只需知道如何以簡單的格式提供數據(OPC Server)即可進行通信。
OPC服務器通常支持兩種類型的訪問接口,它們分別為不同的編程語言環境提供訪問機制。這兩種接口是:自動化接口、自定義接口。自動化接口通常是為基于腳本編程語言而定義的標準接口,可以使用VB、Delphi、PowerBuilder等編程語言開發OPC服務器的客戶應用。而自定義接口是專門為C++等高級編程語言而制定的標準接口。OPC現已成為工業界系統互聯的缺省方案,為工業監控編程帶來了便利,用戶不用為通訊協議的難題而苦惱。
OPC是以OLE/COM機制作為應用程序的通訊標準。OLE/ COM是一種客戶/服務器模式,具有語言無關性、代碼重用性、易于集成性等優點。OPC規范了接口函數,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而保證軟件對客戶的透明性,使得用戶完全從低層的開發中脫離出來。通過OPC服務器,OPC客戶既可以直接讀寫現場控制設備的I/O數據,也可操作SCADA、DCS等系統的端口變量(只要該系統提供OPC服務)。
采用OPC規范設計系統的好處是:
(1)OPC規范以OLE/DCOM為技術基礎,而OLE/DCOM支持TCP/IP等網絡協議,因此可以將各個子系統從物理上分開,分布于網絡的不同節點上;
(2)OPC按照面向對象的原則,將一個應用程序(OPC服務器)作為一個對象封裝起來,只將接口方法暴露在外面,客戶以統一的方式去調用這個方法,從而保證軟件對客戶的透明性,使得用戶完全從底層的開發中脫離出來;
(3)OPC實現了遠程調用,使得應用程序的分布與系統硬件的分布無關,便于系統硬件配置以及使得系統的應用范圍更廣;
(4)采用OPC規范,便于系統的組態化,將系統復雜性大大簡化,可以大大縮短軟件開發周期,提高軟件運行的可靠性和穩定性,便于系統的升級與維護;
(5)OPC規范了接口函數,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而實現系統的開放性,易于實現與其它系統的接口。
基于OPC技術構建的醋片生產管理系統的主要作用有兩個,一是對PCS控制系統生成的生產數據進行采集,并按工藝工程師提出的要求進行歸類,自動生成各類統計表,使工藝技術人員對生產數據進行有效管理,以便提高產品的質量,該部分稱為工藝管理系統;二是對醋片區域的生產信息進行綜合歸納,以網頁的形式實時發布產品、消耗、質量等有關方面的生產數據,使管理層能夠及時了解醋片的生產狀況,動態掌握產品、消耗、質量等信息。該部分稱為生產信息系統。
醋片生產管控系統網絡結構圖如圖1所示。

圖1 醋片生產管控系統網絡結構圖
醋片生產管控系統組成及框架圖如圖2所示。

圖2 系統組成及框架圖
系統硬件配置:
· WinCC工作站:
SIEMENS工控機、雙網卡
· Historian Server:
Dell服務器、RAID 1、2G RAM、雙網卡
· Report Manager Server:
Dell服務器、RAID 1、2G RAM、雙網卡
· Web Server:
Dell服務器、1G RAM、雙網卡
系統軟件配置:
· 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 —年—月醋片生產日報表
基于OPC技術的醋片生產管控系統每天都采集到大量數據,如何從這些數據中提取工藝人員和管理者所需數據是我們需要解決的問題。數據挖掘技術正是解決這一問題行之有效的手段。
數據挖掘是從大量數據中提取或“挖掘”知識,由以下步驟組成:
(1)數據清理:消除噪音或不一致數據;
(2)數據集成:多種數據源可以組合在一起;
(3)數據選擇:從數據庫檢索與分析任務相關的數據;
(4)數據變換:數據變換或統一成合適挖掘的形式;
(5)數據挖掘:基本步驟,使用智能方法提取數據模式;
(6)模式評估:根據某種興趣度度量,識別表示知識的真正有趣的模式;
(7)知識表示:使用可視化和知識表示技術,向用戶提供挖掘的知識。
經認真分析研究,綜合歸納,醋片管控系統需生成如下五類報告:
(1)醋片生產日報
每日8時到次日8時為一個統計日;將統計日內的內容填入表1;保留當前月及上一月的表;
“投料數”為統計日內的投料數(批);
產量(噸)=投料數-廢料批數(廢料批數默認值為零,該值可人工輸入維護)×0.977-廢醋片(廢醋片默認值為零,該值可人工輸入維護),此公式可修改:
醋片合格率=產量/投料批數×0.977×100(%);
木槳量=吹送的木槳累計總量(噸);
混酸量=結晶器和醋化器混酸加料累積量(噸);
預處理醋酸量=預處理器醋酸加料累積量(噸);
硫酸量=結晶器硫酸加料累積量(噸);
氧化鎂量=(A-MAG、B-MAG、C-MAG、D-MAG加料累積量)×20%/3.55(噸);
無離子水用量=CA工段無離子水累積數(噸);
蒸汽用量=醋片4kg、10kg蒸氣流量累積數(累積數在回收DCS系統內)(噸)
用電量=EMS系統提供CA動力變、照明變、維修變、各螺桿機和離心機電度表累積用電量(kwh,注意不同倍率);
循環冷卻水用量=兩循環冷卻水水表累積數(噸);
醋酸量=預處理器加料流量計加料累積量(噸);
水分標準偏差、粘度標準偏差、AV標準差、PV平均值:引自質量統計,為累積平均值。
(2)垂直單元批料報告
批料報告具有查詢功能和快捷趨勢線,可分單元查某一時段內的該單元批料報告,也可分時段查各生產線內6個垂直單元批料報告,雙擊某記錄項目后出現該項目趨勢線、平均值、最大值、最小值。數據保存2年。如表2所示。

表2 垂直單元批料報告

表3 —年—月木槳投料日報
(3)木漿投料日報
使用條碼識別系統,將木漿批號、卷號、標簽重量輸入生產信息系統,記錄每批木漿投料情況。如表3所示。
(4)冷凍機運行報告
運行報告顯示前8小時采集的運行數據,具有查詢功能和快捷趨勢圖,可分時段查詢冷凍機的運行情況,雙擊某項目后出現趨勢圖、平均值、最大值、最小值。如表4所示。
冷量=0.1295 ×鹽水流量×進出口溫差(冷噸)

表4 冷凍機運行報告
(5)成品線運行狀況報告
運行報告顯示前8小時采集到的運行數據,具有查詢功能和快捷趨勢圖,可分時段查詢各條生產線的運行情況,雙擊某項目后出現趨勢圖、平均值、最大值、最小值。如表5所示。
二期醋片量=漿流量×進料時間×0.977/5.25(噸)
三期醋片量=漿流量×進料時間×0.977/5.5(噸)。

表5 成品線運行狀況報告
4.1 采集PLC實時數據
由于KepServer TI 505 OPC Server比WinCC的通訊效率更高,所以采用KepServer TI 505 OPC Server收集PLC的實時數據,而WinCC Station用于數據換算(時間換算)和報警服務。WinCC Station的數據源同樣來自KepServer TI 505 OPC Server1。
KepServer中通過建立多個通道(Channel)可以增加通訊的效率,在KepServer中,將過程數據和報警狀態的采集放在不同的通道中,這樣不僅提高了數據通訊效率而且當需要將報警采集停止時也比較方便,不會影響過程數據的采集。如圖3所示。
雖然KepServer TI 505 OPC Server取代了WinCC數據采集的功能,但還需要WinCC實現其他兩個功能:
(1)日期換算
在木漿吹料和投料批量等報告中都有時間格式的數據,這些數據是由PLC中多個整形數組合而成的,而RTDS的字符串運算功能很差,所以將此功能在WinCC中用腳本來實現。

圖3 TI 505 OPC Server界面
(2)產生報警事件
Historian的PPA能夠直接接收來自WinCC的事件消息,而生產用的WinCC Server的版本不夠高,所以用此WinCC來產生報警。值得一提的是WinCC和Historian的版本匹配非常關鍵,必須嚴格按表6所示匹配。

表6 WinCC和Historian的版本匹配表
RTDS(Real Time Data Server)通過OPC方式收集來自KepServer TI 505 OPC Server和WinCC的實時數據,將數據引入Historian。
首先需要在RTDS Offline Configuration中定義OPC數據接口,由于數據量較大,通過將二、三期和四期的數據分成兩個接口實例來采集,這樣就可以提高性能、降低風險。
由于Database的點數較多,必須修改缺省的地址區域來允許定義更多的點數。通過Database Manager可以對點數據庫進行備份、合并等操作。
RTDE(Real Time Data Engine)主要用于對實時數據的處理。在RTDE中定義腳本可以對定義好的變量進行計算和讀寫。
4.2 數據存儲
PDA(Plant Data Archive)是對海量數據的直接存儲,提供水平和斜率變化兩種壓縮算法對數據記錄進行壓縮,在定義PDA存儲時,系統會自動根據上下限設置缺省的壓縮限位,用戶也可以人為修改這個限值。對PDA設置進行修改后必須使用PDA Configuration進行更新。
在兩種情況下,將需要用到PDA:
(1)存儲數據的實時值,已備日后用HDD查看數據的變化趨勢。
(2)存儲數據的實時值,然后在PPA中可以對PDA的數據歸檔做進一步的統計。
4.3 數據提取
PPA(Plant Performance Analyzer)的作用在于,從實時和海量的歷史數據中提煉出用戶最終想要得到的數據。如圖4所示。

圖4 PPA數據提取
PPA的數據源除了可以是RTDS、PDA、PPA,還可以是VBScript或OPC HDA(本項目中未用到OPC HDA,如果試圖從WinCC的歷史數據庫中獲得數據則需要用到它)。VBScript是PPA的重要功能,PPA內嵌了VBScript的編輯環境,并提供了訪問PDA和PPA數據的函數,通過功能強大的VBScript功能,能夠輕松獲得想要的數據。
PPA數據記錄的觸發機制可以是定時觸發、事件觸發、數據變化時觸發和COM觸發,本項目中用到了事件觸發、數據變化時觸發。PPA數據最終存儲在SQL Server中。
由于大部分的記錄生成都是整點觸發或是由某個標志位觸發的,所以必須定義Event,通過Event觸發PPA生成數據記錄。
在Event Manager中定義Event,并可以在General Logger中查看Event觸發記錄。
PPA配置按下列步驟進行:
(1)定義Class:Class決定了PPA的數據源和觸發方式,項目中基本上已報表來對Class進行分別定義。
(2)在Class中定義Item:Item即對應的每一項數據或報表字段。
(3)定義Equipment:為了生成報表查詢更加簡單,我們通過定義Equipment來表示報表,而Equipment的Property則代表報表的各個字段。這樣,我們只需要將Property與相關的Item鏈接起來,最后在建立報表查詢時只需查詢相應的Equipment及其Property即可,無需填寫一長串的Item Name。
4.4 報表系統
Report Manager的核心是著名的商業智能軟件Business Objects(BO)。BO將復雜的數據庫模式轉換成對象呈現在用戶面前,在進行數據查詢時,用戶只需選擇自己想要的對象,BO能將用戶的選擇轉換成SQL語句在后臺查詢數據庫最終將結果反應到用戶面前。如圖5所示。

圖5 報表系統原理圖
這個將數據庫變成對象的東西叫Universe。SIMATIC IT report manager提供了針對PPA數據庫的Universe。
SIMATIC IT Report Manager內嵌了BO作為報表生成組件。SIMATIC IT Report Manager創建了對應于PPA、UniLab、PS等數據庫的Universe,用戶只要在編輯環境下直接選擇Universe中的對象就可以簡單的制作報表了。如圖6所示。
系統制作的報表通常需要在刷新時彈出對話框提示用戶輸入查詢時間段,PPA的Universe中也提供了一個名為“Select a Time Range”的條件對象。

圖6 PPA Universe界面
運行如圖6所示的查詢時,將彈出一個時間選擇的對話框,如圖7所示。
這個對話框是用VBS編寫的,同樣PPA Universe中所有關于時間的條件都是包含VB Script的。用VBS固然可以創建自定義的Prompt窗口,但他在使用上有兩個限制:
(1)含有VBS的條件即在包含“@Script()”函數的對象不能在WebIntelligence使用,即不能生成WebIntelligence文檔。

圖7 時間選擇對話框
(2)包含“@Script()”函數的BO文檔不能在Web上直接打開,只能選擇“Business Objects format(Windows only)”,系統將運行本地安裝的BO打開文檔,這樣對于用戶來講感覺不如直接在web中瀏覽那樣方便。
用戶希望可以直接在Web中輸入查詢時間,但出于性能的考慮,PPA Universe中的Item.Sample Timestamp (Local Time) 是不能作為條件的。所以在PPA Universe中創建了一些新的對象。目的在于讓用戶輸入時間格式的條件,然后將時間轉換為Seconds作為查詢條件(PPA數據庫中的時間字段為Seconds表示)。
首先在“General Time ObjectsCondition Objects”目錄下創建一個對象“MyStartTime”,定義如下:
dbo.ufn_DateToSeconds( @Prompt('Begin Time : ', 'D', , mono, free, Not_Persistent, ) )
然后在“General Time ObjectsCondition Objects”目錄下創建一個對象“MyEndTime”,定義如下:
dbo.ufn_DateToSeconds( @Prompt('End Time : ', 'D', , mono, free, Not_Persistent, ) )
最后在“PPAItemItem Samples”目錄下創建一個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中考慮了用設備來表示報表,用設備的屬性來表示報表的字段,所以在制作報表時,只需要選擇設備和設備的屬性來檢索數據。報表的版面設計相對比較簡單,如同組態。
CAB(Client Application Builder)是一組NET組件,用于在NET環境中與SIMATIC IT組件進行交互。
本項目中的歷史趨勢和流程畫面均由CAB組件開發,然后上傳到Report Manager中。當客戶首次訪問含有CAB組件的Web頁時,客戶端會自動下載控件,所以需要事先將IE的安全設置配置為允許下載ActiveX控件。安裝客戶端組件后,需要重新啟動PC,然后就可以很方便的瀏覽醋片生產管理信息。
在研究OPC技術原理的基礎之上,設計出醋片生產信息管理系統。該系統自動生成各類統計表,使工藝技術人員對生產數據進行有效管理,以便提高產品的質量;同時對醋片區域的生產信息進行綜合歸納,以網頁的形式實時發布產品、消耗、質量等有關方面的生產數據,使管理層能夠及時了解醋片的生產狀況,動態掌握產品、消耗、質量等信息。

圖8 時間提示對話框
[1] 管廷杰. 基于OPC技術的卸船機雙模式監控系統研究[C]. 上海: 上海海事大學機械電子工程, 2005.
[2] 鄒云濤. 吳重光. OPC技術初探及國內應用現狀[J]. 石油化工自動化, 2003, (6):1 - 5.
[3] Jiawei Han. 范明等譯. 數據挖掘:概念與技術[M]. 北京: 機械工業出版社, 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-),男,江蘇如東人,中級工程師,研究生,現就職于南通醋酸纖維有限公司,主要從事化工行業自動化系統的維護工作。
B
1003-0492(2015)09-0100-06
TP311