劉清茂 萬春紅 楊彩玲 吳彥文 趙桂林 何慶良
(1.昆明電器科學研究所,昆明 650221;2.拉法基瑞安(紅河)水泥有限公司,云南 開遠 661600;3.云南江東房地產集團有限公司,昆明 650051)
我國水泥行業(yè)是國民經濟的重要基礎產業(yè),也是能耗和污染排放的重點領域,“十二五”期間我國氮氧化物排放總量要達到減排10%的目標,這就需要加大對電力、水泥及冶金等行業(yè)產生的氮氧化物進行控制。水泥行業(yè)氮氧化物的排放量占全國工業(yè)排放總量的15%左右,已是火力發(fā)電和汽車尾氣之后的第三大氮氧化物排放大戶。國家工信部582號文件關于水泥工業(yè)節(jié)能減排的指導意見,提出了具體的量化目標:到“十二五”末,氮氧化物在2009年的基礎上降低25%;同時指出,新建或改擴建水泥(熟料)生產線項目必須配置脫硝裝置,且脫硝效率不低于60%。
根據環(huán)保部門的相關規(guī)定,加強對水泥窯煙氣脫硝設施運行過程的監(jiān)管,實時監(jiān)控脫硝系統(tǒng)的運行情況。脫硝DCS系統(tǒng)要記錄生產負荷(投料量和用煤量),脫硝反應區(qū)溫度,煙氣排放口煙氣自動監(jiān)控系統(tǒng)(Continuous Emission Monitoring System,CEMS)的煙氣流量、煙氣溫度、煙氣含氧量、氮氧化物濃度、氨逃逸濃度、脫硝設施噴氨量及還原劑儲罐液位等參數。DCS系統(tǒng)要確保能隨機調閱上述運行參數,并可在同一畫面內調閱多個參數的歷史趨勢曲線,而且相關數據至少要保存1年以上。為此,基于Cimplicity設計水泥生產脫硝數據采集與管理系統(tǒng),實現對水泥廠脫硝工業(yè)相關數據的自動采集、整點顯示、儲存、電子表格導出及打印等功能。
在基于Cimplicity的水泥生產脫硝數據采集與管理系統(tǒng)中,涉及水泥生產過程中脫硝工藝和在線監(jiān)測兩個工業(yè)過程的數據采集,而這兩部分的數據在基礎DCS建設時分屬窯頭和窯尾兩個工段的PLC,因此在進行脫硝數據采集管理系統(tǒng)建設之前,至少要將窯頭和窯尾的兩個PLC通過以太網鏈接起來,數據采集與管理系統(tǒng)的數據通信網絡結構如圖1所示,可以看出通信網絡利用Cimplicity將相關數據從原DCS系統(tǒng)中采集到PC
圖1 數據采集與管理系統(tǒng)的數據 通信網絡結構示意圖
機,然后利用軟件編程實現對數據的管理。當然,在基礎DCS系統(tǒng)建設較好的生產企業(yè)則可省略該步驟。
在數據管理軟件中,報表只需要整點時刻的數據,為此必須使數據的采樣周期至少為1min才能保證每個整點的數據都能采集到。由于所使用的Cimplicity版本為6.0,自帶數據庫為SQL Server 2000,其容量較小難以實現對數據保存的需求,所以將數據庫更換為SQL Server 2008。數據采集與管理系統(tǒng)軟件結構如圖2所示,Cimplicity將數據采集后,通過ODBC配置將數據存放到SQL Server 2008中,然后利用Delphi編制Active X控件時,使用ADO組件鏈接數據庫,編制好的控件利用Cimplicity的OLE功能將其放入DCS工業(yè)組態(tài)畫面中,從而實現DCS系統(tǒng)對脫硝工業(yè)數據的管理。
圖2 數據采集與管理系統(tǒng)軟件結構示意圖
該系統(tǒng)在實現時主要有Cimplicity數據源替換、數據日志表記錄及Delphi控件編制等幾個關鍵步驟。
要將Cimplicity的數據庫替換掉,首先需要在電腦上安裝SQL Server 2008數據庫,完成安裝后啟動數據庫,記住啟動界面的數據庫名稱。服務器名稱將在后面的配置中用到,需要特別注意。啟動數據庫后進入SQL Server 2008,新建一個如圖3所示的數據庫,新建數據庫名稱是aaa。
圖3 新建數據庫
退出數據庫,安裝Cimplicity6.0級SP3補丁,完成后更改ODBC數據源,將Cimplicity自帶的數據庫更換為重新安裝的SQL Server 2008,操作過程:控制面板—性能和維護—管理工具—數據源—系統(tǒng)DSN,在“系統(tǒng)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設計的水泥生產脫硝數據采集與管理系統(tǒng)運行報表界面如圖13所示,歷史趨勢如圖14所示。
圖13 系統(tǒng)運行報表界面
圖14 脫硝數據歷史趨勢
在該系統(tǒng)中最多可查詢兩年前的數據,時間段跨距最大為3個月,選擇好需要的時間段之后點擊“查詢”數據就會出現在表格中;再點擊“導出”,數據將以Excel的形式導出到電腦。
基于Cimplicity所設計的水泥生產脫硝數據采集與管理系統(tǒng)已在水泥廠成功投運,系統(tǒng)實現了無縫接入,對生產沒有產生任何影響,而且監(jiān)測結果完全符合環(huán)保部門對水泥生產脫硝工業(yè)數據管理的要求,減輕了企業(yè)相關工作人員的勞動強度,有效推進了水泥企業(yè)的信息化建設。
[1] 萬春紅,張東寧,錢沖山,等.基于Cimplicity HMI的水泥熱工參數采集與報表實現[J].化工自動化及儀表,2011,38(1):97~101.
[2] 程懷舟,徐青,鐘希均.基于ADO技術的Cimplicity HMI報表系統(tǒng)開發(fā)[J].水電自動化與大壩監(jiān)測,2009,33(1):82~84.
[3] 童愛紅,張琦,胡光兵.Delphi7應用教程[M].北京:清華大學出版社,2004.