WinCC V6.2 数据库访问
我们现在的WinCC教材是以WinCC V6.0 SP3为软件平台而开发的,而之后,Siemens又推出了V6.2、V7.0版本的WinCC。目前,BU大力推的是V7.0的WinCC,我们的WinCC教材也准备升级为V7.0版本。但从用户的角度来说,对V7.0版本的WinCC还有一个逐步接受的过程,以后,我们碰到的客户,可能很多还是使用V6.2版本的软件。所以,我们还是有必要熟悉一下WinCC V6.2。本文主要介绍WinCC V6.2的数据库访问,由于WinCC V7.0和WinCC V6.2采用的都是SQL Server 2005数据库,故本文对了解WinCC V7.0的数据库访问也是有帮助的。
(一)若采用WinCC V6.2,原来的教材中有关操作和界面的变化
1. 打开SQL Server管理工具
SQL Server 2005和SQL Server 2000在界面上还是有很大不同的,原来的企业管理器变成了SQL Server Management Studio (SSMS)。
图1. 启动SSMS
2. 选择身份认证方式:
WinCC 系统在SQL Server中注册了自己的账户,如 WinCCAdminWinCCConnect等,所以,WinCC使用到了SQL Server的认证方式。外部程序访问数据库时,可以采用Windows 集成的认证方式。
图2. 选择身份认证方式
图3. WinCC在SQL Server中注册的用户
3. 查看ValueID和ValueName的对应关系
图4. 查看ValueID和ValueName的对应关系
4. 查看组态的消息
图5. 查看组态的消息
5. 查看归档片段的消息
图6. 查看归档片段的消息
6.数据传输服务
图7. 选择数据导出服务
图8. 选择数据源(与原来的DTS类似)
图9. 设置数据源
图10. 选择目标地
图11. 选择查询并传输
图12. 输入查询语句
图13. 源和目标列的对应关系
图14. 选择立刻执行传输
图15. 传输执行前的提示
图16. 传输执行结果报告
图17. 查看传输结果
7. 在Excel中编程利用WinCC OLE-DB访问WinCC数据库
  方法及程序同原来的教材,原来的教材的程序同样适用。
8. 归档变量设置和归档数据库片段设置和原来版本类似。
(二)有关WinCC V6.2数据库访问的一些背景知识
1. WinCC数据库的变迁:
Sybase Anywhere 7V6.0之前) -> Microsoft SQL Server 2000V6.0 -> Microsoft SQL Server 2005V6.2V7.0
2. WinCC V6.2 开始,慢速归档和快速归档都采用了压缩的方式存储在数据库的相应表中(Microsoft SQL Server 2005 之后),访问这些经过压缩的二进制数据块,需要采用独特的 OLE DB provider ——WinCC OLE-DB provider,而普通的 Microsoft OLE DB provider 无法读取并解密出WinCC 的归档数据。
3. WinCC和WinCCFlexibel项目各自生成一个实例。所谓的“实例”,就是一个SQL Server数据库引擎。SQL Server支持在同一台计算机上同时运行多个SQL Server数据库引擎实例,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。各实例的运行是独立的,一个实例的运行不会受其他实例运行的影响,也不会影响其他实例的运行。在一台计算机上安装多个SQL Server实例,就
相当于把这台计算机模拟成多个数据库服务器,而且这些模拟的数据库服务器是独立且同时运行的。
4. WinCC归档变量的时间采用通用协调时(UTC, Universal Time Coordinated)时间,滞后北京时间8小时,所以得到归档数据后,时间需要做调整。例如在VB中可以使用 DateAdd函数来进行转换。
5. sql数据库用什么软件打开ODBC是曾经的数据库通信标准;在组件/对象盛行的大趋势下,微软打算用OLE-DB来取代ODBC;ADO是简单的应用程序层面的数据库访问方法, 构建在OLE-DB之上。
ODBC(Open Database Connectivity)是一个数据库访问的标准接口。ODBC能够动态装载各个数据库的CLI,并把对ODBC的调用转换为CLI调用。通过这一标准的接口,开发者就可以不必关心具体的数据库管理系统(DBMS)的实现细节。只要相应类型数据库提供了ODBC驱动程序,就可以同过ODBC来实现对数据库的访问。至此,数据库应用程序就独立于具体的数据库管理系统了。
Microsoft COM技术发展起来以后,微软提出了OLE-DB(Object Linking & Embedding for Database)。OLE-DB是一个COM接口,并且需要每个数据库都提供自己的Provider(也就是类似于CLI的数据库调用方法或驱动)。所以,OLE-DB可以看做COM技术下的数据库访问的API函数。
WinCC选件Connectivity pack不是一个或一组应用程序,而是一组接口,不是面向最终用户,而主要是为WinCC数据库应用开发者提供不同的方法。主要包括了 OLE-DB,OPC XML,OPC HAD和OPC A&E。
Microsoft SQL Server提供了许多Provider,为什么还要选WinCCProvider?原因如下:
A、 只有使用制造商自己的Provider,才能访问加密的或者和SQL不兼容的数据。WinCC的过程值归档数据库就是经过压缩的,只有WinCC OLE-DB才能够解压这些数据。
B、 WinCC运行数据并不是存在一个数据库中,而是分散在多个小数据库当中,使用 WinCC OLE-DB能够透明地访问这些归档数据,而不需要考虑其数据库存储方式的复杂性。
图18. SQL Server本身提供了很多Provider
6. SQL Server 2005是微软推出的综合、集成的数据平台,是一种进行数据管理和数据分析的数据解决方案。与SQL Server 2000最大的区别是,SQL Server 2005超越传统意义上的数据库管理系统,已经发展成为“用于大规模联机事物处理、数据仓库和电子商务应用的数据库和数据分析平台”。
SQL Server 2005 的数据管理和数据分析功能是通过一些的组件来提供的,安装后将集中体现在相应的服务以及管理工具和开发工具中。因此,应该对这些组件和工具有一个大概的了解。
- SQL Server数据库引擎:数据库引擎是SQL Server 2005的核心组件,其基本功能是实现数据的存储、处理和保护,此外还包括复制、全文搜索以及用于管理关系数据和XML数据的工具。
-
分析服务(Analysis Services):分析服务包括用于创建和管理联机分析处理(OLAP)以及数据挖掘应用程序的工具。通过OLAP可以实现对多维、复杂的海量数据进行快速的高级分析;通过数据挖掘可以从海量数据中发现意想不到的“惊人”发现,以供决策支持。
- 报表服务(Reporting Services):报表服务是提供全面报表决策方案的服务器和客户端组件,可用于创建、管理和部署各种类型的报表,包括表格报表、矩阵报表、图形报表以及自由格式报表等。
- 通知服务(Notification Services):通知服务是一个信息发布平台,用于向各连接用户和连接设备发布个性化、及时的信息更新。
- 集成服务(Integration Services):集成服务是对SQL Server 2000数据转换服务(DTS)、数据导入\导出功能的扩充,形成了用于数据移动、复制和转换的图形工具和可编程对象。
- 连接组件:连接组件属于客户端组件,用于实现客户端和服务器之间的通信。此外,还用于DB-library、ODBC和OLE DB的网络库。
- 管理工具和开发工具:为实现对SQL Server的利用和开发,SQL Server 2005提供了两种类型的工具:管理工具和开发工具。
SQL Server 2005包含如下的管理工具:
A.SQL Server Management Studio(SSMS)
SSMS是SQL Server 2005 新增加的组件,它是对SQL Server 2000 查询分析器、企业管理器和分析管理器功能的集成和扩充,形成了用于访问、配置、管理和开发SQL Server的所有组件的集成环境。
B.  SQL Server配置管理器
        SQL Server配置管理器主要用于为SQL Server服务、服务器协议、客户端协议和客户端别名提供基本配置管理。
    此外,SQL Server 2005管理工具还包括SQL Server Profiler、数据库引擎优化顾问等,它们分别用于监视数据库引擎实例或Analysis Services实例和协助创建索引、索引视图和分区的最佳组合。
SQL Server 2005开发工具主要是Business Intelligence Development Studio(BIDS),它们是分析服务、报表服务和集成服务解决方案的集成开发环境。
7. 关于SQL数据库,它是由数据库文件(Database?File)和事务日志文件(Transaction?Log?File)组成的。两者密不可分,所以在做数据备份时,都要同时选择备份:
?- 扩展名.ldf是SQL数据库的事务处理记录日志文件(SQL?Server?Database?Transaction?Log?File),
用于记录SQL数据库所有事务,以及每个事务对数据库所做的修改和更新情况的文件,包含恢复数据库中的所有事务所需的记录信息。事务日志是SQL数据库的一个重要组件,如果系统出现故障,它将成为最新数据的唯一来源。所以,事务日志文件及其重要。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。