基于WinCC的复杂报表功能实现_第1页
基于WinCC的复杂报表功能实现_第2页
基于WinCC的复杂报表功能实现_第3页
基于WinCC的复杂报表功能实现_第4页
基于WinCC的复杂报表功能实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于WINCC配置软件的复杂报告实现孙燕燕李嘉文彦智慧天元孙元泽(机械开发技术有限公司北京)摘要:此文件说明如何在WinCC组态软体环境中存取历史资料库的压缩存档资料,以产生具有资料统计资料分析功能的报表。并且以实际污水处理厂为例,基于此方法和步骤,完成现场所需的各种时间节点和数据分析统计的报告要求,报告性能稳定可靠。关键字:VBS语言WinCC压缩归档文件WinCC OLE控件the method of gene rating complex reports based on WINCC software孙家文李志岩元天顺。(machinery technology development co ltd . beijin)abstract:a method of gene rating reports using WINCC is produced on this paper。the method can generate the report with data statistical analysis in his torical数据库。according to this method,The report of every time node and data analysis for actual waste water treatment plant can be finished。the practical application progves the report is stable and relable .Keywords: VBS WINCC压缩归档WINCC ole db1.简介WinCC是目前使用最广泛的行业配置软件之一,广泛应用于多种行业控制系统的数据收集和监控应用系统。所有流程数据都存储在专用Microsoft SQL Sever 2005数据库中,用户可以通过WinCC提供的联机控制等控件进行访问,但不能直接访问和处理。显然,现场越来越复杂的数据分析统计数据的报告要求已经不能满足了。本文通过结合使用VBS、WinCC OLE DB方法和SQL的编程方法,对数据进行重新归档和统计分析,以满足各种情况下的报告要求。污水处理厂自动控制系统简介污水处理厂释放3万吨/日的水。全厂使用Siemens PLC执行监控、控制和数据收集存储,如图1所示。主机使用WinCC作为人机交互界面的软件平台。报告系统必须具有自由报告功能,根据当地EPA和污水处理厂的要求,可以按日报、月度报告、季度报告、年度报告和时间间隔进行查看。Wincc本身包含的历史数据查找控件无法满足要求,需要以编程方式实施主机计算机监视系统报告功能。PLC2PLC1测量仪表污泥泵鼓风机测量仪表升高泵粗格栅粗格栅图1:污水处理厂自动控制系统方框图3.报告生成过程WinCC历史数据库存储方法和常规访问方法在WinCC运行时,数据存档会在一定的时间内形成数据片段。数据片段下面是与三个数据作业存储相关的表,主要称为归档文件(用户归档文件记录)。TAGPRESSED(TAGUNPRESSED)(压缩/未压缩变量归档记录);MSARCLONG(警告记录)。这些表不允许直接访问,不允许修改ARCHIVE和TAGPRESSED(TAGUNPRESSED),MSARCLONG允许通过控件插入/修改等。如果仅修改对数据的简单查询和警报报告,可以通过WinCC online Talbe Control和WinCC Alarm Control控件完成,但是由于控件访问格式固定,因此很明显,如果用户对报表功能的要求很高,则不适用。使用3.2 WinCC OLE DB方法访问历史数据库SIEMENS从WINCC6.0开始,使用SQL3000SP3作为WINCC的后台数据。SQL2000SP3采用了一些不同于传统SQL访问方法的独特技术。WINCC中的SQL库作业具有自己的定义SQL语句,这些语句不需要表名,需要通过自己的WinCC OLE DB访问。定义连接字符串spro= provider=winccledbprovider . 1;Sdnn= catalog=数据库名称;SSer=Data Source=。WinCC其中,数据库名称是运行WinCC后自动生成的数据库名称,其他名称的格式为固定。使用连接字符串连接数据库set conn=create object( adodb . connection )Conn.ConnectionString=sConConn.Open数据查询Omandtext= tag:r,(a1,a2), sttime.outputvalue , sptime.outputvalue 其中A1,A2是数据库的Achieve表中存档变量的ID。3.3 RecordSet记录集的数据存储格式WinCC历史数据库中的数据通过WinCC OLE DB方法读取,然后存储在RecordSet记录集中。要处理这些数据,必须首先知道如何存储这些数据,然后通过VBS编程处理这些数据。图2将WinCC的历史数据库数据读取到RecordSet中,并在WinCC Listview中显示。RecordSet每个存储记录包含五列。ValueID-WinCC ARCHIVE表中变量的value id timestamp-变量存储时间 realvalue-变量值质量-指示数据好坏的质量数 flags-标志位图2: WINCC历史数据-显示RecordSet在图2中,第一列是变量ID,第二列是存储时间,第三列是变量值,第三列是我们需要的数据。计算这些数据以完成报表的各种功能,例如累计值、平均值、最大最小值计算等。3.4实施报告功能您可以使用RecordSet数据集中的数据计算日报、月度报告、季度报告和年度报告。建立使用者资料库,设定日报告、月报告等所需的表格,并将计算的资料储存在相应的表格中,以建构报告。根据用户查询中的报表按钮,连接不同的表以导入数据并生成用户所需的报表。下面以月报为例进行介绍。月报的实现平均每天生成1个,每月生成30个或31个数据。在SQLserver中,创建名为ReportData的用户数据库,然后在数据库中创建名为Data-Month的table。在WinCC中创建以10分钟为间隔运行的VBS全局脚本,每个记录的时间格式为年-月-日00: 00: 00: 00。每次变更日变数时,程式都会在资料表中插入新记录。否则,程序将仅更新当前记录的数据内容。流程图如图3所示。开始读取系统时间获取当前时间Wincc历史数据库连接读取一段时间的数据并计算平均值断开Wincc历史数据库ReportData数据库连接日期是否存在更新数据记录新建数据记录N Y断开ReportData数据库连接结束图3:每月报告流程图以下说明方案各部分的具体实施情况。通过打开WinCC历史数据库并随时间读取数据来创建RecordSet对象。具体步骤在2.2中说明。图3是用于创建数据集后处理数据的方法的程序流程图。RecordSet包含数据记录yRecordSet行数计算变量行数=RecotdSet行数/变量数指针指向第一行累计值计算指针加1N N迭代次数=变量行数y指针指向对象的最后一条记录yn计算以下变量的累积值结束图4:计算功能流程图连接数据库在WinCC中,将用户数据库与VB连接数据库连接的语法相同,此处不再讨论。主要程序如下:SCon _ 1= Provider=SQLOLEDB.1Integrated Security=SSPIPersist Security Info=FalseInitial catalog=baobao _ monthData Source=。WINCCConn_1。Open新的数据记录创建新数据记录时,Sum1、Sum2和Sum3在步骤中计算str work 1= insert intoreport data。dbo。data-monthStrwork 2= (datetime,temperature,press,height)Strwork 3= values (date ,(sum 1),(sum 2),(sum 3)str work=str work 1 str work 2 str work 3更新数据记录如果日期关键字未更改,程序将仅更新当前记录,而不创建新的数据记录。str work 6= update报告数据。dbo。data-monthstr work 7= set temperature=(sum 1),press= (sum 2),height= (sum 3) StrWork8= WHERE DateTime= Date str work 5=str work 6 str work 7 str work 84.报表查看流程经过上述步骤,已设置了报告数据库。日报表、月报表、季度报表和年报表以不同的时间间隔存储在表中,因此,您可以在WinCC中结合DTPicker时间控件和按钮来执行数据查询。按钮的功能是确定要选择哪个表作为查询对象,而DTPicker的功能是设置查询的开始时间和结束时间。DTPicker是Microsoft提供的OCX控件,并将它添加到WinCC中。通过此控件设置时间,可以对控件中设置的时间参数进行VB编程,以便以后根据此时间执行数据库查找。5.运行结果该报告系统在实际污水处理厂自动控制系统中运行正常,包括流入流量、流出流量、流入大邱、流出大邱、流出氨氮、流出氨氮、溶解氧、流入PH、流出PH、爆炸容量、污泥浓度11变量。每日报表、月份报表、季度报表和年度报表的查询以及累计值和平均计算在系统中实现。6.结论该报告系统通过WinCC OLE DB方法连接到WinCC历史数据库,读取数据,通过结合VBS和SQL的编程实现对数据的灵活访问,从而创建符合污水处理厂要求的报告系统。使用此方法可以创建复杂的报告系统,以解决项目中与报告相关的实际问题。参考文献1.龚菲曾等,Visual Basic编程简明教程,第一版,2001,高等教育出版社,北京2.窗口guiying,yushujun,Visual Basic编程SQL Server 2005数据库应用程序系统开发案例教程,第一版,2012,清华大学出版社,北京3.刘艺、安剑等,Visual Basic从入门到掌握,第二版,2010年,清华大学出版社,北京4.柳奇女子等,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论