问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何利用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
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
纯种萨摩和不纯的萨摩的区别 不是纯种萨摩,长大成型后和纯种萨摩外表一样吗 学播音主持和配音哪个更赚钱,各有各的长处 学播音真的能改变声音吗,会让自己的普通话更加标准 学习播音和配音的作用,可以提升自信和气质 普通人学配音有没有用,有兴趣则有用 什么是永诚财产保险股份有限公司 win10电脑升级不了ie11win10怎么升级ie11 电脑硬件保修哪些电脑硬件保修包括什么 电脑固态硬盘质保几年一般的电脑保修时间是多久 WinCC新建项目,关闭后打不开,提示“SQL服务器不能连接数据库,请检查连接权限” windows10 全局搜索功能无法搜索到onenote里的笔记,是否是BUG 怎么查看wincc在SQL中的数据 如何高效使用和整理印象笔记? wincc与SQL数据库交换数据 如何通过ODBC将WINCC数据写入SQL数据库中 怎么从wincc中写数据到SQL 如何在印象笔记中搜索到别人的共享笔记本 如何用标准的odbc sql接口访问wincc归档数据库文档 用wincc远程访问SQL2000.原来从没有试过 如何从sql数据库读取数据到wincc 第三方软件访问Wincc V7.0 SQL2005的方法有哪些 使用WINCC打开之前编辑的项目,提示无法将数据库连接到SQL服务器。 最后提示-log.ldf可能不正确! 第三方软件访问Wincc数据库 WINCC如何访问本地SQL2000 wincc如何访问读取SQL数据库的数据 如何用SQL语言从wincc数据库获取数据,实时获取与获取保存的数据有什么区别? 如何用WINCC访问本地SQL2000 如何让wincc远程访问sql2000 用WINCC的C脚本如何访问远程SQL服务器上的数据库? 如何用VB访问Wincc数据库 怎样从数据库中访问wincc的变量 怎么找回苹果笔记电脑浏览器上的搜索 期房可以买吗?有什么注意的? 期房能买吗? 期房敢买不 期房能买吗?买期房要注意什么?现在现房多还是期房多? 大家觉得期房可以购买吗? 期房到底能不能买没交房的期房要如何买呢 期房能买吗 期房是什么意思,可以买吗! 为什么很多人敢买期房 期房靠谱吗,可以买吗 正在盖的期房能够买吗 不知道这三大风险还敢买期房? 期房到底能不能买没交房的期房如何买 期房可不可以买卖啊? 现在到底敢不敢买期房呢? 还没有交房的期房能买吗?要怎么买? 一次运动要消耗多少热量才可以减肥|?