利用ODBC访问WINCC的历史数据库
wincc的ODBC连接
对WinCC的远程ODBC连接显示订货号问题:WinCC V5.1版本的标准设置中,不可以设置ODBC连接。
它被用来通过MS Access, MS Query 等访问WinCC数据库。
需要注意哪些设置?解答:WinCC 站方面的准备(如果要访问运行系统的数据库,必须启动WinCC 运行系统)。
打开“Sybase Central”,确定WinCC的数据库名。
图1:启动“Sybase Central”选择菜单选项“工具> 连接”。
在打开的掩码中按以下输入用户ID:dba口令:sql图2:登录到数据库在Sybase窗口中,可看到WinCC站名在窗口左边。
点击+ 图标放大画面。
现在可看到2个数据库。
记住想要进行远程访问的数据库名。
以RT 结尾的数据库为运行系统数据库,其它的为CS数据库。
图3a: 确定数据库名鼠标右键点击所要数据库的属性,也可以选择数据库名并将它复制到剪贴板。
如果这样做并将名字储存在文本文件中,可以避免符号使用中的错误。
(图3b)。
图3b:复制数据库名到剪贴板远程站上的必要设置(另一台计算机)。
从控制面板中启动“数据源(ODBC)” (Windows NT)或通过“启动> 程序> ODBC数据管理器”(Windows 2000)启动。
图4:ODBC窗口中的设置切换到“系统DSN”标签并选择“添加”(在此需注意“用户DSN”与“系统DSN”间的不同。
有关于它们的解释在同窗口中的蓝色文本框中)图5:选择驱动程序“Adaptive Server Anywhere 7.0”在“ODBC”标签中,输入一个独有的名,例如在数据库中的名(但它也可以是所选择的其他名字)。
必须在“延迟AutoCommit直到语句关闭”下打勾,以便在关闭一个链接着的表格时传送所做的改变。
图6:ODBC标签中的设置请注册如下:(图7):用户ID:dba口令:sql图7:“注册”标签中的条目:“数据库”标签中的输入域(图8)含义如下:“服务器名”是数据库所在的WinCC站的站名“数据库名”是上面所提到的名字(SCVIEW)。
通过ODBC连接数据库
通过ODBC 连接数据库(C++)C++连接数据库的方法有很多种,在Visual C++和SQL server 的实际开发中,一般使用ODBC 或ADO 技术进行开发,相关技术和产品也最为成熟。
我们这里根据课程需要采用ODBC 的方法。
我使用的平台的是VS2010和SQL server 2008,优点是VS2010支持一些比较新的特性,编程方便了很多,缺点是左侧的“服务器资源管理器”不支持SQL server 2000,但是没有关系,在SQL server 2008上是可以连上的,大家如果和我的平台不一样的话在编程细节上可能有些问题要注意下。
有同学表示安装了SQL server 2008之后只能通过“windows 身份验证”登陆本地数据库,无法通过“SQL server 身份验证”登陆,这是由于安装的时候是通过“windows 身份验证”安装的,改一下配置即可:1. 使用“windows 身份验证”登陆数据库,点击“登录名”,右击sa ,选择属性,点击状态,确保设置如左侧图所示。
2. 右击本地服务器名选择属性,更改安全性中的服务器身份验证如下图所示3. 右击地服务器名选择重新启动(这一部很重要)4.如何还有问题的话查看目录“D:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\Log”下的ERRORLOG文件,找到错误代码,google之打开SQL server 2008 连接一个我们测试用的数据库,使用的10.214.6.98上的数据库db27,用户名和密码都是user277,执行以下命令:use db27CREATE Table book(bno char(8),category char(10),title varchar(40)not null,press varchar(30)not null,byear int CHECK(byear> 0),author varchar(20)not null,price decimal(7,2)CHECK(price> 0),total int CHECK(total>= 0),stock int CHECK(stock>= 0),CONSTRAINT ck CHECK(stock<=total))INSERT INTO book VALUES('12345678','数据库','数据库系统原理教程','清华大学出版社',1998,'王珊',27.9,3,0)INSERT INTO book VALUES('12342378','数据库','数据库','清华大学出版社',1998,'王珊',27.9,3,0) INSERT INTO book VALUES('12341278','数据库','数据库','清华大学出版社',1998,'王珊',27.9,3,0) INSERT INTO book VALUES('14345678','数据库','数据库','清华大学出版社',1998,'王珊',27.9,3,0)上面SQL语句执行的结果是在db27数据库中创建了一个名为book的表,里面有9列,随后添加了4个测试数据,现在将该数据源添加到ODBC数据源管理器中,打开路径“控制面板\所有控制面板项\管理工具”下的数据源(ODBC),添加新的数据源,选择“SQL Server”名称设置为db27,服务器在10.214.6.98,使用user277用户登录,完成后点击测试数据源看能不能连上,显示测试成功后,在用户数据源中会看到刚刚添加的DSN:我们编写一个简单的图形化界面,打开VS2010,新建项目,选择“MFC应用程序”,建立一个名为“DataBaseODBC”的项目,弹出的向导中更改应用程序类型为“基于对话框”,大家在实际编程中可以需要选择,这里只是为了做个示例,其他保持默认。
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 数据源配置和连接参数是否正确。
数据库原理-实验7-通过ODBC访问数据库
一、实验目的:1.理解ODBC的相关概念:ODBC、句柄等;2.理解ODBC的工作原理;3.掌握ODBC的工作流程;4.掌握通过ODBC访问数据库的方法二、实验环境:SQL Server 2008、VC++ 6.0三、实验学时:2学时四、实验内容和步骤:(一)配置数据源配置数据源共有两种方法:方法一:运用数据源管理工具来进行配置。
方法二:使用Driver Manager 提供的ConfigDsn函数来增加、修改或删除数据源。
这种方法特别适用于在应用程序中创建的临时使用的数据源。
在本实验中,我们采用第一种方法创建数据源。
我们将其取名为SQLServer。
下面是建立这数据源的具体步骤。
选择『开始』│『设置』│『控制面板』菜单,在弹出窗口中双击“管理工具”图标进入管理工具界面,双击“数据源(ODBC)”图标。
建立SQLServer数据源。
(1)选择“系统DSN”选项,单击【添加(D)…】按钮,系统弹出“创建新数据源”对话框,如下图所示:图1 数据源管理器(2)如图2所示,在ODBC驱动器程序列表中,选择“SQL Server”,单击【完成】按钮,系统弹出“Create New Data Source to SQL Server”对话框,如图2所示:图2 创建数据源配置(3)如图3,输入数据源名称和服务器,单击【下一步】按钮。
图中数据源的名称为SQLServer,服务器为(local)。
如图4,选择身份认证方式,输入用户名和密码,用户名和口令分别为sa和sa(请根据实际情况进行修改,并对源代码进行相应的修图3 SQLServer数据源配置(1)图4 SQLServer数据源配置(2)(4)连续单击【下一步】按钮,这样就创建了一个名为“SQLServer”的SQL Server ODBC数据源。
如图5所示,将弹出一个提示框,提示即将创建一个新的ODBC数据源。
图5 提示框(5)如果要测试和数据源的连接是否成功,可以单击“Test Data Source”,如果连接成功,系统将会显示一个连接成功的消息框,如图6所示。
实验六通过odbc方式访问数据库
实验六通过ODBC方式访问数据库一、实验条件与环境1.通用PC机2.PC机必须安装Windows 2000系列、Windows XP系列或Windows NT操作系统平台3.PC机还须安装Microsoft SQL Server 2000 任意一版本(个人版、标准版、企业版)4.PC机还须安装VB、VC、C++ Builder、Dehpi等面向对象的可视化程序设计软件5.最好有一台公用的SQL Server 2000 服务器二、实验目的1.通过上机实验了解可视化程序设计语言对数据库进行访问的常用方法2.通过上机实验掌握软件开发工具面向用户提供的ODBC对象接口的概念及其作用3.通过上机实验熟悉SQL语句在面向对象编程语言中的使用4.通过上机实验熟悉通过ODBC接口访问数据库并对数据库进行操作5.通过上机实验熟悉使用ODBC来进行数据库应用程序的设计6.通过上机实验熟悉数据源的概念及数据源的创建方法1.通过上机实验熟悉ADO DATA控件的主要属性、事件、方法及其使用三、实验要求:1.要求学生至少熟悉一门面向对象的可视化程序设计语言(如:VB、VC、C++ Builder、Dehpi等)2.实验前,要求学生充分作好ADO DA TA控件、ODBC数据接口及数据源等相关内容的预习工作3.本实验涉及的实验内容最好能在2课时内完成4.实验完成后需要书写实验报告,本次实验报告需在下次实验课堂上上交四、通过ODBC方式访问数据库并进行各种数据操作的一个实例建立一个名为MyDB的数据库,然后在此数据库中建立一个名为S的数据表,有关数据表S的属性描述为:Sno,学号,数据类型为char(10);Sname,姓名,数据类型为char(8);Ssex,性别,数据类型为char(2);BirthDay,生日,数据类型为datetime(8)。
创建一个名为Students的数据源,然后利用可视化程序设计语言设计一个用户操作界面,通过ODBC数据接口和ADO DATA实现对数据库MyDB中数据表S的查询、插入、删除、修改等数据操作。
wincc通过vbs访问数据库
本人通过WINCC的VBS读取SQL2000里的数据或者写入数据,通过在按钮控件做一个动作,当点击时写入数据库一个数据,代码如下: Dim rs,commDim cn,strcnDim is_sql,strSQLSet cn = CreateObject("ADODB.Connection")Set rs = CreateObject("ADODB.Recordset")strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist S ecurity Info=False;Initial Catalog=glj;Data Source=GLJ077\wincc" cn.ConnectionString = strcncn.OpenstrSQL = "INSERT INTO W1 (xm) V ALUES ('glj077') "rs.CursorLocation = adUseServerrs.Open strSQL, cn, 1, 3cn.CloseSet cn = Nothing发现如下问题:此代码在VB6.0中调试通过,可以写入数据glj077,但在WICC里不可以,虽然编译通过,但当按下按钮时,并没有写入数据.请各位高手帮忙看一下,是代码的问题还是需要在WINCC里还要装一些设置,望告之.谢谢!!!以上问题已解决,发现是代码问题,还有楼上那位兄弟说的对,常量不识别,必须用数字代替。
通过这几天的试验,学到了不少东西,现把学到的东西和大家分享一下,希望可以抛砖引玉。
在WINCC里,用VBS读取和写入到SQL2000数据方法有以下几种(仅写出本人实验通过的方法,至于其它方法,本人没有试验过,不在讨论范围)第一种方法代码如下(写入数据)Dim cn,strSQL,strcnSet cn = CreateObject("ADODB.Connection")strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist S ecurity Info=False;Initial Catalog=glj;Data Source=GLJ077\wincc" cn.ConnectionString = strcncn.Open strcnstrSQL = "INSERT INTO W1 (xm) V ALUES ('glj077') "cn.Execute strSQLcn.closeset cn=Nothing以上方法立用了字符串连接函数的Execute方法,实现对数据库的写入操作(改变strSQL字符的值应该可以实现其它操作,不过本人没有实验过)第二种方法代码如下:(可写可读)Dim cn,strSQL,strcnDim rs,rs1Dim RvalueSet cn = CreateObject("ADODB.Connection")Set rs=CreateObject("ADODB.RecordSet")Set rs1=CreateObject("ADODB.RecordSet")strcn = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist S ecurity Info=False;Initial Catalog=glj;Data Source=GLJ077\wincc" cn.ConnectionString = strcncn.Open strcnstrSQL = "Select * from W1"rs.CursorLocation = 1(此处必须写数字代替字符串常量)写入数据Set rs1=rs.Open strSQL, cn, 1, 3 (同样,也必须用数字,发现没有,这个和我最初的代码有什么不一样,这也是我最初的程序不能正确执行的关键)rs1.AddNew 新建一条记录rs1.Fields("xm")="glj077" 往数据库表W1字段为xm中写入一条记录,值为glj077rs1.Update读取数据Set rs1=rs.Open strSQL, cn, 1, 3rs1.MovefistRvalue =rs1.Fields("xm") 读取第一条记录的值,修改SQL查询语句可以查找特定记录rs1.closers.closecn.closeset rs=Nothingset rs1=Nothingset cn=Nothing这种方法是利用记录集的方法来操作数据库的。
3使用ODBCAPI访问数据库
3使⽤ODBCAPI访问数据库主要内容:ODBC API的体系结构使⽤ODBC API开发数据库应⽤程序的⼀般步骤使⽤函数SQLAllocHandle分配句柄使⽤函数SQLConnect、SQLDriverConnect、SQLBrowseConnect 连接数据源使⽤函数SQLPrepare和SQLExecute执⾏SQL语句使⽤函数SQLBindCol()绑定数据库字段使⽤函数SQLGetDiagRec和SQLGetDiagField处理错误使⽤函数SQLFetch移动数据库记录指针使⽤ODBC API 进⾏事务处理使⽤函数SQLDisconnect断开数据源的连接⽬录ODBC API 基础 (3)ODBC API句柄 (3)ODBC数据类型 (5)ODBC诊断 (6)使⽤ODBC API变成建⽴应⽤程序 (8)ODBC API编程模型概述 (8)连接数据库 (11)准备并执⾏SQL语句 (16)获取记录集 (18)记录的添加、删除和更新 (20)错误处理 (23)事务处理 (23)断开数据源连接并释放环境句柄 (25)ODBC API 基础ODBC API句柄ODBC API 实现数据库操作的⼿段是句柄。
在ODBC中,使⽤不同的句柄(HANDLE)来标志环境(environment)、连接(Connection)、语句(statement)、描述符(description)等。
句柄是⼀个应⽤程序变量,系统⽤它来存储关于应⽤程序的上下⽂信息和应⽤程序所⽤到的⼀些对象。
1、环境句柄环境是存取数据的全局性背景,与环境相关的是全局的所有信息。
例如:环境状态、当前环境状态诊断、当前在环境上分配的连接句柄、每个环境属性的当前设置。
在实现ODBC的⼀段代码(Driver Manager或者驱动程序)中,环境句柄标识包含这个信息的结构。
环境句柄在ODBC应⽤程序中不经常⽤。
他们经常⽤来调⽤SQLDataSources和SQLDrivers,⼜是⽤来调⽤函数SQLAllocHandle、SQLEndTran、SQLFreeHandle、SQLGetDiagField和SQLGetDiagReg。
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数据库SQL访问
W i n C C 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 使用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情况好一些,允许插入/修改等。
如何用标准的odbc sql接口访问wincc归档数据库文档
/CN/view/zh/26998539WINCC作为一个工控软件,有着工控软件的一系列特征:能显示实时数据,历史数据,生成实时数据曲线与历史数据曲线,并能生成报表。
然而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“即可。
如何能在Excel中访问WinCC变量归档大数据
1 功能说明在Microsoft office Excel中访问WinCC的历史数据,实现如下图所示的报表:图1: Excel中访问WinCC的历史数据生成报表选择日期后,可以生成当天的风机参数日报表(报表数据来自WinCC)。
2 软件环境本地计算机:Windows XP SP3英文版、WinCC7.0 SP2 ASIA、Microsoft office Excel 2003 远程计算机:Windows XP SP3英文版、WinCC7.0 SP2 ASIA、Microsoft office Excel 20033 WinCC/Connectivity Pack 介绍WinCC变量归档数据是以压缩的形式存储在数据库中,需要通过WinCC/Connectivity Pack 提供的OLE-DB接口才能够解压并读取这些数据。
3.1 连接字符串“Provider=WinCCOLEDBProvider.1; Catalog= ***; Data Source= ***;“其中:Catalog:WinCC运行数据库的名称注意:当修改项目名称或在其它计算机上打开原项目时, Catalog会发生变化。
建议使用WinCC系统变量“@DatasourceNameRT”获得当前的Catalog。
Data Source :服务器名称本地:“.\WinCC”或者“<计算机名称>\WinCC”远程:“<计算机名称>\WinCC”3.2 查询语句“TAG:R,<ValueID orValueName>,<TimeBegin>,<TimeEnd>[,<SQL_clause>][,<TimeStep>]”其中:ValueName:格式为“ArchiveName\Value_Name”,可以使用多个名称。
TimeBegin,TimeEnd:时间范围,格式“YYYY-MM-DD hh:mm:ss.msc”。
详解WinCC(TIAPortal)和WinCCflexible如何访问SQLSERV...
详解WinCC(TIAPortal)和WinCCflexible如何访问SQLSERV...SQL数据库在过程层和更高层次的企业网络控制层之间的数据是可以进行交换的。
本FAQ的解答了如何配置和使用WinCC(TIA Portal)和WinCC flexible Runtime 作为客户端通过脚本与SQL服务器通信。
WinCC (TIA Portal)/WinCC flexible 一般通过脚本访问 SQL 数据库,除了归档变量和报警信息。
为了访问SQL 数据库,SQL server中必须创建数据库实例。
WinCC (TIA Portal)/WinCC flexible PC Runtime 作为 SQL 客户端运行。
WinCC (TIA Portal)/WinCC flexible 一般通过脚本访问 SQL 数据库,除了归档变量和报警信息。
为了访问 SQL 数据库,SQL server中必须创建数据库实例。
WinCC (TIA Portal)/WinCC flexible PC Runtime 作为 SQL 客户端运行。
理论上,基于 Windows CE 的面板不能访问 SQL 数据库。
必要条件:•SQL server1•Windows 中必须创建 SQL 数据源•WinCC (TIA Portal) 或 WinCC flexible Advanced ES•WinCC (TIA Portal) 或 WinCC flexible PC Runtime1 SQL server 必须和操作系统相匹配,同时也必须和 WinCC (TIA Portal)相匹配。
注释:样例只是一个建议的方法,当然,可能也会有其它更好的解决方案。
更多的相关说明:在各类书籍文献和互联网上可以找到更多关于SQL 命令和访问SQL 数据库的信息。
•英文网址: /•德文网址: http://ffm.junetz.en/members/reeg/DSP/node10.html 创建数据源为了创建一个对ODBC 数据源的访问,必须首先创建一个数据源。
访问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系统的管理和开发效率。
在实际使用过程中,还需注意数据安全性和操作的准确性,以确保数据库的稳定性和可靠性。
实验7 ODBC访问数据库
实验七O D B C访问数据库实验目的1、掌握ODBC数据源的加载方法2、熟悉用ODBC访问数据库的方法实验环境PC机、 windows XP操作系统、SQL SERVER软件、WindowsXP,SQLServer2000,高级语言编译软件等实验内容1、首先创建数据源为创建Microsoft SQL SERVER 数据源,执行下述操作:1)打开“控制面板”。
2)打开ODBC数据源管理器。
3)选择“用户DSN”。
4)添加一个 SQL SERVER的数据源,选择数据库:“PUBS”。
2、创建工程mye1)选择“File”菜单中的“New”选项,在出现的对话框中选择“Project”选项卡,在“Project Name”文本框中输入工程名“mye”,选择“MFC AppWizard[exe]”。
2)单击“OK”按钮,系统显示“MFC AppWizard-step 1 of 6”对话框,选择“单文档”单选按钮。
3)单击“Next”按钮,系统显示“MFC AppWizard-step 2 of 6”对话框,选择“查看数据库不使用文件支持”单选按钮,为工程添加数据库接口。
4)单击“数据源”按钮,显示“Database Options”对话框,选择ODBC数据源,并在列表框中选择所需的数据源名。
单击“OK”按钮,如果选用的数据源未指定数据库文件,则显示“Select Database”对话框,否则直接进入下一步。
5)选择数据库后单击“OK”按钮,显示“Select Database Tables”对话框,其中列出所选数据库中当前用户有权访问的所有表,选择所需的表。
6)单击“OK”按钮后单击“Finish”按钮完成设置,确认其各项信息后单击“OK”按钮,创建了mye工程。
3、浏览、编辑、删除数据库表中的记录1)mye工程中已包含了一些浏览表记录的按钮,可以在资源列表中,双击“Toolbar”下的“IDR_MAINFRAME”项,打开工具栏编辑器。
访问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 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
利用ODBC访问WINCC的历史数据库
利用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“即可。
关于如何使用WinCC Industrial Data Bridge将WinCC的实时数据记录到MS Access
关于如何使用WinCC Industrial Data Bridge将WinCC的实时数据通过OPC DA记录到MS Access、MS SQL Server和Oracle 数据库中1 WinCC Industrial Data Bridge简介1.1 功能WinCC/IndustrialDataBridge(工业数据桥)利用标准接口将自动化层(控制器)连接到IT世界,并保证了双向的信息流。
这些类型接口的例子包括自动化领域里的OPC 和IT世界内的SQL数据库。
你可利用众多不同的标准接口(其中包括OPC,SQL,OLE-DB,Office格式),将不同制造商生产的系统集成在一起。
你可在合宜定价的基础上,利用标准软件包完成系统组态(不需要编程)。
通常,带有OPC DA服务器接口的 WinCC是数据源,而一个外部数据库则是数据目的地。
取决于数据数量,授权可以128、 512、2K和10K个变量提供。
在不同的制造商生产的自动化系统之间,通过“IndustrialDataBridge” 进行数据交换(例如通过OPC)。
通过“ IndustrialDataBridge” 连接 OPC服务器能在不同设备数据源和目的地之间通讯。
∙通过OPC接口,可以连接由众多不同制造商生产的SCADA和监视系统。
∙将过程数据存储在Excel或Acces 等办公软件内。
也可集成数据库,以便归档大量数据。
∙SQL数据库可用作已采集到的生产数据目的地。
系统可在事件驱动基础上,使用OPC模块,从数据源传输数据,或者利用发送/接收模块直接从控制器传输数据。
∙应用一个数据库作为数据源,你可将配方或设定值直接传输到 WinCC或传输到一个控制器。
当这样做时,你可应用OPC DA数据访问,WinAC ODK或发送/接收模块作为到达数据目的地的接口。
1.2优点∙将自动化层连接到IT环境∙使用众多不同的标准接口(其中包括OPC,SQL,OLE-DB,Office 格式)集成由不同制造商生产的系统∙使用标准软件的简单、价格合理的组态(不需要编程)∙在几个系统之间同时进行高性能的数据交换2 使用WinCC Industrial Data Bridge将WinCC的实时数据通过OPC DA记录到Oracle数据库中1.1 WinCC Industrial Data Bridge支持Oracle 9i数据库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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:18
CC_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:18R
CC:固有的,指明是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“即可。
这时在Adaptive Server AnyWhere 7下面会出现你的计算机名,并已连通了你的WINCC历史数据库。
好了,我们现在可以查看WinCC的历史数据了。
展开:Adaptive Server AnyWhere 7(DBA)
展开:TABLE
我们现在可以看到数据库的表名与表结构了:
表名:PDE#HQZ#GAS_PRE 组成方式如下
PDE:固有
HQZ:归档名称
GAS_PRE:变量名。
表结构:有三个字段:T, V, F
T:时间
V:值
F:标志
由于没有可靠的资料可查,其F的名值表示的含义就不得而知,不过,在我的使用中,我将F值8392705作为一个合法值,在WINCC的处理中没有出过错,但别的FLAG值的含义,只能问西门子公司了。
二、利用VB编写程序访问WINCC历史数据库。
上面已明确描述了WINCC的历史数据库的结构组成与表结构,那么我们就可以通过编程访问WINCC的历史数据库。
如其它通过ODBC访问的数据一样。
如下面的小例子
在VB中,先引用ADO组件。
并声明ADO变量。
Private cn As ADODB.Connection
Private rs As ADODB.Recordset
Const dsn = “CC_FY_02-10-16_10:40:18R”
Private sub insertData(nowV alue as double)
Dim nowtime as string
Nowtime =now
cn.Open dsn, "", ""
sqlstr=” insert into PDE#HQZ#GAS_PRE(T,V,F) V alues(…”+ Nowtime +”‟,”+ nowV alue +”, 8392705) ”
cn.Execute sqlstr
cn.close
End sub
本程序中的子程序只处理了数据插入,其它读出就更为简单,与其它的ADO访问是一模一样的,这里就不多说了。
三、结语
能通过ODBC访问WINCC的历史数据,给我们提供了更多了解决办法,特别是在企业信息化平台上使用非实时数据方面,可以人为给WINCC添加正确的历史数据,使WINCC的功能更为强大。
由于ODBC名与项目的修改时间有关,所以在项目频繁变化时,请不要使用这个功能。
WinCC在启动时自动添加ODBC名,在关闭时自动删除,所以,在WINCC关闭后,不能再通过ODBC访问ODBC。
本文来自: 中国自学编程网() 详细出处参考:/html/20070419/6927.html。