注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- 工业电源论坛 -- 工业电源论坛(非专题)

中国工控网搜索:

 企业中心论坛热点 更多
 登陆:密码:  注册  密码

搜索:

发表人:spryice 发表时间:2009/8/24 16:58:00  

 

 本栏论题: 利用ODBC访问WINCC的历史数据库  [2136]

    
   
    利用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: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(nowValue as double)
   
    Dim nowtime as string
   
    Nowtime =now
   
    cn.Open dsn, "", ""
   
    sqlstr=” insert into PDE#HQZ#GAS_PRE(T,V,F) Values(‘”+ Nowtime +”’,”+ nowValue +”, 8392705) ”
   
    cn.Execute sqlstr
   
    cn.close
   
    End sub
   
   
   
    本程序中的子程序只处理了数据插入,其它读出就更为简单,与其它的ADO访问是一模一样的,这里就不多说了。
   
   
    三、 结语
   
    能通过ODBC访问WINCC的历史数据,给我们提供了更多了解决办法,特别是在企业信息化平台上使用非实时数据方面,可以人为给WINCC添加正确的历史数据,使WINCC的功能更为强大。
   
    由于ODBC名与项目的修改时间有关,所以在项目频繁变化时,请不要使用这个功能。
   
    WinCC在启动时自动添加ODBC名,在关闭时自动删除,所以,在WINCC关闭后,不能再通过ODBC访问ODBC。

以下是关于《利用ODBC访问WINCC的历史数据库》论题的回复(共1篇)

回复人:cn18show 

 回复时间:2009/9/19 3:32:00

支持(454) | 反对(381)

 

    易展成立五周年,50万回馈新老客户!易展旗下有仪表展览网,电子展览网,工控展览网、环保及易展国际等24个行业网站。活动官方网站:http://www.18show.cn/5/?m=189

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳