WinCC数据库SQL访问.docx
《WinCC数据库SQL访问.docx》由会员分享,可在线阅读,更多相关《WinCC数据库SQL访问.docx(16页珍藏版)》请在冰豆网上搜索。
WinCC数据库SQL访问
WinCCV6、2数据库访问
我们现在的WinCC教材就是以WinCCV6、0SP3为软件平台而开发的,而之后,Siemens又推出了V6、2、V7、0版本的WinCC。
目前,BU大力推的就是V7、0的WinCC,我们的WinCC教材也准备升级为V7、0版本。
但从用户的角度来说,对V7、0版本的WinCC还有一个逐步接受的过程,以后,我们碰到的客户,可能很多还就是使用V6、2版本的软件。
所以,我们还就是有必要熟悉一下WinCCV6、2。
本文主要介绍WinCCV6、2的数据库访问,由于WinCCV7、0与WinCCV6、2采用的都就是SQLServer2005数据库,故本文对了解WinCCV7、0的数据库访问也就是有帮助的。
(一)若采用WinCCV6、2,原来的教材中有关操作与界面的变化
1、打开SQLServer管理工具
SQLServer2005与SQLServer2000在界面上还就是有很大不同的,原来的企业管理器变成了SQLServerManagementStudio(SSMS)。
图1、启动SSMS
2、选择身份认证方式:
WinCC系统在SQLServer中注册了自己的账户,如WinCCAdmin、WinCCConnect等,所以,WinCC使用到了SQLServer的认证方式。
外部程序访问数据库时,可以采用Windows集成的认证方式。
图2、选择身份认证方式
图3、WinCC在SQLServer中注册的用户
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中编程利用WinCCOLE-DB访问WinCC数据库
方法及程序同原来的教材,原来的教材的程序同样适用。
8.归档变量设置与归档数据库片段设置与原来版本类似。
(二)有关WinCCV6、2数据库访问的一些背景知识
1、WinCC数据库的变迁:
SybaseAnywhere7(V6、0之前)->MicrosoftSQLServer2000(V6、0)->MicrosoftSQLServer2005(V6、2,V7、0)
2、WinCCV6、2开始,慢速归档与快速归档都采用了压缩的方式存储在数据库的相应表中(MicrosoftSQLServer2005之后),访问这些经过压缩的二进制数据块,需要采用独特的OLE–DBprovider——WinCCOLE-DBprovider,而普通的MicrosoftOLE–DBprovider无法读取并解密出WinCC的归档数据。
3、WinCC与WinCCFlexibel项目各自生成一个实例。
所谓的“实例”,就就是一个SQLServer数据库引擎。
SQLServer支持在同一台计算机上同时运行多个SQLServer数据库引擎实例,每个SQLServer数据库引擎实例各有一套不为其她实例共享的系统及用户数据库。
各实例的运行就是独立的,一个实例的运行不会受其她实例运行的影响,也不会影响其她实例的运行。
在一台计算机上安装多个SQLServer实例,就相当于把这台计算机模拟成多个数据库服务器,而且这些模拟的数据库服务器就是独立且同时运行的。
4、WinCC归档变量的时间采用通用协调时(UTC,UniversalTimeCoordinated)时间,滞后北京时间8小时,所以得到归档数据后,时间需要做调整。
例如在VB中可以使用DateAdd函数来进行转换。
5、ODBC就是曾经的数据库通信标准;在组件/对象盛行的大趋势下,微软打算用OLE-DB来取代ODBC;ADO就是简单的应用程序层面的数据库访问方法,构建在OLE-DB之上。
ODBC(OpenDatabaseConnectivity)就是一个数据库访问的标准接口。
ODBC能够动态装载各个数据库的CLI,并把对ODBC的调用转换为CLI调用。
通过这一标准的接口,开发者就可以不必关心具体的数据库管理系统(DBMS)的实现细节。
只要相应类型数据库提供了ODBC驱动程序,就可以同过ODBC来实现对数据库的访问。
至此,数据库应用程序就独立于具体的数据库管理系统了。
MicrosoftCOM技术发展起来以后,微软提出了OLE-DB(ObjectLinking&EmbeddingforDatabase)。
OLE-DB就是一个COM接口,并且需要每个数据库都提供自己的Provider(也就就是类似于CLI的数据库调用方法或驱动)。
所以,OLE-DB可以瞧做COM技术下的数据库访问的API函数。
WinCC选件Connectivitypack不就是一个或一组应用程序,而就是一组接口,不就是面向最终用户,而主要就是为WinCC数据库应用开发者提供不同的方法。
主要包括了OLE-DB,OPCXML,OPCHAD与OPCA&E。
MicrosoftSQLServer提供了许多Provider,为什么还要选WinCCProvider?
原因如下:
A、只有使用制造商自己的Provider,才能访问加密的或者与SQL不兼容的数据。
WinCC的过程值归档数据库就就是经过压缩的,只有WinCCOLE-DB才能够解压这些数据。
B、WinCC运行数据并不就是存在一个数据库中,而就是分散在多个小数据库当中,使用WinCCOLE-DB能够透明地访问这些归档数据,而不需要考虑其数据库存储方式的复杂性。
图18、SQLServer本身提供了很多Provider
6、SQLServer2005就是微软推出的综合、集成的数据平台,就是一种进行数据管理与数据分析的数据解决方案。
与SQLServer2000最大的区别就是,SQLServer2005超越传统意义上的数据库管理系统,已经发展成为“用于大规模联机事物处理、数据仓库与电子商务应用的数据库与数据分析平台”。
SQLServer2005的数据管理与数据分析功能就是通过一些的组件来提供的,安装后将集中体现在相应的服务以及管理工具与开发工具中。
因此,应该对这些组件与工具有一个大概的了解。
-SQLServer数据库引擎:
数据库引擎就是SQLServer2005的核心组件,其基本功能就是实现数据的存储、处理与保护,此外还包括复制、全文搜索以及用于管理关系数据与XML数据的工具。
-分析服务(AnalysisServices):
分析服务包括用于创建与管理联机分析处理(OLAP)以及数据挖掘应用程序的工具。
通过OLAP可以实现对多维、复杂的海量数据进行快速的高级分析;通过数据挖掘可以从海量数据中发现意想不到的“惊人”发现,以供决策支持。
-报表服务(ReportingServices):
报表服务就是提供全面报表决策方案的服务器与客户端组件,可用于创建、管理与部署各种类型的报表,包括表格报表、矩阵报表、图形报表以及自由格式报表等。
-通知服务(NotificationServices):
通知服务就是一个信息发布平台,用于向各连接用户与连接设备发布个性化、及时的信息更新。
-集成服务(IntegrationServices):
集成服务就是对SQLServer2000数据转换服务(DTS)、数据导入\导出功能的扩充,形成了用于数据移动、复制与转换的图形工具与可编程对象。
-连接组件:
连接组件属于客户端组件,用于实现客户端与服务器之间的通信。
此外,还用于DB-library、ODBC与OLEDB的网络库。
-管理工具与开发工具:
为实现对SQLServer的利用与开发,SQLServer2005提供了两种类型的工具:
管理工具与开发工具。
SQLServer2005包含如下的管理工具:
A.SQLServerManagementStudio(SSMS)
SSMS就是SQLServer2005新增加的组件,它就是对SQLServer2000查询分析器、企业管理器与分析管理器功能的集成与扩充,形成了用于访问、配置、管理与开发SQLServer的所有组件的集成环境。
B、SQLServer配置管理器
SQLServer配置管理器主要用于为SQLServer服务、服务器协议、客户端协议与客户端别名提供基本配置管理。
此外,SQLServer2005管理工具还包括SQLServerProfiler、数据库引擎优化顾问等,它们分别用于监视数据库引擎实例或AnalysisServices实例与协助创建索引、索引视图与分区的最佳组合。
SQLServer2005开发工具主要就是BusinessIntelligenceDevelopmentStudio(BIDS),它们就是分析服务、报表服务与集成服务解决方案的集成开发环境。
7、关于SQL数据库,它就是由数据库文件(Database File)与事务日志文件(Transaction Log File)组成的。
两者密不可分,所以在做数据备份时,都要同时选择备份:
-扩展名、ldf就是SQL数据库的事务处理记录日志文件(SQL Server Database Transaction Log File),用于记录SQL数据库所有事务,以及每个事务对数据库所做的修改与更新情况的文件,包含恢复数据库中的所有事务所需的记录信息。
事务日志就是SQL数据库的一个重要组件,如果系统出现故障,它将成为最新数据的唯一来源。
所以,事务日志文件及其重要。
-扩展名、mdf就是SQL数据库的主数据记录文件(SQL Server Database Primary Data File),用于存储SQL数据库的启动信息与部分或全部数据。
VB编程wincc用vb脚本写自定义的sql数据库问题减小字体增大字体作者:
佚名来源:
本站整理发布时间:
2009-05-2520:
02:
58
我想用一个按钮的动作脚本连接sql,然后用全局脚本周期性写变量值到sql,然后用另一个按钮动作脚本断开sql连接。
这样能用vb脚本实现不?
因为连接sql的脚本里面有个对象objConnection,如下代码:
strConnectionString="Driver={SQLServer};Server=、\WINCC;uid=;pass=;database=guowincc"
SetobjConnection=CreateObject("ADODB、Connection")
objConnection、ConnectionString=strConnectionString
objConnection、open
而insert语句需要用到objConnection这个对象:
strSql="insertintotestwinccvalues('NewTag1_inter','"&nowTime&"',"
&lngValue&");"
SetobjCommand=CreateObject("ADODB、Command")
withobjCommand
、ActiveConnection=objConnection
、CommandText=strSql
EndWith
objCommand、Execute
然后断开连接也要用到objConnection对象:
SetobjCommand=Nothing
objConnection、Close
SetobjConnection=Nothing
但就是全局脚本就没有参数传递,这要怎么办呢?
我就是想在用全局脚本写sql的时候不要它老就是连接——写——断开,连接——写——断开、、、、
我只想用这样的顺序:
连接——写、、、写、、、写、、、——断开问题补充:
请问一下,wincc里的内部变量有Script与TagLoggingRt,这两个有什么区别啊?
提问者:
guopei296-助理二级最佳答案
WinCC的VBS虽可以生命Public变量,但作用域仅限于本画面。
如果您的WinCC版本>=V6、0SP3,则可以使用Dataset对象,该对象可以在不同的VBS脚本中进行访问。
下面就是个简单的例子:
1、连接
DimobjConnection,strConnectionString
strConnectionString="Driver={SQLServer};Server=、\WINCC;uid=;pass=;database=guowincc"
SetobjConnection=CreateObject("ADODB、Connection")
objConnection、ConnectionString=strConnectionString
objConnection、open
HMIRuntime、DataSet、Add"objConnection",objConnection
2、全局动作中引用
DimobjConnection
objConnection=HMIRuntime、DataSet("objConnection")、Value
withobjCommand
、ActiveConnection=objConnection
xxxxxxxx
3、关闭连接:
DimobjConnection
objConnection=HMIRuntime、DataSet("objConnection")、Value
objConnection、Close
SetobjConnection=Nothing
[本日:
1本周:
9本月:
12总数:
381][返回上一页][打印]
0
好的评价 如果您觉得此文章好,就请您
0%(0)差的评价 如果您觉得此文章差,就请您
0%(0)中查找“wincc用vb脚本写自定义的sql数据库问题”更多相关内容
中查找“wincc用vb脚本写自定义的sql数据库问题”更多相关内容
·上一篇文章:
vb在一个窗体中调用另一窗体的程序
·下一篇文章:
急求vb程序设计答案
文章评论评论内容只代表网友观点,与本站立场无关!
评论摘要(共0条,得分0分,平均0分)查瞧完整评论