基于OPC技术的组态软件与SQL Server数据库的通信研究
孙淳
【摘 要】An application of OPC Client software based on the OPC standard interface technology is introduced and the communication of scene data through OPC Server to SQL Server database is obtained. The method of data communication between the third software on client and MCGS configuration software on server is discussed. And data communication between OPC Client and MCGS configuration software on server under the VC + + environment is expatiated. Multiple technologies such as the OPC data access, ADO database access. SQL Server object management are adopted. File data source, OPC data source, SQL Server data source read-write and OPC object, library and chart of SQL Server data source are managed and operated. Data communication between configuration software and relation database is achieved by the OPC Client software proved by experimental result.%介绍了运用OPC规范接口技术实现一种OPC Client软件功能,解决了现场数据通过OPC Server到SQL Server数据库集成的问题.给出了基于OPC技术的客户端第三方软
件和MCGS组态软件服务器实现网络数据通信的方法.阐述了在VC++下如何实现OPC客户端以及与MCGS组态软件的网络数据通信.软件采用OPC数据存取、ADO数据库访问、SQLServer对象管理等方法实现对文件数据源、OPC数据源、SQL Server数据源等的读写和OPC对象、SQLServer中的库、表等对象的管理和操作.最后给出的实验结果证明OPC Client软件能够实现组态软件与关系数据库的数据通信.
【期刊名称】《实验技术与管理》
【年(卷),期】2012(029)005
【总页数】4页(P143-146)
【关键词】实时数据库;信息集成系统;MCGS
【作 者】孙淳
【作者单位】天津轻工职业技术学院科研设备处,天津300350
【正文语种】中 文
【中图分类】TP31
组态软件是工业控制系统通用的一种控制软件,通过灵活的系统组态,可以方便地实现工业系统的监控功能,因而在工业控制中有非常广泛的应用[1-5]。而在现代企业中,管控一体化是企业发展的一个要求。而要实现上层管理信息系统自由的查询历史数据,则需借助SQL Server等关系数据库。由于现场控制系统和管理网上运行的应用软件通常来自不同的厂商,为了实现不同的硬件和软件之间的数据交换和通信,需要依靠第三方软件实现不同厂家之间软硬件的集成。而OPC(OLE for Process Control)规范是一种硬件和软件的接口标准,采用以COM/DCOM为技术基础的客户/服务器模式,提供了客户与服务器进行数据通信和交换的通用标准机制,可以支持网络分布式应用程序之间的通信以及不同平台上应用程序之间的通信,使得不同厂家之间软硬件的集成易于实现,为实现PC机和现场生产控制设备的实时通信提供了一种有效的解决方案[6-9]。在现有的文献中,对OPC技术研究一般都是针对某一种软件的应用,如文献[10]OPCserver与网络数据库SQLServer之间的通信实现;文献[11]、[12]讨论了OPC技术在DCS数据访问中的应用问题,但尚未有文献研究基于OPC技术实现MCGS组态软件与SQLServer数据库之间的通信问题。本文设计了一种OPC Client软件:OPC Client For SQL,用于将MCGS数据实时写入SQL Server数据库中,
使得现场控制数据实时写入SQL Server数据表中,从而实现组态软件与关系数据库的数据通信。该问题的解决对于实现工业控制中的异地监控有着重要的应用价值。
MCGS(monitor and control generated system)是一套用来可快速构造和生成上位机监控系统的组态软件系统,它为用户提供了从设备驱动、数据采集到数据处理、报警处理、流程控制、动画显示、报表输出等解决实际工程问题的完整方案和操作工具。MCGS组态软件具有多任务、多线程功能,其系统框架采用VC++语言编程,通过OLE技术向用户提供VB编程接口,提供丰富的设备驱动构件、动画构件、策略构件,用户可随时方便地扩充系统的功能。工控组态软件MCGS的最大优点是组态方便在工业控制中有着广泛的应用。MCGS系统组态共有两种类型,分别为实时数据库组态与设备窗口组态。其中实时数据库组态是系统各个部分数据交换与处理的中心,设置的是系统的变量,如内胆液位等;而设备窗口组态是连接和驱动外部设备的工作环境,设置的是最小采集周期,通信波特率等。sql软件是什么软件
OPC设备驱动程序一般都以OPC Server的形式提供,但OPC Server不能直接与中心服务器的网络数据库进行通信。为此,需要开发OPC客户端软件作为连接OPC Server与网络数据库的桥梁。目的是从OPC服务器(即数据源)中读取数据,并写入到中心服务器的网络数据
库,从而使得现场层数据直接流动到管理层,有效实现了对DCS系统的集中监控。客户端软件的开发一般有以下3种方式:
(1)使用第三方HMI软件实现与OPC服务器端连接,如西门子WINCC监控软件;
(2)利用一种开发软件(如 VB、VC),使用COM技术,直接按OPC规范来实现各种接口功能;
(3)使用封装了COM复杂性的OPC客户端开发包,通过调用开发包提供的API函数,实现与OPC服务器端连接。
在以上3种方式中,方法一最简单,但成本高;方法二功能灵活,但最复杂、开发周期长;方法三介于两者之间,而且能够发挥OPC服务器的最佳性能。因此,采用第3种方式来开发OPC客户端应用程序,以实现分布层控制系统与核心层网络数据库的通信。本系统中OPC客户端软件开发运行平台是微软WIN XP系统,考虑到系统对数据的实时性要求较高,开发工具采用Microsoft Visual C++6.0,与OPC服务器的通信采用OPC定制接口,网络数据库为SQL Server,采用ADO数据库访问技术,OPC客户端开发包则选用Intellution公司的OPCTo
olKit工具包,它提供了一套使用VC++语言开发OPC标准驱动程序的工具包。客户端OPC Client的实现原理图如图1所示。
本系统设计开发的OPC客户端可以连接多个OPC服务器。OPC操作主要通过创建OPC自动化对象(SERVER、GROUP、ITEM),并调用这些对象相应的方法属性来实现对现场数据的实时读写操作。接下来,OPC客户端就可以通过ADO方法来向中心服务器的网络数据库上传数据或从中心服务器的网络数据库读取数据。
OPC是基于Windows操作平台的在各种工业应用程序之间提供高效的信息集成和交互功能的组件对象模型的接口标准,它以微软的(分布式)组件对象模型COM/DCOM/COM+技术为基础,采用客户/服务器模式。OPC的服务器是数据的供应方,负责为OPC客户提供所需的数据;OPC客户是数据的使用方,处理OPC服务器提供的数据。在MCGS中,我们直接选择其自带的OPC服务器:MCGS.OPC.Server,而不需要另外单独开发OPC服务器软件。它是基于OPC DA规范设计开发的,支持主从命令从控制站以批量方式读取数据,并以批量方式向控制站改写数据,不占用广播套接口,能与MCGS监控软件在同一台PC机中运行,而OPC Client作为OPC的客户端软件能通过OPC标准从OPC Server数据源中读取数据,从而实现了MCGS与OPC Client之间的通信,其访问服务器读、写操作接口函数如下:
实时数据的读、写代码如下:
OPC Client通过访问OPCServer将现场实时数据存储到自己的内存数据库中,然后通过自己的后台服务程序的逻辑映射将内存数据库中的数据转发到SQL Server的实时表中,在SQL Server端通过自动创建的Job程序,完成数据从实时表到当天表到历史表的移动。现场来的数据以多种存储形式(实时、当天、历史)存储在SQL Server中,从而为其他软件提供了灵活的调用方式,OPC Server与SQL Server之间通信的软件的数据流程图如图2所示。
在运行环境中,MCGS将自动启动OPC服务器,与相对应的OPC服务器建立连接,自动完成和OPC服务器之间的数据交互。作为OPC服务器,MCGS运行环境的服务器名为 MCGS.OPCServer;组对象的创建和管理由MCGS在后台进行,即组对象一级对用户来说是隐藏起来的,用户只需指定服务器,就可以通过直接浏览来察看所有可用的数据项。其项目名为各个变量的名字。符合OPC标准的客户端都可以读取MCGS实时数据库中的数据。MCGS作为OPC服务器端操作时,必须进行相应的服务器端配置,待完成服务器端的设置后即可进行控制系统的实验调试。运行结果与分析:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。