如何利用ODBC访问WINCC的历史数据库
发布网友
发布时间:2022-04-24 03:04
我来回答
共1个回答
热心网友
时间:2023-09-03 17:09
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
。
怎么查看wincc在SQL中的数据
一般情况下,步骤是:1建立一个数据库2定义数据源:进入“控制面板”中的“管理工具”,用鼠标双击“数据源(ODBC)”选项,弹出“ODBC数据源管理器”。3在组态软件中引用数据库操作指令,操作已经定义好的数据库。
多模态数据
Play Video 七鑫易维是致力于机器视觉和人工智能领域的高新科技企业,迄今已专注眼球追踪技术的研发、创新与应用超过14年,拥有完全自主知识产权,全球专利总量655余项。 作为眼球追踪技术领域的全球知名品牌,七鑫易维的产品体系覆盖眼动分析、...
wincc项目归档数据如需导出第三方数据库,可使用哪些控件
1. WinCC ODBC控件:ODBC(Open Database Connectivity)是一种标准的数据库访问接口,可以通过配置ODBC数据源,使用WinCC ODBC控件将归档数据导出到第三方数据库。这样可以实现与各种类型的数据库进行数据交互。2. WinCC SQL控件:WinCC提供了内置的SQL控件,可以直接使用SQL语句进行数据库操作,包括导出归档...
用WINCC的C脚本如何访问远程SQL服务器上的数据库?
用WINCC的C脚本访问他的SQL数据库并不合适!因为本来vc++和VB对比,vb访问数据库比VC要方便,容易掌握,快捷最好的方法:采用VB编写SQL访问数据,外挂于WINCC。访问WINCCSQL,用常规的方法是访问不到的,因为SQLFORWINCC有独特的访问方式。 到PLC学习网网站查看回答详情>> ...
服务器安装了WinCC7.2,附带装了SQL Server2008 R2,怎么用Java连接该数...
1、java连接数据库可以使用JDBC或者连接池,先在配置文件中写好:<database> <jndi-name>项目名</jndi-name> <driver type="net.sourceforge.jtds.jdbc.Driver"> <url>jdbc:jtds:sqlserver://127.0.0.1:1400/项目名</url> <user>sa</user> <password>123</password> </driver> <prepared-...
wincc怎么实现读取数据库里的数据到excel
删除等操作。不同软件的做法不同,但道理都差不多,每一种组态软件都有专门章节指导。一般情况下,步骤是:1建立一个数据库2定义数据源:进入“控制面板”中的“管理工具”,用鼠标双击“数据源(ODBC)”选项,弹出“ODBC数据源管理器”。3在组态软件中引用数据库操作指令,操作已经定义好的数据库。
如何用SQL语言从wincc数据库获取数据,实时获取与获取保存的数据有什么区...
步骤1:在SQLSERVER中设一个远程登陆的账号sa, 密码也设置xxx(自己定)(SQL配置管理器中,把通信协议TCP/IP相关的服务都启用 在SQL中,安全性---登陆账号---SA的属性---状态—启用授权登陆和允许访问SQLSERVER引擎 )以上设备和配置保证模仿远程用户来我这个计算机SQLSEVER服务器访问数据库.二 载入系统的...
wincc报表没有写入数据库
方法是:1、建立数据库输入对应字段名称2、在控制面板中选择管理工具,在管理工具中选择数据源(ODBC)选择添加。3、新建动作即可。数据库是按照数据结构来组织、存储和管理数据的仓库。
wincc如何连接mysql数据库
应该是建立mysql的ODBC连接,wincc对ODBC操作,反应到mysql,通过html5网页服务器,透过wifi,手机可以操作过程控制。这条路可以走通。可以做成设置程序,完成部署。方便调试。和故障处理。
[求助-wincc]如何用按钮触发报表记录
采用Wincc触发器,写vba脚本连接数据库即可:建立一个数据库,再写一个点击按钮的事件代码,在该代码中记录所要记录的信息,将这些信息写入数据库中.最后建一个报表布局和包括该布局的打印作业.在报表布局中,从ODBC数据源中选取记录该信息的数据表,按照所要求的报表格式输出即可 ...
wincc运行项目时显示odbc错,如何处理
你察看一下你的数据库设置。以后问的时候最好说清楚版本。odbc错误,我想应该是用5.0或者5.2了,wincc5.0和step75.2不兼容,你首先要确定是否是由于两者的缘故。如果是wincc5.2和step7v5.2那就没有问题了,你就要重新设置你的控制面板的数据库选项。