基于Portal Wincc的嵌入式生产报表在污水处理行业的应用
2017-11-28高一明
白 鑫 高一明
基于Portal Wincc的嵌入式生产报表在污水处理行业的应用
白 鑫1高一明2
(1.郑州升达经贸管理学院信息工程系,河南 郑州 451191;2.西门子(中国)有限公司,河南 郑州 450000)
结合污水处理工艺要求,采用西门子公司最新的上位机组态软件Portal Wincc,实现污水处理智能控制系统中的各种复杂报表功能。利用微软的SQL数据库作为数据存储平台,使用DT Picker和Spreadsheet控件及VBS脚本在上位机监控画面中完成Excel嵌入式报表及报表分析、导出和网络发布。运行结果表明:该系统可以有效节约资源、减轻各级人员工作量、提高工作效率,使污水处理的数据统计分析和报表的生成更加规范、高效,为指导和改进污水处理工艺管理提供了重要的基础数据支撑。
污水处理;Portal Wincc;DT Picker;Spreadsheet;VBS脚本
1 研究背景
地球虽然有70.8%的面积为水所覆盖,但淡水资源仅占地球总水量的0.26%[1]。我国是一个水资源非常贫乏的国家,人均占水量仅有2 300m3,居世界第109位。此外,我国水资源分布极其不平衡,大致由东南向西北递减[2]。近年来,随着城市工业化发展速度的加快,城市规模不断扩大,城市人口数量急剧增加,水污染日益加剧,这严重制约着我国经济社会的可持续发展。我国污水处理行业起步较晚,发展比较缓慢,为了适应经济社会的发展,改善我国水资源环境,实现污水处理自动化和智能化的发展迫在眉睫。上位机智能监控和污水处理各部分的数据报表是污水处理自动化的重要组成部分。
传统报表系统的功能通常是在程序中设计几种常用的报表,交付使用后就无法再更改。本文结合河南省郑州市某新建污水处理厂项目,根据污水处理工艺要求,基于西门子公司最新的上位机Portal Wincc软件,采用微软的SQL数据库作为数据存储平台,制定和形成一套充分满足污水处理的统计分析及报表,使数据统计分析及报表生成更加规范、高效;减少数据重复填写,以提高数据共享程度,减轻各级人员工作量,提高工作效率。该报表可以实现在画面中嵌入Excel报表,能进行日报、月报、季报、年报的生成;同时也可以根据客户要求提供生产报表、工程师报表、总经理报表等。各类记录数据都可自动生成、导出Excel,各级管理人员可以根据自身权限随时查看,为污水处理的监控和管理提供重要的基础数据。
2 污水处理行业报表简介
目前,我国污水处理方法主要包括生物膜法、活性污泥法等,我国现有的生活污水处理大多采用的是活性污泥法,辅以一级处理、稳定塘法及土地处理等。处理工艺如图1所示。
图1 污水处理工艺流程图
在管理污水处理厂的过程中,为了取得令人满意的处理效果,达到污水处理的要求,需要对多个变量进行控制,如回流污泥量、沼气池上清液、污泥脱水剂投加量等,如果不能进行精细控制,可能会引起重大的操作问题[3]。因此,在污水处理厂处理污水的整个流程中,数据的采集和处理具有重要意义。
在污水处理智能控制系统中,用户通过上位机监控画面可以在监控室对整个污水处理工艺流程进行直观监控,实现对污水处理工艺中流量、进/出水COD、进/出水pH、出泥量、含水率及中水流量等工艺数据的实时监控及数据归档、数据分析、报表生成、网络发布等[4]。
用户还可以通过报表功能实现对上述数据的分类、汇总、计算及导出等操作,通过对进出水压力数据报表进行分析,可以为管网、泵站建设提供决策依据;通过对实时采集或每月录入的出水流量数据报表的分析,可对泵站区域内的水量进行监测,及时发现异常;通过对每月录入的电量和出水流量报表的综合分析,可以及时发现异常情况,为节能降耗提供基础数据支持。
3 污水处理行业报表需求分析
3.1 工艺参数在报表中的要求
①在污水处理工艺中,要求的报表包括:流量、进水COD、进水NH3-N、出水COD、出水NH3-N、出水pH、出泥量、含水率和中水流量等工艺参数。
②对流量、中水流量工艺参数的报表要求能实现小时流量、日流量、月流量、年流量的流量累积及最大值、最小值、平均值的显示等。
③对进水COD、进水NH3-N、出水COD、出水NH3-N、出水pH、出泥量和含水率等参数的报表要求能实现瞬时值、最大值、最小值、平均值等的显示。
3.2 数据报表的格式及内容要求
该报表系统要求能完成在上位机监控画面中实现嵌入式Excel报表功能,即将Excel报表格式集成到Wincc的画面中,且可以实现将Excel中的内容以.xlsx文件导出。另外,该系统还应实现污水处理数据的年、月、日报表和自由报表等功能。
3.2.1 日报表功能要求。日报表中包含流量的瞬时值、累积值,进水COD等各参数的瞬时值、最大值、最小值及平均值,按1次/h进行整点归档,报表查询条件可以按天进行查询,总共有24条归档记录。
3.2.2 月报表功能要求。月报表中包含流量瞬时值、累积值,进水COD等各参数的瞬时值及平均值,按1次/d进行每天归档,报表查询条件可以按月进行查询,根据不同的月份天数生成不同的归档记录。
3.2.3 年报表功能要求。年报表中包含流量瞬时值、累积值,进水COD等各参数的瞬时值及平均值,按1次/月进行每月归档,报表查询条件可以按月进行查询,生成12条归档记录。
3.2.4 自由报表功能要求。自由报表功能与日报表功能类似,包含流量瞬时值、累积值,进水COD等各参数的瞬时值、最大值、最小值及平均值,按1次/h进行整点归档,报表查询条件可以通过画面任意输入起始终止时间进行查询,如图2所示。
图2 自由报表查询图
4 各种报表功能的实现
4.1 年、月、日及自由报表查询起始时间和终止时间的实现
Date and Time Picker是微软提供的OCX控件,可以在Wincc中使用控件来实现报表查询时需要的时间格式。通过VBS脚本,可以从控件中读取设置的起始时间和终止时间,作为查询数据库Where后面的条件。
Wincc在归档时采用的时间格式为YYYY-MM-DD hh∶mmss,在访问数据库时应按照该时间格式才能访问归档的历史数据,所以在电脑-控制面板-区域语言中应进行如图3所示的设置。
图3 日期和时间格式设置图
4.1.1 自由报表查询时间的实现。在HMI变量中添加StartData和StopData,数据类型为string的变量,Start⁃Data为起始时间,StopData为终止时间。在上位机监控画面中添加4个DT Picker控件对象实例,对象名称分别为:DTPicker_1、DTPicker_2、DTPicker_3、DTPicker_4。对DTPicker_1和DTPicker_3的属性-常规-Format设置为“1-dtpShortDate”,这样控件1和3用来选择日期;对DT⁃Picker_2和DTPicker_4的属性-常规-Format设置为“1-dtpTime”,这样控件2和4用来选择时间。
在4个DTPicker对象的事件-change中添加DT_R_W脚本,通过截取每个DTPicker相应的字符,然后进行组合,生成需要的日期时间格式。当对象发生变化时,自动调用DT_R_W脚本,完成固定的日期时间格式,如图4所示。
图4 DTPicker控件属性图
4.1.2 日报表、月报表、年报表查询时间的实现。日报表、月报表、年报表查询时间的实现方法类似,在画面中不需要终止时间的选择,只需选择具体的日期,如图5所示。日报表的查询通过下面的脚本实现。
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 工艺参数不同数据归档方式的实现
Portal Wincc集成的变量归档功能,提供了强大的数据处理能力,可以灵活地控制归档的动作和内容,将变量存储到SQL数据库中。Wincc在采集和记录之前从过程变量中读取的所有过程值都将由记录函数进行处理。在数据日志中,可针对模拟量值使用以下处理方法:①当前:保存所采集的最后一个过程值;②总计:保存所有采集到的过程值的总和;③最大:保存所有采集的过程值的最大值;④最小:保存所有采集的过程值的最小值;⑤平均值:保存所有采集到的过程值的平均值。
图5 日报表查询图和脚本图
具体实现过程为:第一步,在HMI变量中创建工艺参数对应的变量,如图6所示。
图6 工艺参数的创建图
第二步,在Portal Wincc-历史数据中,根据日、月、年报表归档需求,创建三个归档记录,P_A_D、P_A_M、P_A_Y,分别对应日、月、年的归档,如图7所示。
图7 日、月、年归档记录的创建图
第三步,在周期中创建需要的周期时间,如图8所示。
图8 创建周期时间图
第四步,对流量、中水流量工艺参数实现小时流量、日流量、月流量、年流量的流量累积的显示,日报表中最大值、最小值、平均值的显示,记录周期可以选择1h、1d、1月、1年的周期时间,采集周期为1s,归档方式为求和、最大值、最小值、平均值,如图9所示。
图9 工艺参数流量的设置图
第五步,对进水COD、进水NH3-N、出水COD、出水NH3-N、出水pH、出泥量和含水率实现瞬时值、最大值、最小值、平均值的显示,记录周期可以选择1h、1d、1月、1年的周期时间,采集周期为1s,归档方式为当前、求和、最大值、最小值、平均值,如图10所示。
图10 实时数据报表图
4.3 使用ADO/Wincc OLE DB方式访问Wincc压缩归档数据
通过Wincc的变量归档功能可以非常方便地将变量按不同类型存储到SQL数据库中,但Wincc归档数据采用了压缩格式,通过标准的SQL查询语句无法进行数据读取。对于Wincc压缩归档的访问只能通过ADO/Wincc OLE DB的方式进行查询。
ADO/OLE DB层和数据库的连接是通过数据库提供者建立的,OLE DB接口和提供者是由不同的制造商提供的。可以通过WinCC OLE DB Provider和 Microsoft OLE DB两种方式访问WinCC的归档数据。其中,WinCC OLE DB可以直接访问WINCC所有的变量归档数据,而Microsoft OLE DB只能访问没有压缩的过程值归档和报警消息归档数据。
使用ADO/OLE DB建立与数据库的连接,其中最重要的参数是连接字符(ConnectionString)。连接字符串包含所有访问数据库必须的信息。连接字符串的结构是:Provider=WinCCOLEDBProvider.1;Catalog=DatabaseName;Data Source=Server Name。
[Database Name]是WinCC运行数据库的名称,当修改项目名称或在其他计算机上打开原项目时,Catalog会发生变化。可以使用WinCC系统变量“@DatasourceNa⁃meRT”获得当前的Catalog。
[Server Name]:服务器名称,如果是在本地访问WinCC归档数据则使用Server Name=“.WinCC”或者“lt;计算机名称gt;WinCC”。如果是在远程访问WinCC归档数据,Server Name=“lt;计算机名称gt;WinCC”或者“lt;计算机IP地址gt;WinCC”。
4.4 嵌入式Excel报表功能实现
在上位机监控画面中实现嵌入式Excel报表功能,即将Excel报表格式集成到Portal Wincc的画面中,且可以实现将Excel中的内容以.xlsx文件导出等功能。
通过spreadsheet控件在上位机画面中实现嵌入式Excel报表功能,Office系统自2000版本开始,Microsoft向Office用户提供了一组称做Office Web Components(OWC)的功能组件,使用这些组件可以在WEB上建立一些有效的数据分析及报表解决方案。OWC是一组Com⁃ponent Object Model(COM)控件,提供了4个主要功能:Spreadsheet(电子数据表)、Chart(图表)、PivotTable(数据透视表)、Data Source(数据源)。
Spreadsheet是 OWC(即 Office Web Components)随Office提供的电子表格控件,通过它可将Excel表格集成到Wincc监控画面中,实现嵌入式报表功能。Spreadsheet就像一个小型的Excel,提供了Excel的所有公式表格计算、排序、内容过滤、单元格保护等功能,可以从Excel文件直接获得数据,并支持保存为HTML形式的Excel文件。
安装OWC11.exe后,可以在“我的控件”中添加spreadsheet控件,如图11所示。
图11 添加spreadsheet控件图
初始化Spreadsheet控件,设计报表格式,将查询的历史归档数据填入到Spreadsheet表格中。对Spreadsheet控件程序代码的编写可以参考Execl中的“宏录制”功能,通过宏录制功能可以获得对Spreadsheet功能实现需要的程序代码。
若从没使用过Excel宏功能的话,一般要先添加“宏”选项,具体路径就是点击左上角的微软图标,依次选择:“Excel选项”-“常用”,勾选“功能区显示开发工具选项卡”,然后就可以看到在Excel选项卡中就多了一个“开发工具”的选项,如图12所示。
图12 添加Excel宏选项界面
Spreadsheet控件提供了Excel表格大部分功能,如求和、排序,可以将数据导出到Excel文件中,功能非常实用。
4.5 报表画面设计
根据报表要求设计4个画面,分别实现日、月、年及自由报表功能。在画面中添加Date and Time Picker、Spreadsheet控件及查询按钮等,如图13所示。
图13 报表界面图
4.6 报表程序部分代码设计
4.6.1 日、月、年及自由报表要求的表头设计。生成日、月、年及自由报表要求的表头、各列名称等内容,下面的代码为日报表:
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,作为数据查询的条件。如下面的代码所示:
StartData_2.Value= DateAdd(quot;hquot;,-8,StartData.Value)
StartData_2.Write
StopData_2.Value = DateAdd(quot;hquot;,-8,StopData.Value)
StopData_2.Write
查询到数据后,需要将查询的日期时间加上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
5 结语
如何进行流量累计及各生产数据的最大值、最小值、平均值等,是本文数据归档及统计的难点,如果采用传统的脚本来实现比较复杂,借助Wincc集成的强大数据归档功能,可以很好地完成数据记录的整点归档、流量累积等功能,简单且易于实施,不需要复杂的脚本程序。
在Portal Wincc中,使用DT Picker和Spreadsheet控件及VBS脚本在上位机监控画面中完成Excel嵌入式报表功能,并实现年、月、日及自由报表等复杂的报表功能,并可以轻松地将数据以Excel文件格式导出。通过自由报表功能,可以实现对任意时间段的数据查询,生成自由报表,对于实现污水处理的智能化、节能减排和提高系统运行的可靠性都具有重要的作用。
[1]刘喜梅,王康胜.污水处理厂远程监控系统的设计[J].自动化仪表,2014(6):83.
[2]王瑷,盛连喜,李科,等.中国水资源现状分析与可持续发展对策研究[J].水资源与水工程学报,2008(3):10-14.
[3]Olsson G.ICA and me-A subjective review[J].Water Research,2012(6):1585-1624.
[4]张纯,吝伶艳.矿井污水处理在线监控系统的开发[J].煤炭技术,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年度河南省科技攻关项目(162102210121)。
白鑫(1980-),女,硕士,副教授,研究方向:计算机应用及智能控制。