WinCC V6.2 数据库访问
wincc odbc 指令
wincc odbc 指令WINCC ODBC 指令OPC 数据访问(ODBC)是一种行业标准,允许应用程序与关系数据库进行通信。
WINCC 可使用 ODBC 驱动程序连接到外部数据库,从而扩展其数据管理和分析功能。
以下指南概述了使用 ODBC 指令在 WINCC 中访问数据库所需的关键步骤:1. 配置 ODBC 数据源在 Windows 控制面板中打开 ODBC 数据源管理器。
创建一个新的数据源,选择适当的 ODBC 驱动程序,并配置连接参数。
指定数据源名称,该名称将在 WINCC 中用于标识数据库连接。
2. 在 WINCC 中创建 ODBC 连接打开 WINCC 项目并导航到“变量管理”。
右键单击变量组并选择“添加新变量”。
在“变量属性”对话框中,选择“ODBC 数据源”作为变量类型。
输入创建的 ODBC 数据源名称。
3. 编写 ODBC 指令ODBC 指令是 SQL 语句,用于从数据库中检索或修改数据。
在WINCC 中,ODBC 指令可以动态生成或使用预定义的 SQL 查询。
动态 ODBC 指令在变量属性对话框中,选择“动态指令”。
使用脚本语言(如 C 脚本)编写 SQL 查询。
查询可以使用变量作为参数,从而实现动态数据检索。
预定义 SQL 查询在变量属性对话框中,选择“预定义 SQL 查询”。
输入预定义的 SQL 查询,用于检索或修改数据库中的数据。
4. 配置数据交换一旦 ODBC 连接和指令到位,需要配置 WINCC 与数据库之间的周期性数据交换。
在变量组的属性中,选择“数据交换”选项卡。
启用“周期性数据交换”复选框。
指定数据交换的周期和持续时间。
5. 监视 ODBC 数据数据交换完成后,可以在 WINCC 屏幕上监视来自 ODBC 数据源的数据。
在变量列表中,选择与 ODBC 连接关联的变量。
数据值将实时显示。
6. 故障排除如果出现 ODBC 连接或数据检索问题,请执行以下故障排除步骤:检查 ODBC 数据源配置和连接参数是否正确。
利用ODBC访问WINCC的历史数据库
WINCC作为一个工控软件,有着工控软件的一系列特征:能显示实时数据,历史数据,生成实时数据曲线与历史数据曲线,并能生成报表。
然而WINCC与其它的工控软件包有不同的地方:它的数据是保存在标准的及功能强大的Sybase SQL Anywhere数据库中,所以,我们可以像访问一般的数据库一样,通过ODBC直接访问WINCC的历史数据库。
一、通过Sybase Central 4.0访问显示数据Wincc 在安装时就把Sysbase数据引擎与Sybase Central 4.0一同安装到系统中,你可以在Program Files\Sybase\Shared\ 中找到Sybase Central 4.0 ,你可在在其目录下\java\中发现scjview.exe,该程序功能相当于SQL server 的企业管理器。
你可以通过其查看你在WinCC中的归档数据。
使用方法:1) 运行WINCC,这时WINCC会在ODBC中添加两条数据源:CC_FY_02-10-16_10:40:18CC_FY_02-10-16_10:40:18R其中CC_FY_02-10-16_10:40:18R 是可以通过Sybase Central 4.0 及别的一些工具不用用户名与密码读取的。
这就是我们WinCC的历史数据库。
注意:这两条ODBC名不是一成不变的,它是结构如下CC_FY_02-10-16_10:40:18RCC:固有的,指明是WinCC生成的ODBC。
FY:项目名,这是我这个WinCC项目名称02-10-16:最后一次修改的日期。
10:40:18:最后一次修改的时间。
R:表示是运行库。
2)、运行scjview.exe,点击Adaptive Server AnyWhere 7 按右键,选择Connect。
将会弹出Connect配置界面。
在Identification的页面,选中ODBC SOURCE NAME 点BROWSE则会列出所有对Sybase 数据引擎的ODBC名,选择CC_FY_02-10-16_10:40:18R,点击“OK“、“OK“即可。
在wincc6,2中怎么读写自定义的sql server2005数据库中的数据
在wincc6,2中怎么读写自定义的sql
server2005数据库中的数据
在sqlserver中新建了一个名为furance2的数据库,想在wincc里面对其进行读写操作,应该怎么做?
原vbs脚本为:
dimconn
dimcon
con=“provider=sqloledb.1;integratedsecurity=sspi;persistsecurit yinfo=false;initialcatalog=furance2;datasource=.wincc”
setconn=createobject(“adodb.connection”)
conn.connectionstring=con
conn.cursorlocation=3
conn.open
为啥执行到conn.open就不行了?
问题补充:
如果用户名为:aa;密码为:1234。
那么完整的connectionstring应该是?
最佳答案
因为datasorce错误。
用odbc建立到sql的连接。
如果
sql数据库有访问密码的话,需要在脚本中加上访问密码。
con=“dsn=odbc连接的名字,uid=访问数据库的用户名,pwd=访问数据库的密码”
如果是用windowsnt方式认证的,那么uid和pwd都可以省略,只保留dsn参数就可以了。
wincc访问Acess数据库
wincc访问Acess数据库我用的时wincc6.2,怎样去读写另一台电脑上的一个Acess数据库中的内容?最佳答案WINCC的VBS可以很好的操作EXCEL,操作ACCESS也没有问题。
Wincc用VBS脚本读写ACESS数据库首先要进入系统的数据库设定。
设定完后,将ACess数据库的路径存入Wincc中对应的一个变量。
然后在用到数据库内容的地方,用SubOnOpen()”“打开时检查一下系统路径IfTrim(HMIRuntime.Tags(“Db_Path”).Read)=““ThenMsgBox”请检查系统数据库路径,系统检测到不正常!现在路径是:”&HMIRuntime.Tags(“Db_Path”).ReadElse”“定义combol对象DimcomSetcom=ScreenItems(“combolbox_receipe”)com.Clearcom.AddItem”请选择配方...”,0”“首先打开数据库DimConn,ResultSetSetConn=CreateObject(“ADODB.Connection”)SetResultSet=CreateObject(“ADODB.Recordset”)Conn.open”Provider=Microsoft.Jet.OLEDB.4.0;DataSource=“& HMIRuntime.Tags(“Db_Path”).ReadResultSet.open”Select*Fromrecipe”,Conn,1,1”“依次读出数据库中配方的数量DoWhileNotResultSet.EOFcom.AddItemResultSet(“name”).value,ResultSet(“Id”).valuE ResultSet.MoveNextLoopcom.ListIndex=0SetResultSet=Null”“结果集置空SetConn=Null”“连接置空ResultSet.Close”“结果集关闭Conn.close”“连接关闭EndIfEndSub当系统切换到此页面时,将从数据库中读出表recipe中的值,到Combolbox中,并且将ListIndex=0的那一项列为默认项。
WinCC数据库SQL访问
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. 启动SSMS2. 选择身份认证方式:WinCC 系统在SQL Server中注册了自己的账户,如WinCCAdmin、WinCCConnect等,所以,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数据库方法及程序同原来的教材,原来的教材的程序同样适用。
关于WinCC 6.2 AISA WEB访问解决方案
关于WinCC 6.2 AISA WEB访问解决方案WinCC 6.2发布的WEB系统,在其他客户机上访问有时存在问题,现在相关现象和处理措施整理如下:1.故障现象故障主要体现在两个方面,一是WEB客户端不能正常安装,一是安装之后不能正常访问集控系统。
故障一:出现上述情况,参考故障排除中的第一、二、四步。
故障二:能打开WinCC 集控的部分页面,但主体显示部分显示一个小红叉。
出现这种情况,参考故障排除中的第一、二、三步。
2.原因分析造成上述现象的原因,主要是IE设置不正常,或系统安装太多软件造成软件兼容问题。
3.排除步骤在确保有系统管理员权限之后,排除故障可依照下述方法进行:第一步:检查IE信任站点设置和信任站点权限设置重新打开,如果不能解决问题,参考第二步第二步:卸载WinCC Web Client手工检查以下目录是否存在,如果存在则手工删除。
如果不能手工删除,请先重启电脑再删除C:\Program Files\Siemens\WinCC\WebnavigatorC:\Program Files\Common Files\Siemens\ACEC:\Program Files\Common Files\Siemens\BIN第三步:重新安装WinCC Web Client 6.2,并连接集控。
如果故障仍不能排除,则先重复第二步,再跳转到第四步第四步:安装WinCC Web Client 7.0 AISA,重新打开补充:如果是Vista系统,IE7如果出现Connect to Server ,然后浏览器就没有响应的情况,要先打开msconfig,将“禁用UAC”启用,然后重启电脑,重装WebNavigator7.0。
附录:IE设置要求在 Internet Explorer 中,单击“工具”>“Internet 选项”。
选择“安全”标签。
然后选择相应的区域,例如“本地Intranet”或“Internet”。
WINCC与数据库连接
WinCC与数据库连接2009-06-02 16:03近来做了一个WinCC与数据库连接的程序,功能如下:1、要求用户输入“实验目的”和“实验日期”,点击“建立表格”,则在数据库中创建了以“实验目的+时间”为名字的表2、点击“连接数据库”连接上数据库,并开始写入数据3、点击“断开数据库”则停止记录数据做法:通过一个数字量来判断数否记录数据,若该数字量是1则开始记录数据,否则停止。
记录数据的时间间隔是1秒在”建立表格“键入代码:Dim objConnectionDim strConnectionStringDim strSQLDim objCommandDim objscreenDim obj_itemDim obj_item1Dim biaomingDim shjianSet shjian = HMIRuntime.Tags("shjian")Set biaoming = HMIRuntime.Tags("biaoming")Set objscreen=HMIRuntime.Screens("database")Set obj_item=objscreen.ScreenItems("IOField1")Set obj_item1=objscreen.ScreenItems("IOField") 注:不同界面的不同对象的引用方法If shjian.Read= "" Or biaoming.Read= "" ThenMsgBox "Please enter the table name and date!"ElsestrConnectionString = "Provider=MSDASQL;DSN=t;UID=;PWD=;"strSQL="create table " & Trim( obj_item.OutputValue ) &Trim( obj_item1.OutputValue ) & "(name varchar(64),age varchar(20))" 注:这是两个输入控件的连接方法(建立的表格)Set objConnection = CreateObject("ADODB.Connection") objConnection.ConnectionString = strConnectionString objConnection.OpenSet objCommand = CreateObject("mand")With objCommand.ActiveConnection = objConnection.CommandText = strSQLEnd WithobjCommand.ExecuteEnd If在”连接数据库“键入代码Dim turn_onSet turn_on = HMIRuntime.Tags("turn_on")Dim kk=MsgBox("Start Database?",33,"alarm")If k=1 Thenturn_on.Readturn_on.Write 1End If在”断开数据库“键入代码:Dim turn_onSet turn_on = HMIRuntime.Tags("turn_on")Dim kk=MsgBox("Start Database?",33,"alarm")If k=1 Thenturn_on.Readturn_on.Write 0End If在ACTION中设置1秒的触发器并键入代码:Dim objConnectionDim strConnectionStringDim nameDim ageDim strSQLDim objCommandDim turn_onDim objscreenDim obj_itemDim obj_item1Set objscreen=HMIRuntime.Screens("database")Set obj_item=objscreen.ScreenItems("IOField1")Set obj_item1=objscreen.ScreenItems("IOField")Set turn_on = HMIRuntime.Tags("turn_on")name = HMIRuntime.Tags("tank_temp").Readage=HMIRuntime.Tags("tank_temp").Readturn_on.ReadIf turn_on.Value =1 ThenstrConnectionString = "Provider=MSDASQL;DSN=t;UID=;PWD=;" strSQL = "insert into " & Trim( obj_item.OutputValue ) & Trim( obj_item1.OutputValue ) & "values(" & name & "," & age & ");"Set objConnection = CreateObject("ADODB.Connection")objConnection.ConnectionString = strConnectionStringobjConnection.OpenSet objCommand = CreateObject("mand")With objCommand.ActiveConnection = objConnection.CommandText = strSQLEnd WithobjCommand.ExecuteSet objCommand = NothingobjConnection.CloseSet objConnection = NothingEnd If。
WinCC数据库SQL访问
查询超时:优化查询语句,减少查询时间,或增加查询超时时间
数据库异常:检查数据库日志,找出异常原因,并修复
权限问题:检查数据库用户权限,确保具有足够的权限访问数据库
打开SQL Server Management Studio
创建新的数据库,命名为"WinCC"
在"WinCC"数据库中创建新的表,命名为"DataTable"
编写SQL语句:根据需求编写SQL语句
处理结果:处理SQL执行结果,如查询结果、更新结果等
断开连接:执行完SQL语句后,断开与数据库的连接
查询结果:返回查询结果集
结果集处理:遍历结果集,获取所需数据
数据处理:对查询结果进行筛选、排序、分组等操作
结果输出:将处理后的数据输出到界面或文件中
连接失败:检查数据库连接设置,确保用户名、密码、服务器地址等正确
UPDATE语句:用于更新数据库中的数据
DELETE语句:用于从数据库中删除数据
WHERE子句:用于指定查询条件
ORDER BY子句:用于指定查询结果的排序方式
SELECT:用于从数据库中检索数据INSERT:用于向数据库中插入新数据UPDATE:用于更新数据库中的数据DELETE:用于从数据库中删除数据CREATE:用于创建新的数据库对象,如表、视图等ALTER:用于修改数据库对象的结构DROP:用于删除数据库对象,如表、视图等 ***MIT:用于提交事务,确保对数据库的更改被保存***MIT:用于提交事务,确保对数据库的更改被保存ROLLBACK:用于回滚事务,取消对数据库的更改TRUNCATE:用于删除表中的所有数据,并重置表的自增计数器
汇报人:
,
01
WinCC 使用VB或VBS访问WINCC6.0历史数据库
WinCC 使用VB或VBS访问WINCC6.0历史数据库(2011-04-18 13:56:52)从WINCC6.0开始,就开始采用SQL3000SP3做为WINCC的后台数据库了。
而这个SQL2000SP3是由SIEMENS为WINCC做了二次开发的,采用了一些独有的技术,一些是我们知道的,一些是我们所不知道的。
所以当我们打开SQL管理器和用高级语言访问时,和常规的SQL访问的方法是有一些出入的。
即使我们能够很轻易的访问ACCESS。
普通的SQL2000的数据库,不见的你就能顺利的访问到WINCC 的历史数据。
官方的资料显示:1、WINCC的数据有设计时数据库和运行时数据库,分别放在相关的目录,对于数据使用者而言,我们知道就可以了。
设计时数据库我们了解没有什么意义。
但运行时数据库至少我们要知道它的名字,它的名字一般是“CC_工程名_年_月_日_时_分_秒R”,这个对于我们使用者而言,是很重要的的,无论你准备以DSN 或OLEDB的方式访问数据库,你都需要它。
如果你实在不知道它的名,你可以将WINCC激活,然后在“ODBC管理器”或“SQL企业管理器”下的“DATABASE”可以看到它,它就在那里.....2、运行时库的表的问题其实,这个是很多的用户很关心的问题。
常规的使用过高级语言访问SQL的技术人员都知道,很多的SQL语句,如SELECT 、INSERT INTO等等,都需要指明在某一库的表中对它进行操作。
因此,这个表的问题可能就是你访问SQL的拦路虎。
先告诉大家:WINCC6.0的SQL库操作是不需要表名的,因为他有自己定义的SQL语句。
其实,WINCC在运行时,根据WINCC的设置,数据归档是以一定时间做为基准,形成数据片段。
大体上有三个用户需要了解的表:1:ARCHIVE(用户归档记录)2:TAGPRESSED(TAGUNPRESSED)(压缩/非压缩变量归档记录)3:MSARCLONG(报警记录)事实上,我们在操作数据时,还是并不能直接使用常规的SQL来操作这些表,甚至不允许修改它,MSARCLONG情况好一些,允许插入/修改等。
wincc V6.2
工厂企业可基于 WinCC 进行系统扩展,通过开放式接口,开 本手册基于 SIMATIC WinCC V6.2 编制。 发其自已的应用系统。
WinCC 是一个现代化的系统,设计有独特而颇富吸引力的用 户界面,可用于办公环境和制造业,可提供成熟而可靠的运 行环境以及有效的组态。无论是简单或复杂的任务,WinCC 都可以对其进行扩展。结合集成过程数据库,使用 WinCC, 还可实现跨公司信息交换和垂直集成,通过采用工厂智能, 可实现更大的生产透明性。
验证和跟踪
借助于 WinCC / Audit 选件 ( 通过审计跟踪,记录操作人员 的操作,监控组态变更,跟踪生产过程 )、WinCC / Change Control( 项目版本管理,跟踪项目变更 ) 以及 SIMATIC Logon( 集中跨工厂用户管理 ) 和相应的工程措施,使用 SIMATIC WinCC,可容易地符合制药行业的 21 CFR Part 11 要 求,以及食品和饮料行业中的 EU 178 / 2002 要求。
WinCC/DataMonitor – 用于显示、分析、评估和 分配当前过程状态和来自过程数据库的 历史数据 ( 测量值、消息、用户数据 )。 Data Monitor 提供有多个显示或 分析工具。根据需要,也可在任何 办公 PC 上使用 IE 访问来自 WinCC 数据。
WinCC/DowntimeMonitor – 用于采 集和分析机器或生产线的停机时 间,并根据该数据导出设备参 数,作为关键性能指标 (KPI)。 通过故障原因分析,可以提供机 器或工厂停机时间的频率和持续时间等相关信息。
2 SIMATIC WinCC
目 录
产品系列 …………………………………………………… 4
SIMATIC WinCC 基本系统 新亮点 ……………………………………………………… 6 一种面向全球的解决方案 ……………………………… 8 内置所有 SCADA 功能 …………………………………… 10 组态简便、高效 ………………………………………… 14 一致可扩展性 ( 包括 Web) ……………………………… 16 采用开放式标准,简便实现全面集成 ……………… 18 使用集成 Process Historian 软件, 进行信息交换 ……………………………………………… 20 通过工厂智能,实现生产更加透明 ………………… 21 全集成自动化的组成部分 ……………………………… 22 过程通讯 …………………………………………………… 23 技术数据 …………………………………………………… 24
访问wincc数据库(一)2024
访问wincc数据库(一)引言概述:访问wincc数据库是指通过操作WinCC系统所使用的数据库,进行数据的查询、修改、删除、插入等操作。
这对于WinCC系统的运维人员和开发人员来说是非常重要的,因为数据库是存储和管理WinCC系统数据的核心。
本文将详细介绍访问wincc数据库的过程,包括配置数据库连接、查询数据、修改数据、删除数据、插入数据等操作。
通过本文的指导,读者将能够掌握访问wincc数据库的基本技巧,提高WinCC系统的管理和开发效率。
正文:一、配置数据库连接1. 确定所使用的数据库类型,例如MySQL、Oracle等。
2. 在WinCC系统中配置数据库连接参数,包括数据库地址、端口、用户名、密码等信息。
3. 进行数据库连接测试,确保连接参数正确无误。
二、查询数据1. 构建查询语句,包括要查询的数据表名、字段、查询条件等。
2. 执行查询语句,并获取查询结果。
3. 根据查询结果进行数据展示、分析和处理。
三、修改数据1. 构建修改语句,包括要修改的数据表名、字段、修改条件等。
2. 执行修改语句,对数据库中的数据进行修改。
3. 验证修改结果,确保数据修改成功。
四、删除数据1. 构建删除语句,包括要删除的数据表名、删除条件等。
2. 执行删除语句,从数据库中删除指定的数据。
3. 验证删除结果,确保数据删除成功。
五、插入数据1. 构建插入语句,包括要插入的数据表名、字段、插入的数值等。
2. 执行插入语句,将数据插入到数据库中。
3. 验证插入结果,确保数据插入成功。
总结:通过本文的概述和正文内容,我们了解了访问wincc数据库的基本操作流程。
配置数据库连接、查询数据、修改数据、删除数据、插入数据等操作是访问wincc数据库的核心内容。
掌握这些基本操作,将有助于提高WinCC系统的管理和开发效率。
在实际使用过程中,还需注意数据安全性和操作的准确性,以确保数据库的稳定性和可靠性。
WinCC数据库SQL访问
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. 启动SSMS2. 选择身份认证方式:WinCC 系统在SQL Server中注册了自己的账户,如 WinCCAdmin、WinCCConnect等,所以,WinCC使用到了SQL Server的认证方式。
外部程序访问数据库时,可以采用Windows 集成的认证方式。
图2. 选择身份认证方式图3. WinCC在SQL Server中注册的用户3. 查看ValueID和ValueName的对应关系4. 查看组态的消息5. 查看归档片段的消息6.数据传输服务图7. 选择数据导出服务图8. 选择数据源(与原来的DTS类似)图9. 设置数据源图10. 选择目标地图11. 选择查询并传输图12. 输入查询语句图13. 源和目标列的对应关系图14. 选择立刻执行传输图15. 传输执行前的提示图16. 传输执行结果报告图17. 查看传输结果7. 在Excel中编程利用WinCC OLE-DB访问WinCC数据库方法及程序同原来的教材,原来的教材的程序同样适用。
访问WinCC归档数据库的方法
访问WinCC归档数据库的方法WinCC归档数据库介绍WinCC的历史工艺数据和报警消息保存在SQL Server数据库,数据以分段和压缩形式储存,不方便直接通过SQL去读取,用WinCC OLE DB Provider访问这些数据时会自动合并分段并解压缩数据。
安装ConnectivityPackWinCC OLE DB provider由WinCC的ConnectivityPack选件提供,在安装WinCC时需要安装ConnectivityPack。
在提供数据的WinCC的计算机需安装ConnectivityPack server,读取数据的计算机上安装ConnectivityPack client,可以在计算机上同时安装ConnectivityPack server和ConnectivityPack client。
在SQL Server中通过链接服务器访问归档数据库创建链接服务器安装了WinCC的计算机中,启动WinCC项目时会自动创建链接服务器。
在未安装WinCC的计算机需要手动创建链接服务器。
打开SQL Server Management Studio,在对象资源管理器中,展开“服务器对象”,右键单击“链接服务器”,然后单击“新建链接服务器”。
如下图填入链接服务器信息,数据源(Data Source)中填入WinCC 服务器的数据库完整实例名,目录(Catalog)中填入归档数据库名。
使用OPENQUERY查询连接服务器查询链接数据库使用OPENQUERY,传递给OPENQUERY查询语句不同于SQL,是WinCC的特定查询语句,可通过变量ID或变量名查询。
如下:select *from openquery(LnkRtDb_WinCCOLEDB,'Tag:R,1,''0000-00-00 01:00:00.000'',''0000-00-00 00:00:00.000''')使用变量ID查询:使用变量名查询:在SQL Server中通过OPENDATASOURCE访问归档数据库通过OPENDATASOURCE()函数可直接查询OLE DB数据源,语法如下:SELECT *FROM OPENDATASOURCE('WinCCOleDbProvider.1','Provider=WinCC OLEDB Provider for Archives;Catalog=CC_WinCCSer_19_02_14_10_59_03R;Data Source=WIN-54UD17PRU0N\WINCC').N'Tag:R,1,''0000-00-00 00:10:00.000'',''0000-00-00 00:00:00.000'''通过存储过程访问归档数据库存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
访问wincc数据库(二)2024
访问wincc数据库(二)引言:本文将继续介绍如何访问WinCC数据库。
在上一篇文章中,我们已经讨论了WinCC数据库的基本概念和连接方法。
本文将深入讨论如何在WinCC中执行查询、插入、更新和删除操作,并介绍一些常用的数据库操作技巧。
第一大点:执行查询操作1. 配置数据库连接:首先,在WinCC中配置正确的数据库连接参数,包括数据库类型、主机名、端口号和认证信息。
2. 编写查询语句:使用SQL语句编写查询语句,包括选择查询的表和字段,并可以添加一些查询条件。
3. 执行查询操作:在WinCC中使用合适的函数或组件执行查询操作,并获取查询结果集。
4. 处理查询结果:遍历查询结果集,读取所需的数据,并进行相应的处理和展示。
第二大点:执行插入操作1. 编写插入语句:使用SQL语句编写插入语句,指定要插入的表和字段,并提供相应的数据。
2. 执行插入操作:在WinCC中使用适当的函数或组件执行插入操作,并将数据插入到数据库中。
3. 处理插入结果:根据插入操作的结果进行相应的处理和反馈。
第三大点:执行更新操作1. 编写更新语句:使用SQL语句编写更新语句,指定要更新的表和字段,并提供相应的数据。
2. 执行更新操作:在WinCC中使用适当的函数或组件执行更新操作,并将数据更新到数据库中。
3. 处理更新结果:根据更新操作的结果进行相应的处理和反馈。
第四大点:执行删除操作1. 编写删除语句:使用SQL语句编写删除语句,指定要删除的表和条件。
2. 执行删除操作:在WinCC中使用适当的函数或组件执行删除操作,并将符合条件的数据从数据库中删除。
3. 处理删除结果:根据删除操作的结果进行相应的处理和反馈。
第五大点:常用的数据库操作技巧1. 数据过滤和排序:使用SQL语句中的WHERE和ORDER BY子句对数据进行过滤和排序,提取所需的数据。
2. 数据聚合和分组:使用SQL语句中的GROUP BY和聚合函数对数据进行统计和分组。
WINCC+VBS+ADO访问归档数据(V6.2测试通过)
WINCC+VBS+ADO访问归档数据(V6.2测试通过)Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)Dim oListDim objDim constrDim oRsDim objComDim comstrDim mDim nDim oItemDim sDim kSet oList=ScreenItems("控件5")oList.View=3oList.ListItems.ClearSet obj=CreateObject("ADODB.Connection")obj.CursorLocation=3obj.Open "Provider=WinCCOLEDBProvider.1; Catalog=CC_TEST_WIN_10_08_02_17_29_24R;DataSource=.\WINCC"Set oRs=CreateObject("ADODB.Recordset")Set objCom=CreateObject("mand")comstr="TAG:R,'ProcessValueArchive\NewTag','2008-08-14 1:36:20','2008-08-14 1:44:20'"Set objCom.ActiveConnection=objmandText=comstrSet oRs= objCom.Executem=oRs.Fields.CountWith oList.ColumnHeaders.Clear.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 780.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 900.ColumnHeaders.Add , , CStr(oRs.Fields(3).Name), 1050.ColumnHeaders.Add , , CStr(oRs.Fields(4).Name), 1200End WithIf (m > 0) ThenoRs.MoveFirstDo While Not oRs.EOF's = Left(CStr(oRs.Fields(1).value), 23)s = CDate(oRs.Fields(1).value)k = DateAdd("h", 8, s)Set oItem = oList.ListItems.Add 'ListItem 代表一行oItem.Text = k '第I行的行第一列oItem.SubItems(1) = FormatNumber(oRs.Fields(2).value, 1) '第I行的行第二列oItem.SubItems(2) = Hex(oRs.Fields(3).value) '第I行的行第三列oItem.SubItems(3) = FormatNumber(oRs.Fields(4).value, 1) '第I行的行第四列oRs.MoveNextLoopoRs.CloseElseEnd IfSet oRs = NothingSet obj=NothingSet objCom=Nothing obj.CloseSet obj=Nothing。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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. 启动SSMS2. 选择身份认证方式:WinCC 系统在SQL Server中注册了自己的账户,如WinCCAdmin、WinCCConnect等,所以,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 7(V6.0之前)-> Microsoft SQL Server 2000(V6.0)-> Microsoft SQL Server 2005(V6.2,V7.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. 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本身提供了很多Provider6. 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数据库的一个重要组件,如果系统出现故障,它将成为最新数据的唯一来源。
所以,事务日志文件及其重要。
- 扩展名.mdf是SQL数据库的主数据记录文件(SQL Server Database Primary Data File),用于存储SQL数据库的启动信息和部分或全部数据。