劉清茂 萬春紅 楊彩玲 吳彥文 趙桂林 何慶良
(1.昆明電器科學研究所,昆明 650221;2.拉法基瑞安(紅河)水泥有限公司,云南 開遠 661600;3.云南江東房地產集團有限公司,昆明 650051)
我國水泥行業是國民經濟的重要基礎產業,也是能耗和污染排放的重點領域,“十二五”期間我國氮氧化物排放總量要達到減排10%的目標,這就需要加大對電力、水泥及冶金等行業產生的氮氧化物進行控制。水泥行業氮氧化物的排放量占全國工業排放總量的15%左右,已是火力發電和汽車尾氣之后的第三大氮氧化物排放大戶。國家工信部582號文件關于水泥工業節能減排的指導意見,提出了具體的量化目標:到“十二五”末,氮氧化物在2009年的基礎上降低25%;同時指出,新建或改擴建水泥(熟料)生產線項目必須配置脫硝裝置,且脫硝效率不低于60%。
根據環保部門的相關規定,加強對水泥窯煙氣脫硝設施運行過程的監管,實時監控脫硝系統的運行情況。脫硝DCS系統要記錄生產負荷(投料量和用煤量),脫硝反應區溫度,煙氣排放口煙氣自動監控系統(Continuous Emission Monitoring System,CEMS)的煙氣流量、煙氣溫度、煙氣含氧量、氮氧化物濃度、氨逃逸濃度、脫硝設施噴氨量及還原劑儲罐液位等參數。DCS系統要確保能隨機調閱上述運行參數,并可在同一畫面內調閱多個參數的歷史趨勢曲線,而且相關數據至少要保存1年以上。為此,基于Cimplicity設計水泥生產脫硝數據采集與管理系統,實現對水泥廠脫硝工業相關數據的自動采集、整點顯示、儲存、電子表格導出及打印等功能。
在基于Cimplicity的水泥生產脫硝數據采集與管理系統中,涉及水泥生產過程中脫硝工藝和在線監測兩個工業過程的數據采集,而這兩部分的數據在基礎DCS建設時分屬窯頭和窯尾兩個工段的PLC,因此在進行脫硝數據采集管理系統建設之前,至少要將窯頭和窯尾的兩個PLC通過以太網鏈接起來,數據采集與管理系統的數據通信網絡結構如圖1所示,可以看出通信網絡利用Cimplicity將相關數據從原DCS系統中采集到PC

圖1 數據采集與管理系統的數據 通信網絡結構示意圖
機,然后利用軟件編程實現對數據的管理。當然,在基礎DCS系統建設較好的生產企業則可省略該步驟。
在數據管理軟件中,報表只需要整點時刻的數據,為此必須使數據的采樣周期至少為1min才能保證每個整點的數據都能采集到。由于所使用的Cimplicity版本為6.0,自帶數據庫為SQL Server 2000,其容量較小難以實現對數據保存的需求,所以將數據庫更換為SQL Server 2008。數據采集與管理系統軟件結構如圖2所示,Cimplicity將數據采集后,通過ODBC配置將數據存放到SQL Server 2008中,然后利用Delphi編制Active X控件時,使用ADO組件鏈接數據庫,編制好的控件利用Cimplicity的OLE功能將其放入DCS工業組態畫面中,從而實現DCS系統對脫硝工業數據的管理。

圖2 數據采集與管理系統軟件結構示意圖
該系統在實現時主要有Cimplicity數據源替換、數據日志表記錄及Delphi控件編制等幾個關鍵步驟。
要將Cimplicity的數據庫替換掉,首先需要在電腦上安裝SQL Server 2008數據庫,完成安裝后啟動數據庫,記住啟動界面的數據庫名稱。服務器名稱將在后面的配置中用到,需要特別注意。啟動數據庫后進入SQL Server 2008,新建一個如圖3所示的數據庫,新建數據庫名稱是aaa。

圖3 新建數據庫
退出數據庫,安裝Cimplicity6.0級SP3補丁,完成后更改ODBC數據源,將Cimplicity自帶的數據庫更換為重新安裝的SQL Server 2008,操作過程:控制面板—性能和維護—管理工具—數據源—系統DSN,在“系統DSN”選項下有3個與Cimplicity有關的數據源[1],如圖4所示。

圖4 ODBC數據源
依次選擇Alarms、Points、SPC,點擊“配置”進入DSN配置界面,如圖5所示。

圖5 DSN配置一
在“你想鏈接哪個SQL Server”的“服務器”處,輸入SQL Server 2008登錄界面處的服務器名稱,然后點擊下一步(圖6)進行配置。

圖6 DSN配置二
完成后點擊“下一步”,在這里需要選擇剛才在SQL Server 2008中新建的數據庫“aaa”,如圖7所示,然后下一步,直到完成。

圖7 DSN配置三
3個與Cimplicity有關的數據源都需要依次進行上述步驟一一進行配置。
Cimplicity安裝完成后打開workbench,打開需要使用的工程,點擊points,在列表中選擇需要存儲到SQL Server 2008的點,雙擊該點進入點屬性界面[1],如圖8所示。

圖8 點屬性配置
將圖9中Log data前面的選項勾上,點擊確定。如此,將所有需要的點全部記錄完成后,雙擊Database Logger,進入Datebase Logger界面(圖9)。

圖9 Datebase Logger界面
選擇File,新建一個表Table_1,表的屬性設置如圖10所示。屬性設置說明:Logging Conditions(記錄條件)——選擇數據采集時間;Logging Attributes(記錄屬性)——選擇記錄點的當前值(Point Value);Connection(鏈接屬性)——默認選項即可;Maintenance Actions(維護操作)——選擇每500天刪除記錄,或根據需要自行設定;其他各項可選用默認設置。完成后點擊確定,然后打開該表,添加點,將剛才在點屬性中記錄的點添加到該表,添加完成后點擊Edit—Reconcile Table,然后依次選擇各點,點擊Create,之后退出該界面。

圖10 記錄表屬性設置界面
至此完成了將點記錄到SQL Server 2008中的工作。
利用Delphi 7編制Activ X控件來管理由Cimplicity記錄到SQL Server 2008中的數據,其中最關鍵的是控件與數據庫的鏈接和相關功能代碼的編寫。
在鏈接數據庫時,使用ADOQuery組件來建立數據庫和控件的鏈接[2],該組件的ConnectionString需要進行相關配置,如圖11、12所示。

圖11 數據鏈接驅動選擇

圖12 數據庫鏈接配置
各組件屬性配置成功后編制Delphi功能代碼[3],實現對數據庫的管理功能。其中,查詢功能的程序代碼如下:
ADOQuery1.edit;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(′Select*From Table_5′);
ADOQuery1.SQL.Add(′Where datepart([minute],timestamp)=0 AND timestamp>=:D1 AND timestamp<=:D2′);
ADOQuery1.Parameters.ParamByName(′D1′).Value:=DateToStr(DateTimePicker1.Date)+′ ′+TimeToStr(DateTimePicker2.Time);
ADOQuery1.Parameters.ParamByName(′D2′).Value:=DateToStr(DateTimePicker3.Date)+′ ′+TimeToStr(DateTimePicker4.Time);
ADOQuery1.Open;
DBGRideh1.UseMultiTitle:=true;
DBGRideh1.TitleLines:=2;
Self.DBGrideh1.Columns[0].Title.Caption :=′5#窯脫銷數據報表|記錄時間′;
Self.DBGrideh1.Columns[1].Title.Caption :=′5#窯脫銷數據報表|入窯喂料量(t/h)′;
導出功能的程序代碼如下:
var
x,y,i,j:integer;
MSExcel:OleVariant;
begin
begin
try
begin
MSExcel:=CreateOleObject(′Excel.Application′);
MSExcel.application.Visible:=False;
end;
Except
on Exception do raise exception.Create(′無法打開xls文件,請確認已經安裝了Excel′)
end;
MSExcel.WORKBOOKS.ADD;
x:=ADOQuery1.fieldcount;
y:=ADOQuery1.recordcount;
//for I:=1 to x do
MSExcel.cells.item[1,1]:=′5#窯脫銷數據報表′;
MSExcel.cells.item[2,1]:=′記錄時間′;
MSExcel.cells.item[2,2]:=′入窯喂料量(t/h)′;
┆
begin
MSExcel.cells.item[j,i]:=ADOQuery1.fields[i-1].value;
end;
ADOQuery1.next;
end;
MSExcel.application.Visible:=True;
end;
基于Cimplicity設計的水泥生產脫硝數據采集與管理系統運行報表界面如圖13所示,歷史趨勢如圖14所示。

圖13 系統運行報表界面

圖14 脫硝數據歷史趨勢
在該系統中最多可查詢兩年前的數據,時間段跨距最大為3個月,選擇好需要的時間段之后點擊“查詢”數據就會出現在表格中;再點擊“導出”,數據將以Excel的形式導出到電腦。
基于Cimplicity所設計的水泥生產脫硝數據采集與管理系統已在水泥廠成功投運,系統實現了無縫接入,對生產沒有產生任何影響,而且監測結果完全符合環保部門對水泥生產脫硝工業數據管理的要求,減輕了企業相關工作人員的勞動強度,有效推進了水泥企業的信息化建設。
[1] 萬春紅,張東寧,錢沖山,等.基于Cimplicity HMI的水泥熱工參數采集與報表實現[J].化工自動化及儀表,2011,38(1):97~101.
[2] 程懷舟,徐青,鐘希均.基于ADO技術的Cimplicity HMI報表系統開發[J].水電自動化與大壩監測,2009,33(1):82~84.
[3] 童愛紅,張琦,胡光兵.Delphi7應用教程[M].北京:清華大學出版社,2004.