APP下载

关于WinCC与Oracle连接以及数据交互的研究与应用

2016-10-18杨少霞李蒙蒙唐海林游晓航何宏宏

制造业自动化 2016年9期
关键词:驱动程序管理器数据源

杨少霞,李蒙蒙,唐海林,游晓航,何宏宏

(1.北京机械工业自动化研究所 自控中心,北京 100120;2.北京机械工业自动化研究所 机器人中心,北京 100102)

关于WinCC与Oracle连接以及数据交互的研究与应用

杨少霞1,李蒙蒙1,唐海林1,游晓航1,何宏宏2

(1.北京机械工业自动化研究所 自控中心,北京 100120;2.北京机械工业自动化研究所 机器人中心,北京 100102)

介绍了西门子监控软件WinCC与Oracle数据库连接以及数据交互的实现,软件平台和结构特点,特别是ODBC数据源的建立和使用,将生产管理层与现场设备层安全可靠地连接起来。

Oracle;数据库;WinCC;ODBC

0 引言

上海某钢厂原料输入系统大修改造,需要从L2系统接收任务数据,存储在Oracle数据库中,WinCC监控系统调用该任务数据,在监控系统中显示,并下发到PLC控制系统;同时WinCC从PLC采集的数据,需要存储Oracle数据库中,以备报表查询。如何使用ODBC数据源将Oracle 中存储的数据读写到PLC 中,将是本篇研究的重点。

1 ODBC数据源介绍

开放数据库连接(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。开放数据库互连(ODBC)是Microsoft提出的数据库访问接口标准。开放数据库互连定义了访问数据库API的一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言。

WinCC想要访问Oracle数据库,必须通过ODBC管理器注册一个ODBC数据源,管理器根据数据源提供的位置、类型及Oracle ODBC驱动程序等信息,建立起ODBC与Oracle数据库的联系。这样,只要WinCC将数据源名提供给ODBC,ODBC就能建立起与数据库的连接。因此就可以实现通过ODBC将数据库中的数据读取到WinCC和PLC中的目的。

2 开发环境

在数据库服务器Win server 2012上安装数据库软件Oracle 11g 64位服务器端和专门面向Oracle数据库存储的程序单元的集成开发环境PLSQL Developer v10。在需要访问数据库的本地计算机,安装西门子的WinCC 7.3 sp1外,还需要安装Oracle客户端oracle 10g 32位,用以在本机配置ODBC数据源管理器。系统软硬件开发环境如表1所示。

表1 系统软硬件组成

3 建立ODBC与Oracle的连接

1)配置Oracle本地服务名

在oracle客户端配置好与数据库服务器的本地连接。在D:Oracleproduct10.1.0Client_1NETWORK ADMIN nsnames.ora文件中增加如下配置即可:

2)建立ODBC数据源

在32位操作系统下建立ODBC数据源时,找到控制面板管理工具“数据源(ODBC)”,双击,弹出窗口ODBC数据源管理器,在“系统DSN”中单击“添加”,出现驱动程序选择窗口,选择Microsoft ODBC for Oracle,此时弹出数据源设置对话框。填写相应参数,包括数据源名、用户名、端口号和全局数据库名。

本文客户端是win7 64位旗舰版的操作系统,依次打开“控制面板 ->系统安全 ->管理工具 ->数据源(ODBC) ->用户DNS/系统DNS ->添加”发现已安装的SQL Server,MySQL有相应驱动,但没有Oracle驱动。所以不能用控制面板里的ODBC数据源进行配置,要运行c:windowssysWOW64odbcad32.exe进行ODBC数据源建立。

图1 ODBC数据源管理器界面

点击“添加”按钮,显示如图2所示界面。

图2 添加数据源界面

在如上界面中,驱动程序列表中,根据本机环境不同,有可能会出现两个Oracle的数据源驱动程序,要选择Microsoft ODBC for Oracle,在如下操作界面输入相应的连接参数:

数据源名称:可自定义,用于在编程代码中使用。

用户名称:需要和数据库的管理员取得。

服务器:之前oracle客户端配置的服务名ORCL_BG。

图3 参数输入

3)应用Excel测试Oracle的ODBC数据源创建是否成功

打开Excel 2010,单击“数据”“自其他来源”“来自数据连接向导”,出现“选择数据源”对话框,选择ODBC DSN,点击下一步,然后选择配置好的数据源ORCL_BG,点击下一步,输入用户名对应的密码(用户名为bguser,密码为bguser),测试连接是否成功。成功后,选择表格对话框,选择表CODE_ COMPANY,点击完成,将表CODE_COMPANY中的数据读取到Excel中。本部分测试工作完成后,则可以专心WinCC脚本程序的开发工作了。

4 WinCC与ODBC进行通讯

ODBC数据源定义完成后,在WinCC需要点击的按钮触发脚本中编写VBS脚本程序进行测试:

再次重申本文客户端是Win7 64位操作系统,而我们的Oracle客户端使用的是Oracle 10g 32位的安装软件,所以要特别注意WinCC 7.3软件的安装路径,默认安装在Program Files(x86)文件夹下,此时使用建立好的ODBC数据源,在WinCC中通过VBS脚本读写ODBC数据源,当脚本程序编制完成后,运行该画面,发现数据库中并没有数据的增加,监测到执行到lconn.Open这条语句时,提示连接ODBC数据源失败。这是因为WinCC安装路径下的括号造成的,此时更换WinCC安装路径到Program Files文件夹下,再次运行该画面,点击“插入数据”按钮,则查询到数据库中增加一条数据,WinCC写入数据到Oracle数据库成功。

5 结束语

本文通过使用ODBC数据源将WinCC和Oracle数据库进行连接,并实现了数据交互(写入和读取),将企业生产管理层(L2系统传来的数据)与现场设备层(PLC等)安全可靠地连接起来,以备企业报表查询统计相关数据。

[1] 姜建芳.西门子WinCC组态软件工程应用技术[M].机械工业出版社,2015.8.

[2] Richard Niemiec.Oracle Database 11gR2性能调整与优化[M].清华大学出版社,2013,12.

Research and application of winCC and Oracle connection and dataexchange

YANG Shao-xia1,LI Meng-meng1,TANG Hai-lin1,YOU Xiao-hang1,HE Hong-hong2

TP29

A

1009-0134(2016)09-0146-03

2016-08-17

杨少霞(1977 -),女,山东烟台人,工程师,硕士,主要从事制造执行系统MES软件的研究与开发。

猜你喜欢

驱动程序管理器数据源
启动Windows11任务管理器的几种方法
应急状态启动磁盘管理器
阻止Windows Update更新驱动程序
Windows文件缓冲处理技术概述
计算机硬件设备驱动程序分析
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
WONCA研究论文摘要汇编
——初级保健晚期疾病患者照顾者的识别障碍:3个数据源的三角化测量
在Win 7下利用凭据管理器提高访问速度等