白 鑫 高一明
基于Portal Wincc的嵌入式生產(chǎn)報表在污水處理行業(yè)的應(yīng)用
白 鑫1高一明2
(1.鄭州升達經(jīng)貿(mào)管理學(xué)院信息工程系,河南 鄭州 451191;2.西門子(中國)有限公司,河南 鄭州 450000)
結(jié)合污水處理工藝要求,采用西門子公司最新的上位機組態(tài)軟件Portal Wincc,實現(xiàn)污水處理智能控制系統(tǒng)中的各種復(fù)雜報表功能。利用微軟的SQL數(shù)據(jù)庫作為數(shù)據(jù)存儲平臺,使用DT Picker和Spreadsheet控件及VBS腳本在上位機監(jiān)控畫面中完成Excel嵌入式報表及報表分析、導(dǎo)出和網(wǎng)絡(luò)發(fā)布。運行結(jié)果表明:該系統(tǒng)可以有效節(jié)約資源、減輕各級人員工作量、提高工作效率,使污水處理的數(shù)據(jù)統(tǒng)計分析和報表的生成更加規(guī)范、高效,為指導(dǎo)和改進污水處理工藝管理提供了重要的基礎(chǔ)數(shù)據(jù)支撐。
污水處理;Portal Wincc;DT Picker;Spreadsheet;VBS腳本
地球雖然有70.8%的面積為水所覆蓋,但淡水資源僅占地球總水量的0.26%[1]。我國是一個水資源非常貧乏的國家,人均占水量僅有2 300m3,居世界第109位。此外,我國水資源分布極其不平衡,大致由東南向西北遞減[2]。近年來,隨著城市工業(yè)化發(fā)展速度的加快,城市規(guī)模不斷擴大,城市人口數(shù)量急劇增加,水污染日益加劇,這嚴重制約著我國經(jīng)濟社會的可持續(xù)發(fā)展。我國污水處理行業(yè)起步較晚,發(fā)展比較緩慢,為了適應(yīng)經(jīng)濟社會的發(fā)展,改善我國水資源環(huán)境,實現(xiàn)污水處理自動化和智能化的發(fā)展迫在眉睫。上位機智能監(jiān)控和污水處理各部分的數(shù)據(jù)報表是污水處理自動化的重要組成部分。
傳統(tǒng)報表系統(tǒng)的功能通常是在程序中設(shè)計幾種常用的報表,交付使用后就無法再更改。本文結(jié)合河南省鄭州市某新建污水處理廠項目,根據(jù)污水處理工藝要求,基于西門子公司最新的上位機Portal Wincc軟件,采用微軟的SQL數(shù)據(jù)庫作為數(shù)據(jù)存儲平臺,制定和形成一套充分滿足污水處理的統(tǒng)計分析及報表,使數(shù)據(jù)統(tǒng)計分析及報表生成更加規(guī)范、高效;減少數(shù)據(jù)重復(fù)填寫,以提高數(shù)據(jù)共享程度,減輕各級人員工作量,提高工作效率。該報表可以實現(xiàn)在畫面中嵌入Excel報表,能進行日報、月報、季報、年報的生成;同時也可以根據(jù)客戶要求提供生產(chǎn)報表、工程師報表、總經(jīng)理報表等。各類記錄數(shù)據(jù)都可自動生成、導(dǎo)出Excel,各級管理人員可以根據(jù)自身權(quán)限隨時查看,為污水處理的監(jiān)控和管理提供重要的基礎(chǔ)數(shù)據(jù)。
目前,我國污水處理方法主要包括生物膜法、活性污泥法等,我國現(xiàn)有的生活污水處理大多采用的是活性污泥法,輔以一級處理、穩(wěn)定塘法及土地處理等。處理工藝如圖1所示。
圖1 污水處理工藝流程圖
在管理污水處理廠的過程中,為了取得令人滿意的處理效果,達到污水處理的要求,需要對多個變量進行控制,如回流污泥量、沼氣池上清液、污泥脫水劑投加量等,如果不能進行精細控制,可能會引起重大的操作問題[3]。因此,在污水處理廠處理污水的整個流程中,數(shù)據(jù)的采集和處理具有重要意義。
在污水處理智能控制系統(tǒng)中,用戶通過上位機監(jiān)控畫面可以在監(jiān)控室對整個污水處理工藝流程進行直觀監(jiān)控,實現(xiàn)對污水處理工藝中流量、進/出水COD、進/出水pH、出泥量、含水率及中水流量等工藝數(shù)據(jù)的實時監(jiān)控及數(shù)據(jù)歸檔、數(shù)據(jù)分析、報表生成、網(wǎng)絡(luò)發(fā)布等[4]。
用戶還可以通過報表功能實現(xiàn)對上述數(shù)據(jù)的分類、匯總、計算及導(dǎo)出等操作,通過對進出水壓力數(shù)據(jù)報表進行分析,可以為管網(wǎng)、泵站建設(shè)提供決策依據(jù);通過對實時采集或每月錄入的出水流量數(shù)據(jù)報表的分析,可對泵站區(qū)域內(nèi)的水量進行監(jiān)測,及時發(fā)現(xiàn)異常;通過對每月錄入的電量和出水流量報表的綜合分析,可以及時發(fā)現(xiàn)異常情況,為節(jié)能降耗提供基礎(chǔ)數(shù)據(jù)支持。
3.1 工藝參數(shù)在報表中的要求
①在污水處理工藝中,要求的報表包括:流量、進水COD、進水NH3-N、出水COD、出水NH3-N、出水pH、出泥量、含水率和中水流量等工藝參數(shù)。
②對流量、中水流量工藝參數(shù)的報表要求能實現(xiàn)小時流量、日流量、月流量、年流量的流量累積及最大值、最小值、平均值的顯示等。
③對進水COD、進水NH3-N、出水COD、出水NH3-N、出水pH、出泥量和含水率等參數(shù)的報表要求能實現(xiàn)瞬時值、最大值、最小值、平均值等的顯示。
3.2 數(shù)據(jù)報表的格式及內(nèi)容要求
該報表系統(tǒng)要求能完成在上位機監(jiān)控畫面中實現(xiàn)嵌入式Excel報表功能,即將Excel報表格式集成到Wincc的畫面中,且可以實現(xiàn)將Excel中的內(nèi)容以.xlsx文件導(dǎo)出。另外,該系統(tǒng)還應(yīng)實現(xiàn)污水處理數(shù)據(jù)的年、月、日報表和自由報表等功能。
3.2.1 日報表功能要求。日報表中包含流量的瞬時值、累積值,進水COD等各參數(shù)的瞬時值、最大值、最小值及平均值,按1次/h進行整點歸檔,報表查詢條件可以按天進行查詢,總共有24條歸檔記錄。
3.2.2 月報表功能要求。月報表中包含流量瞬時值、累積值,進水COD等各參數(shù)的瞬時值及平均值,按1次/d進行每天歸檔,報表查詢條件可以按月進行查詢,根據(jù)不同的月份天數(shù)生成不同的歸檔記錄。
3.2.3 年報表功能要求。年報表中包含流量瞬時值、累積值,進水COD等各參數(shù)的瞬時值及平均值,按1次/月進行每月歸檔,報表查詢條件可以按月進行查詢,生成12條歸檔記錄。
3.2.4 自由報表功能要求。自由報表功能與日報表功能類似,包含流量瞬時值、累積值,進水COD等各參數(shù)的瞬時值、最大值、最小值及平均值,按1次/h進行整點歸檔,報表查詢條件可以通過畫面任意輸入起始終止時間進行查詢,如圖2所示。
圖2 自由報表查詢圖
4.1 年、月、日及自由報表查詢起始時間和終止時間的實現(xiàn)
Date and Time Picker是微軟提供的OCX控件,可以在Wincc中使用控件來實現(xiàn)報表查詢時需要的時間格式。通過VBS腳本,可以從控件中讀取設(shè)置的起始時間和終止時間,作為查詢數(shù)據(jù)庫Where后面的條件。
Wincc在歸檔時采用的時間格式為YYYY-MM-DD hh∶mmss,在訪問數(shù)據(jù)庫時應(yīng)按照該時間格式才能訪問歸檔的歷史數(shù)據(jù),所以在電腦-控制面板-區(qū)域語言中應(yīng)進行如圖3所示的設(shè)置。
圖3 日期和時間格式設(shè)置圖
4.1.1 自由報表查詢時間的實現(xiàn)。在HMI變量中添加StartData和StopData,數(shù)據(jù)類型為string的變量,Start?Data為起始時間,StopData為終止時間。在上位機監(jiān)控畫面中添加4個DT Picker控件對象實例,對象名稱分別為:DTPicker_1、DTPicker_2、DTPicker_3、DTPicker_4。對DTPicker_1和DTPicker_3的屬性-常規(guī)-Format設(shè)置為“1-dtpShortDate”,這樣控件1和3用來選擇日期;對DT?Picker_2和DTPicker_4的屬性-常規(guī)-Format設(shè)置為“1-dtpTime”,這樣控件2和4用來選擇時間。
在4個DTPicker對象的事件-change中添加DT_R_W腳本,通過截取每個DTPicker相應(yīng)的字符,然后進行組合,生成需要的日期時間格式。當對象發(fā)生變化時,自動調(diào)用DT_R_W腳本,完成固定的日期時間格式,如圖4所示。
圖4 DTPicker控件屬性圖
4.1.2 日報表、月報表、年報表查詢時間的實現(xiàn)。日報表、月報表、年報表查詢時間的實現(xiàn)方法類似,在畫面中不需要終止時間的選擇,只需選擇具體的日期,如圖5所示。日報表的查詢通過下面的腳本實現(xiàn)。
Set fromData=ScreenItems(quot;DTPicker_1quot;)
data1=Mid(CStr(fromData.value),1,10)
data2=quot;00∶00∶00quot;
StartData.Value = data1+quot;quot;+data2
StartData.Write
data4=quot;23∶59∶59quot;
StopData.Value =data1+quot;quot;+data4
StopData.Write
4.2 工藝參數(shù)不同數(shù)據(jù)歸檔方式的實現(xiàn)
Portal Wincc集成的變量歸檔功能,提供了強大的數(shù)據(jù)處理能力,可以靈活地控制歸檔的動作和內(nèi)容,將變量存儲到SQL數(shù)據(jù)庫中。Wincc在采集和記錄之前從過程變量中讀取的所有過程值都將由記錄函數(shù)進行處理。在數(shù)據(jù)日志中,可針對模擬量值使用以下處理方法:①當前:保存所采集的最后一個過程值;②總計:保存所有采集到的過程值的總和;③最大:保存所有采集的過程值的最大值;④最?。罕4嫠胁杉倪^程值的最小值;⑤平均值:保存所有采集到的過程值的平均值。
圖5 日報表查詢圖和腳本圖
具體實現(xiàn)過程為:第一步,在HMI變量中創(chuàng)建工藝參數(shù)對應(yīng)的變量,如圖6所示。
圖6 工藝參數(shù)的創(chuàng)建圖
第二步,在Portal Wincc-歷史數(shù)據(jù)中,根據(jù)日、月、年報表歸檔需求,創(chuàng)建三個歸檔記錄,P_A_D、P_A_M、P_A_Y,分別對應(yīng)日、月、年的歸檔,如圖7所示。
圖7 日、月、年歸檔記錄的創(chuàng)建圖
第三步,在周期中創(chuàng)建需要的周期時間,如圖8所示。
圖8 創(chuàng)建周期時間圖
第四步,對流量、中水流量工藝參數(shù)實現(xiàn)小時流量、日流量、月流量、年流量的流量累積的顯示,日報表中最大值、最小值、平均值的顯示,記錄周期可以選擇1h、1d、1月、1年的周期時間,采集周期為1s,歸檔方式為求和、最大值、最小值、平均值,如圖9所示。
圖9 工藝參數(shù)流量的設(shè)置圖
第五步,對進水COD、進水NH3-N、出水COD、出水NH3-N、出水pH、出泥量和含水率實現(xiàn)瞬時值、最大值、最小值、平均值的顯示,記錄周期可以選擇1h、1d、1月、1年的周期時間,采集周期為1s,歸檔方式為當前、求和、最大值、最小值、平均值,如圖10所示。
圖10 實時數(shù)據(jù)報表圖
4.3 使用ADO/Wincc OLE DB方式訪問Wincc壓縮歸檔數(shù)據(jù)
通過Wincc的變量歸檔功能可以非常方便地將變量按不同類型存儲到SQL數(shù)據(jù)庫中,但Wincc歸檔數(shù)據(jù)采用了壓縮格式,通過標準的SQL查詢語句無法進行數(shù)據(jù)讀取。對于Wincc壓縮歸檔的訪問只能通過ADO/Wincc OLE DB的方式進行查詢。
ADO/OLE DB層和數(shù)據(jù)庫的連接是通過數(shù)據(jù)庫提供者建立的,OLE DB接口和提供者是由不同的制造商提供的。可以通過WinCC OLE DB Provider和 Microsoft OLE DB兩種方式訪問WinCC的歸檔數(shù)據(jù)。其中,WinCC OLE DB可以直接訪問WINCC所有的變量歸檔數(shù)據(jù),而Microsoft OLE DB只能訪問沒有壓縮的過程值歸檔和報警消息歸檔數(shù)據(jù)。
使用ADO/OLE DB建立與數(shù)據(jù)庫的連接,其中最重要的參數(shù)是連接字符(ConnectionString)。連接字符串包含所有訪問數(shù)據(jù)庫必須的信息。連接字符串的結(jié)構(gòu)是:Provider=WinCCOLEDBProvider.1;Catalog=DatabaseName;Data Source=Server Name。
[Database Name]是WinCC運行數(shù)據(jù)庫的名稱,當修改項目名稱或在其他計算機上打開原項目時,Catalog會發(fā)生變化??梢允褂肳inCC系統(tǒng)變量“@DatasourceNa?meRT”獲得當前的Catalog。
[Server Name]:服務(wù)器名稱,如果是在本地訪問WinCC歸檔數(shù)據(jù)則使用Server Name=“.WinCC”或者“l(fā)t;計算機名稱gt;WinCC”。如果是在遠程訪問WinCC歸檔數(shù)據(jù),Server Name=“l(fā)t;計算機名稱gt;WinCC”或者“l(fā)t;計算機IP地址gt;WinCC”。
4.4 嵌入式Excel報表功能實現(xiàn)
在上位機監(jiān)控畫面中實現(xiàn)嵌入式Excel報表功能,即將Excel報表格式集成到Portal Wincc的畫面中,且可以實現(xiàn)將Excel中的內(nèi)容以.xlsx文件導(dǎo)出等功能。
通過spreadsheet控件在上位機畫面中實現(xiàn)嵌入式Excel報表功能,Office系統(tǒng)自2000版本開始,Microsoft向Office用戶提供了一組稱做Office Web Components(OWC)的功能組件,使用這些組件可以在WEB上建立一些有效的數(shù)據(jù)分析及報表解決方案。OWC是一組Com?ponent Object Model(COM)控件,提供了4個主要功能:Spreadsheet(電子數(shù)據(jù)表)、Chart(圖表)、PivotTable(數(shù)據(jù)透視表)、Data Source(數(shù)據(jù)源)。
Spreadsheet是 OWC(即 Office Web Components)隨Office提供的電子表格控件,通過它可將Excel表格集成到Wincc監(jiān)控畫面中,實現(xiàn)嵌入式報表功能。Spreadsheet就像一個小型的Excel,提供了Excel的所有公式表格計算、排序、內(nèi)容過濾、單元格保護等功能,可以從Excel文件直接獲得數(shù)據(jù),并支持保存為HTML形式的Excel文件。
安裝OWC11.exe后,可以在“我的控件”中添加spreadsheet控件,如圖11所示。
圖11 添加spreadsheet控件圖
初始化Spreadsheet控件,設(shè)計報表格式,將查詢的歷史歸檔數(shù)據(jù)填入到Spreadsheet表格中。對Spreadsheet控件程序代碼的編寫可以參考Execl中的“宏錄制”功能,通過宏錄制功能可以獲得對Spreadsheet功能實現(xiàn)需要的程序代碼。
若從沒使用過Excel宏功能的話,一般要先添加“宏”選項,具體路徑就是點擊左上角的微軟圖標,依次選擇:“Excel選項”-“常用”,勾選“功能區(qū)顯示開發(fā)工具選項卡”,然后就可以看到在Excel選項卡中就多了一個“開發(fā)工具”的選項,如圖12所示。
圖12 添加Excel宏選項界面
Spreadsheet控件提供了Excel表格大部分功能,如求和、排序,可以將數(shù)據(jù)導(dǎo)出到Excel文件中,功能非常實用。
4.5 報表畫面設(shè)計
根據(jù)報表要求設(shè)計4個畫面,分別實現(xiàn)日、月、年及自由報表功能。在畫面中添加Date and Time Picker、Spreadsheet控件及查詢按鈕等,如圖13所示。
圖13 報表界面圖
4.6 報表程序部分代碼設(shè)計
4.6.1 日、月、年及自由報表要求的表頭設(shè)計。生成日、月、年及自由報表要求的表頭、各列名稱等內(nèi)容,下面的代碼為日報表:
MySpreadSheet.Activesheet.Cells(1,1).Value=quot;日期quot;
MySpreadSheet.Activesheet.Cells(1,2).Value=quot;流量quot;
MySpreadSheet.Activesheet.Cells(1,3).Value=quot;進水CODquot;
MySpreadSheet.Activesheet.Cells(1,4).Value=quot;進水NH3-Nquot;
MySpreadSheet.Activesheet.Cells(1,5).Value=quot;進水PHquot;
MySpreadSheet.Activesheet.Cells(1,6).Value=quot;出水CODquot;
MySpreadSheet.Activesheet.Cells(1,7).Value=quot;出水NH3-Nquot;
MySpreadSheet.Activesheet.Cells(1,8).Value=quot;出泥量quot;
MySpreadSheet.Activesheet.Cells(1,9).Value=quot;含水率quot;
MySpreadSheet.Activesheet.Cells(1,10).Value=quot;中水流量quot;
MySpreadSheet.Activesheet.Cells(24,1).Value=quot;最大值quot;
MySpreadSheet.Activesheet.Cells(25,1).Value=quot;最小值quot;
MySpreadSheet.Activesheet.Cells(26,1).Value=quot;平均值quot;
MySpreadSheet.Activesheet.Cells(27,1).Value=quot;流量累計quot;
4.6.2 查詢時間處理。由于Wincc歸檔時間是按照UTC-8的格式進行記錄的,因此,在取得查詢時間后需要將起始時間和終止時間減去8h,作為數(shù)據(jù)查詢的條件。如下面的代碼所示:
StartData_2.Value= DateAdd(quot;hquot;,-8,StartData.Value)
StartData_2.Write
StopData_2.Value = DateAdd(quot;hquot;,-8,StopData.Value)
StopData_2.Write
查詢到數(shù)據(jù)后,需要將查詢的日期時間加上8h,然后輸出到Spreadsheet控件中,代碼為:
StartData_10.Value=DateAdd(quot;hquot;,8,objRecordset.Fields(1).Value)
StartData_10.Write
MySpreadSheet.Activesheet.Cells(i,1).Value=StartDa?ta_10.Value
如何進行流量累計及各生產(chǎn)數(shù)據(jù)的最大值、最小值、平均值等,是本文數(shù)據(jù)歸檔及統(tǒng)計的難點,如果采用傳統(tǒng)的腳本來實現(xiàn)比較復(fù)雜,借助Wincc集成的強大數(shù)據(jù)歸檔功能,可以很好地完成數(shù)據(jù)記錄的整點歸檔、流量累積等功能,簡單且易于實施,不需要復(fù)雜的腳本程序。
在Portal Wincc中,使用DT Picker和Spreadsheet控件及VBS腳本在上位機監(jiān)控畫面中完成Excel嵌入式報表功能,并實現(xiàn)年、月、日及自由報表等復(fù)雜的報表功能,并可以輕松地將數(shù)據(jù)以Excel文件格式導(dǎo)出。通過自由報表功能,可以實現(xiàn)對任意時間段的數(shù)據(jù)查詢,生成自由報表,對于實現(xiàn)污水處理的智能化、節(jié)能減排和提高系統(tǒng)運行的可靠性都具有重要的作用。
[1]劉喜梅,王康勝.污水處理廠遠程監(jiān)控系統(tǒng)的設(shè)計[J].自動化儀表,2014(6):83.
[2]王璦,盛連喜,李科,等.中國水資源現(xiàn)狀分析與可持續(xù)發(fā)展對策研究[J].水資源與水工程學(xué)報,2008(3):10-14.
[3]Olsson G.ICA and me-A subjective review[J].Water Research,2012(6):1585-1624.
[4]張純,吝伶艷.礦井污水處理在線監(jiān)控系統(tǒng)的開發(fā)[J].煤炭技術(shù),2015(7):256-257.
The Application of Embedded Production Report Based on Portal Wincc in Sewage Treatment Industry
Bai Xin1Gao Yiming2
(1.Department of Information Engineering,Zhengzhou Shengda University of Economics,Businessamp;Management,Zhengzhou Henan 451191;2.Simens(China)Co.,Ltd.,Zhengzhou Henan 450000)
Combined with the sewage treatment process requirements,using the latest Siemens configuration software Portal Wincc,to achieve intelligent sewage treatment system in a variety of complex reporting func?tions.Using Microsoft SQL database as the data storage platform,using DT Picker and Spreadsheet control and VBS script in the PC monitor screen to complete the Excel embedded report and report analysis,ex?port and web publishing.The results showed that the system could effectively save resources,reduce the workload of staff at all levels,improve work efficiency,make the statistic analysis and report generation of sewage treatment more standardized and efficient,and provide important basic data support for improving sewage treatment process management.
sewage treatment;Portal Wincc;DT Picker;Spreadsheet;VBS script
TP273.5
A
1003-5168(2017)10-0014-05
2017-09-02
2016年度河南省科技攻關(guān)項目(162102210121)。
白鑫(1980-),女,碩士,副教授,研究方向:計算機應(yīng)用及智能控制。