《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于WINCC工控组态软件的关系数据库的研究
基于WINCC工控组态软件的关系数据库的研究
赵秀梅
(沈阳化工学院,辽宁 沈阳110010)
摘要: 重点介绍了在工控组态软件WINCC上的数据库通信方法和采集过程,基于WINCC组态软件的数据库后台是关系数据库SQL Server。结合实际应用来研究关系数据库SQL Server及其优化策略和服务性能。
Abstract:
Key words :

摘 要: 重点介绍了在工控组态软件WINCC上的数据库通信方法和采集过程,基于WINCC组态软件的数据库后台是关系数据库SQL Server。结合实际应用来研究关系数据库SQL Server及其优化策略和服务性能。
关键词: 数据库; SQL Server; WINCC

    从WINCC6.0开始,就开始采用SQL2000SP3做为WINCC的后台数据了,而这个SQL2000SP3由Siemens为WINCC做了二次开发。WINCC的数据有设计时数据库和运行时数据库,分别放在相关的目录。设计时数据库没有研究的必要性,但运行时数据库要知道它的名称,其名称一般是“CC_工程名_年_月_日_时_分_秒R”,无论准备以DSN或OLEDB的方式访问数据库,都需要该名称。将WINCC激活,然后在“ODBC管理器”或“SQL企业管理器”下的“DATABASE”可以看到运行时数据库的名称。其实,WINCC在运行时,根据WINCC的设置,数据归档以一定时间做为基准,形成数据片段。在数据片段下,有3个表是用户所关心的:ARCHIVE(用户归档记录)、TAGPRESSED(TAGUNPRESSED)(压缩/非压缩变量归档记录)和MSARCLONG(报警记录)。在这里主要介绍在WINCC项目中的数据库编程和通信[1]。
1 总体思路
      WINCC项目中通用C和VB 两种语言,所以,采用与数据库进行通信的必要条件就是熟悉这2种语言。作为编程语言来说,编程只是最后实现结果的方式,重点在于通信方式的建立。下面分别从数据通信方式和实现方法来介绍。
2 数据通信方式
    与数据库通信的数据访问接口有以下几种[2]。
    (1)高级数据连接器ADC(Advanced Data Connector):提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLEDB对象的技术,它支持主要应用在微软IE浏览器上的数据绑定控件,是特地为以Web上的浏览器为基础的应用程序而设计的。
    (2)Active数据对象ADO(Active Data Objects):ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,既适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLEDB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。
   (3)数据访问对象DAO(Data Access Objects):一种面向对象的界面接口。通过DAO/JET功能可以访问ISAM数据库,使用DAO/ODBCDirect功能可以实现远程RDO功能。使用DAO的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能类似。DAO模型是设计关系数据库系统结构的对象类的集合,它提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。
   (4)数据连接性引擎技术JET(Joint Engine Technology):一种基于工作站通过DAO的数据库访问机制。虽然可以通过微软Access提供的ODBC驱动程序访问JET数据库,但使用这些驱动程序在功能上有所限制。JET机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。
   (5)开放式的数据库连接ODBC(Open DataBase Connectivity):一种公认的关系数据源的接口界面。它快而轻,并且提供统一接口的界面。ODBC对任何数据源都未作优化。
 (6)ODBCDirect:一种基于DAO对象的新的DAO模式,其方法和属性与RDO功能相同。在有DAO代码存在的场合使用,可用来访问远程数据源。
 (7)OLEDB:一种底层数据访问界面接口,是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序,或用于C++的开发者开发定制的数据库组件。OLEDB不能被VB直接调用。
 (8)远程数据访问控件RDC(Remote Data Control):一种对RDO数据绑定的控件。可以将特定的结果集输出到数据源控件。
 (9)远程数据对象RDO(Remote Data Objects):远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法。可以在对象和集合之间建立关系,这些关系代表了数据库系统的逻辑结构。RDO是ODBC API的一个浅层界面接口,是专为访问远程ODBC关系数据源而设计的。
 (10)VBSQL:Visual Basic结构化查询语言,是一种基于API的接口方法,几乎与C的DB-Library API相同。VBSQL只支持微软的SQL Server。VBSQL快而且轻,但不支持对象界面。
 尽管数据访问方式有多种,但是适合WINCC通信的方式只有ODBC和ADO,这里重点介绍ODBC接口访问方式。
3 实现方法
 ODBC是一种应用程序的接口(API),这种接口提供了独立于任何数据管理系统的应用程序编写能力。ODBC通过ODBC驱动程序为不同的数据库供应商的一组应用程序接口提供了特殊的数据库管理系统(DBMS)。用户的应用程序使用这组API来调度ODBC驱动程序。然后驱动程序通过SQL语句与DBMS发生联系。
  下面介绍ODBC数据源。在“我的电脑”中打开“控制面板”中的“管理工具”,即可见ODBC数据源图标。ODBC数据源管理器为配置、添加、删除各种不同的数据源名称提供了最为简洁的方法。它使用户可以轻松地完成数据源的配置工作,用户也可以删除原有的DSN(数据源名称),或对先前配置的数据源进行修改。ODBC数据源管理器的具体功能如下[3]。
  (1)用户DSN:ODBC用户数据源存储了如何与指定数据提供者连接的信息。用户数据源只对当前的用户可见,而且只能应用在本机上;
    (2)系统DSN: ODBC系统数据源存储了如何与指定数
据提供者连接的信息。系统数据源对当前机器上的所有用户可见;
    (3)文件DSN: ODBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享;
    (4)驱动程序: ODBC驱动程序允许那些支持ODBC的程序通过ODBC数据源获取信息。如果安装新的驱动程序,要使用其安装程序;
    (5)跟踪:ODBC跟踪允许创建调用ODBC驱动程序的日志,以供技术人员查看;也可以辅助调试应用程序。Visual Studio跟踪启动Microsoft Visual Studio的ODBC跟踪;
    (6)连接池:连接池允许应用程序重新打开连接句柄,此操作将往返过程存入服务器。
    建立数据源:通过对在系统DSN中建立SQL Server数据源test,连接的数据库为test,并测试成功。
 查询数据库:
 Dim cn,strConn,sql,rs
 Dim view1,view2
 Set cn = CreateObject("ADODB.Connection")
 Set rs=CreateObject("ADODB.Recordset")
 strConn="test"
 sql="select * from student order by id "
 cn.ConnectionString=strConn
 cn.Open
 rs.Open sql,cn
 view1=rs.fields("id")
 view2=rs("name")
 rs.movenext
 Set rs=Nothing
 Set cn=Nothing
 以上是一个在WINCC中访问数据库、实现查询功能的简单实例。同样,也可以实现插入、删除、修改等功能。
 以上只是初级的WINCC与数据库通信,要想提高效率,需要进行性能调校。所谓性能调校,是指以用户期望为依据进行调校目的方法。然而性能问题的症结通常不是表象所能显示出来的,从不同的方面去看,往往会有不同的解释。
 数据库性能调校的步骤流程“DETECT”为:
   (1)Discover the problem,发现问题;
 (2)Explore the conditions,探究原因,为问题提供明确的定义与定位;
 (3)Track down possible approaches,提供可能的解决方案;
 (4)Execute the most likely approach,执行最有可能的解决方案;
 (5)Check for success(如果需要,可重复之前的步骤),确认解决方案成功与否;
   (6)Tie up loose ends完成收尾工作。
 通过以上调校步骤来对数据库性能进行优化调校。也可以利用相关工具进行性能调校,如SQLDiag.exe、性能监视器(Performance Monitor)、事件日志与事件查看器(Events Log)、网络监视器(Network Monitor)、SQL Profiler、索引微调向导(Index Tuning Wizard)、Query Analyzer、DBCC、Application Center Test和Web Application Stress Tool等。
 通过对WINCC与数据库SQL Server进行连接的实例来说明其调校性能的步骤,实现了工控组态软件WINCC的数据库通信方法和采集过程;并就其性能方面进行了概述,提到了多种性能调校工具软件,对数据库系统进行监控和优化性能起了一定作用[4]。
参考文献
[1]  西门子(中国)自动化与驱动集团.深入浅出西门子WinCC V6. 北京:北京航空航天大学出版社,2004.
[2]  牛勇,袁鹏飞.QL Server编程篇[M].北京:电子工业出版社, 2005.
[3]  郑剑峰,董国平.SQL Server开发答疑[M].北京:北京:人民邮电出版社,2006.
[4]  胡百敬.Microsoft SQL Server性能调校[M].北京:电子工业出版社,2005.

此内容为AET网站原创,未经授权禁止转载。