VB扩展WinCC的数据查询打印功能_第1页
VB扩展WinCC的数据查询打印功能_第2页
VB扩展WinCC的数据查询打印功能_第3页
VB扩展WinCC的数据查询打印功能_第4页
VB扩展WinCC的数据查询打印功能_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、1.引言WinCC(Windows Control Center是由德国西门子公司与微软共同开发的软件系统,是结合西门子在过程自动化领域中的先进技术和微机软件的强大功能的产物,是世界上第一个集成的人机界面(HMI软件系统1。WinCC提供了适合于工业的图形、消息、归档及报表等功能模块,广泛应用于各种工业控制系统的数据采集及监控2。但WinCC 报表格式设计不够灵活方便,往往满足不了项目需求,且WinCC限点销售,使用成本较高。WinCC本身也具有报表和过程数据归档功能,但是,其报表和过程数据归档功能不能满足工程实际的非过程数据报表的要求,而且, WinCC自身所带的SQL数据库和VBS脚本都不

2、支持汉语,这给数据处理带来麻烦,同时,WinCC在处理报表时不能对历史数据进行任意查询和过滤,并且报表格式设计比较呆板,缺乏灵活性,无法满足现场要求。本文主要是通过VB和VBS编程的方法来实现相关数据查询和报表功能,满足了工程实际要求,并取得良好效果。2.系统概述本系统报表是由VB编写的一个WinCC扩展程序模块和WinCC 自身脚本程序构成,通过在WinCC内部对该程序模块进行调用,并紧密嵌入在WinCC运行环境下,实现了在WinCC系统运行中,对数据的查询和复杂报表打印的功能。本系统先通过WinCC的VBS脚本程序,将采集的数据送入ACCESS数据库,然后通过VB对ACCESS数据库库进行

3、条件查询,将查询结果传输到MSHFlexGrid控件里。由于VB的数据库编程能力、报表处理功能非常强大,且WinCC的可扩展性很强,实现WinCC、VB与ACCESS的有机集成,使各种复杂的报表可以很容易的实现。3.WinCC6.0sp1版本数据库简介及其ADO数据接口配置3.1数据库简介WinCCsp1本身的归档数据存储在SQL类型的数据库文件中,该文件在WinCC项目所在目录下,文件名是<项目名>+RT.db。该数据库由许多数据表构成.但是,WinCCsp1版本的SQL数据库不支持中文,数据表格中输入的汉字会变成乱码,而且,VBS脚本语言也不支持汉语,这对数据的查询、报表带来了

4、一定的困难。所以,在做数据查询和报表时,可以绕开这一障碍,将ACCESS数据库做为非过程数据的数据库,用VB6.0访问数据库,实现数据的查询和打印报表功能。3.2WinCC的ADO配置3.2.1ADO技术简介ADO(ActiveX Data Objects是Microsoft为OLEDB设计的应用层接口,它为一致的数据访问接口提供了良好的扩展性而不局限于单一的数据源。ADO接口编程模型中包括:连接(Connection、命令(Command、参数(Parameter、记录集(Recordset、字段(Field、错误(Error、属性(Property、集合(Collection、事件(Eve

5、nt等元素。其中Connection、Command、Recordset是三个主体对象,Parameters、Fields、Errors、Properties是四个集合对象。ADO的一般操作方式为:1连接到数据源;2指定访问数据源的命令;3执行命令;4将命令执行后产生的结果保存在缓存中;5更新数据库;6检测错误,对错误的处理。ADO的主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。3使用ADO技术开发数据库应用程序主要有两种方法。方法一是在应用程序中使用ActiveX控件,这种方法可以最大程度地简化应用程序设计,只需将ADO控件的属性设计好,便可以访问数据库中的数据。但是,它的缺点是

6、效率低,程序设计者对程序的控制相对较弱,不能完全发挥ADO访问数据库的优良性能;方法二是数据绑定方法,可以在应用程序中直接声明或新建ADO对象,这样程序设计者可以在程序中随心所欲地对数据进行操作,效率比使用ActiveX控件要高。4考虑到系统的运行效率和实际,WinCC通过VBS脚本程序将数据送入ACCESS数据库时,运行效率要高,采用的第二种方法;VB对ACCESS数据库查询、统计时,为了方便快捷,采用第一中方法。3.2.2ADO的系统配置用VBS将WinCC采集的数据写入ACCESS数据库的配置:Dim gocn,gorsProductRecordSet gocn=CreateObject

7、("ADODB.Connection"Set gorsProductRecord=CreateObject("ADODB.Recordset"gocn.open"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C: dataReport.mdb;Persist Security Info=False"3gorsProductRecord.MoveLastgorsProductRecord.AddNewgorsProductRecord(1=CDate(newtime1gorsProductRe

8、cord(2="1"gorsProductRecord(3=TodayOneSum.ReadgorsProductRecord(4=TodayOneW.ReadgorsProductRecord.Update用VB将ACCESS数据库的数据进行查询、统计的配置:Dim sqlcon As StringDim sum1,sum2,sum3As DoubleAdodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:datareport.mdb;Persist Security Inf

9、o=False"sqlcon="select*from report1"sqlcon=sqlcon&"where report1.date>=#"&DTPicker1.Value &"#and report1.date<=#"&DTPicker2.Value&"#"按DTPicker1和DTPicker2控件输入的起止日期查询Adodc1.RecordSource=sqlconAdodc1.RefreshIf Not Adodc1.Recordset.B

10、OF ThenAdodc1.Recordset.MoveFirstEnd IfDo While Not Adodc1.Recordset.EOFsum1=sum1+1sum2=sum2+Val(Text13.Textsum3=sum3+Val(Text14.TextAdodc1.Recordset.MoveNextVB扩展WinCC的数据查询打印功能牛性年1刘长清2张辑3(1.兖矿集团物资部山东邹城273500;2.兖矿集团技术中心山东邹城273500;3.中国矿业大学信电学院江苏徐州221008摘要:本文主要讨论了使用VB语言,将西门子组态软件WinCC采集的数据,通过ACCESS数据库的A

11、ctiveX数据对象(ADO连接,查询后的数据输入到WinCC控件里,实现了对WinCC采集数据的灵活查询和复杂打印报表功能。关键字:WinCC;VB;ACCESS;ADOUsing VB Program to Expand WinCC Data Inquiry and Report PrintingAbstract:This paper mainly discusses how to import the WinCC data to Access database via ADO,and it solves commendably the problems of flexible data

12、inquiry and complicated data report based on ACCESS using VB program.Key words:WinCC;VB;ACCESS Database;ADO354Loop统计查询结果的产量用VB 将查询、统计结果送入MSHFlexGrid 打印的配置:特别是在数据库应用中,直接绑定即可显示和浏览数据库信息。然而,美中不足的是MSHFlexGrid 没有编辑和打印功能,列与列的位置不能相互交换。给MSHFlexGrid 控件增加打印方法有三种:一是直接打印控件,二是通过printer 来实现打印功能,三是通过调用MS-Word 及MS-E

13、xcel 来实现打印。为了提高系统的运行效率采用第二中方法开一个应用,在FORM1中增加DATA 控件DATA1,把DATA1的CONNECT 属性设为ACCESS,再把DATABASENAME 属性为:dataReport.mdb 。再根据报表要求设置列数、列宽、行宽、行宽和其它页面参数就可以打印了。 4.应用实例在某煤矿项目中,我们使用了该方法实现按班组、日期查询,并打印报表。其生产流程如图所示: 当矿井提升机箕斗完成装载时,PLC 通过输入模板读取箕斗装煤重量,将其存入PLC 的DB 块中,并将标志位置位,WinCC 定时扫描PLC 设定的标志位,当PLC 设定的标志位为1时,WinCC

14、 读取PLC 的DB 块的重量信息,并将PLC 设定的标志位复位;当PLC 设定的标志位为0时,不对数据操作。5.结束语本系统将PLC 采集过的数据,通过VBS 脚本编程,将数据写入ACCESS 数据库,然后再用VB 进行查询、统计、报表、以及打印。系统主要充分利用VB 访问数据库的强大功能和打印功能,结合ADO 数据库访问接口,充分扩展了WinCC 的报表打印功能。目前该系统已投入运行,性能良好。本文提供了扩展WinCC 的数据处理打印功能的一种方法,通过实践验证,该方法是可行的。参考文献1卢建华.使用Wincc 实现过程监控J.武汉科技大学学报(自然科学版,2000,23(1:76-79.

15、2王云.SIMATICWinCCV5.0使用入门M.北京:北京三博中自科技有限公司,2001.3Visual Basic+Access 数据库应用系统开发与实例,2004.4(美Mike Gunderloy 著.邱仲潘等译.ADO 与ADO.NET 编程指南M .北京:电子工业出版社,2002.科(上接第364页(3弱电回路:压力给定通过可调电阻(200K 的调节可以设定管网的压力;压力反馈通过连接与管网出口处压力传感器产生的4-20毫安的电流信号送给变频器。变频器对两者进行PID 运算,进而实现输出频率的变化。4.变频控制器程序控制流程图(图4、图5图4流程1图5流程2通过设置变频器的参数可以把控制设置成图4和图5两个控制流程,系统在调节过程中,当频率上升到工频fn-50HZ 时或下降到设定下限切换值fs 时,系统将根据反馈信号实现泵组在变频器与工频之间的平滑切换。5.变频器恒压供水相关参数设置(图6在变频器中设置上相应的参数(采用变频器中的PFC 应用宏,变频器即可按照上面的程序框图运行。参数设置简单,只需设定几个参数即可。(汉字处填写电机额定名牌值,两台泵工率一般应相同。图6变频器参数设置6.结论1ACS400型ABB 变频器参数设置简单,内置P

温馨提示

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

评论

0/150

提交评论