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