基于OPC技术的控制系统集成实现
2012-03-16刘星平张智慧
刘星平,张智慧,胡 广,陈 兴 邹 腾 徐 杨
(1.湖南工程学院 电气信息学院,湘潭 411101;2.湖南工程学院 电气工程0992班,湘潭 411101)
基于OPC技术的控制系统集成实现
刘星平1,张智慧2,胡 广2,陈 兴2邹 腾2徐 杨2
(1.湖南工程学院 电气信息学院,湘潭 411101;2.湖南工程学院 电气工程0992班,湘潭 411101)
使用最合适的技术,使PLC、工控机、分布式I/O、过程控制和传动控制等自动化环境建立在一个集成系统平台上,使这些不同的系统有一个共同的核心,该核心支持组态和编程的集成,数据管理的集成,通信的集成.OPC是一种开放式系统接口标准,通过OPC,可以在上位机上监控、处理、调用控制器(如PLC,变频器等)的数据和事件,实现自动化控制系统的集成.
OPC通信;控制系统集成;服务器;客户机
0 前言
随着计算机及自动控制技术的发展,自动化控制系统的集成已成为发展趋势.自动化控制系统希望能够集成不同厂家的控制设备及应用程序,实现各厂家设备的互操作,真正实现工业现场的数据从车间级集成到整个企业信息管理系统中.OPC通信是在此背景下产生的,它提供了工业环境中信息交换的统一标准的软件接口,已成为工业过程控制的通信标准.这样,数据用户不用为不同厂家的数据源开发驱动程序或服务程序,能够轻松的连接不同厂商生产的控制器设备和应用程序[1].
1 OPC技术及其组成
OPC(OLE for Process Control)技术是用于过程控制的对象链接和嵌入技术,OLE是Object Linking and Embedding的缩写,即对象链接与嵌入,是微软为Windows操作系统、应用程序之间的数据交换开发的技术[2].OPC技术包括2个组成部分:OPC服务器及OPC客户端.OPC服务器是一种现场数据源程序,它的作用是收集现场设备数据信息,通过标准的OPC接口传送给OPC客户端,为客户端提供数据.OPC客户端是一个数据接收程序,如上位计算机组态软件、数据采集与处理系统软件(SCADA)、人机界面软件(HMI)等.OPC客户机不用直接从各种控制器(硬件)上读取数据,而是直接从OPC服务器上读取数据,OPC客户端通过OPC标准接口与OPC服务器通信,获取OPC服务器的各种信息.符合OPC标准的客户端都可以访问来自任何生产者设计的OPC服务器程序.集成管理平台(OPC Client)与各个子系统(OPC Servers)之间必须有OPC接口.有两套标准接口,即自动化标准接口(Automation Interface)和定制标准接口(Custom Interface).通常在设计中都采用自动化标准接口.典型的OPC组成结构体系如图1所示.通过OPC接口,客户端应用程序可以从服务器读取数据,发送控制命令等.
1.1 OPC的通信
OPC是一种开放式系统接口标准,以微软的组件对象模型COM/DCOM/COM+技术为基础,建立OLE规范之上,采用客户机/服务器模式.通过OPC,可以实现各控制器之间、现场设备之间、基于PC的应用程序之间进行简单的标准化数据交换.可以在上位机上监控、处理、调用控制器(如PLC,变频器等)的数据和事件.
客户机与服务器的关系类似于西门子网络通信的从站与主站的关系.服务器在通信过程中是被动的,它总是等待客户机发起数据访问.OPC将数据源提供的数据以标准方式传输到客户机应用程序中.由于OPC服务器提供了用于连接OPC客户机应用程序的接口.所以客户机应用程序能执行对数据源(如控制器中的存储器)的访问.多个不同的OPC客户机可以同时访问一个OPC服务器.
图1 OPC的组成体系
因此,只要控制设备生产者的硬件提供了OPC服务器,任何支持OPC通信的客户机程序都可以用统一的方式来对不同的设备数据进行存取访问.
1.2 OPC服务器的对象
OPC服务器中包含了服务器(Server)对象,组(Group)对象和项(Item)对象.数据访问时,因为Server对象是客户应用程序访问OPC服务器的惟一入口,所以首先必须获取OPC服务器中的OPC Server对象.其次,创建Group类对象,继而,创建Item对象.获取Item对象后,就可以进行各种读写操作了.这种OPC服务器是由提供所使用设备的制造商作为一揽子产品予以提供的.
图2 数据访问服务器的对象
图2所示为西门子PLC数据访问服务器的对象,从图可看出,一个OPC服务器可以包括多个Server对象.每个Server对象可以包含多个Group对象,每个Group对象又可以包含多个Item对象,OPC服务器对象维护有关服务器的信息并作为OPC组对象的包容器,能动态地创建或释放组对象;OPC组对象提供包容OPC项的机制,从逻辑上实现对OPC项的管理;OPC项对象代表与OPC服务器到数据源的一个连接,包括品质(Quality)、值(Value)、时间戳(Time Stamp)等几个基本属性[3].
服务器对象主要负责创建和管理组对象,管理服务器对象内部的状态信息,浏览服务器内部的数据组织结构.并将服务器中的错误代码翻译成描述性的语句等.组对象主要负责管理组对象的内部状态信息,创建和管理项目对象,完成OPC服务器内部的实时数据存取服务(同步或异步方式).在OPC通信中,数据传输是以组为单位进行的.同一个组对象中的Item对象的数据源可以位于不同的现场设备中.这样,客户可以方便的把经常需要访问的一些项放在一个组中进行管理,可以对组进行读写,还可以设置客户端的数据更新频率.
图3 PC Access的典型应用
服务器对象和组对象都是标准的COM对象.这两种对象需要完成与客户程序的交互,但都不与特定的现场设备产生联系,都只是一个逻辑概念而已.
项对象则代表了与特定数据源的连接.通常指向设备具体的寄存器单元,例如一个端口或者一个通道.项对象是服务器端定义的对象,客户并不需要与项直接交互.
2 基于OPC的控制系统集成实现
2.1 基于OPC的S7-200PLC的系统集成
S7-200PC ACCESS是专用于S7-200PLC的OPC Server(服务器)软件,该软件能与任何标准的OPC客户机配合使用.S7-200PC ACCESS可使用多种通信方式与PLC通讯,能同时从8个PLC读取数据,并且服务器读取的项目数是没有限制的.
PC Access软件通过计算机与S7-200PLC通讯,作为服务器.支持OPC标准的HMI软件(例如WINCC),作为 OPC Client(客户端)与PC Access通讯,从而可以访问S7-200的数据.其典型应用如图3所示.
2.2 基于OPC技术的S7-300/400PLC控制系统集成实现
以下是利用OPC技术通过工业以太网实现组态王软件对西门子PLC控制系统的监控应用.在该监控系统中,组态王软件和西门子PLC都支持OPC协议,组态王作为OPC的客户机,西门子的SIMATIC NET作为OPC的服务器,通过OPC服务器定义好数据库中的监控变量,通过OPC协议,组态王可以访问西门子PLC控制系统,通过工业以太网,实现的通信速度可以达100MB/s.这样,在集中控制室的PC机上就可以实现对多个PLC控制系统的远程监控.
图4 上位机的OPC应用设置
2.2.1 通信处理器及其应用
CP1612PCI是用于PC的工业以太网通信处理器,CP1612是自适应以态网卡,通信速率可达10 M/100MB/s,CP1612PCI以太网卡与配套的软件包一起支持OPC通信,可以生成OPC服务器,生成数据库.CP443-1是用于工业以太网ISO和TCP/IP的S7CP,是用于S7-400PLC的工业以太网通信处理器.这样,通过以太网(IE)的连接,上位机通过OPC通信可以直接访问S7-300/400PLC中的变量或数据,数据交换格式为S7connection(本系统中的数据交换格式).
2.2.2 工业以太网的构建
在西门子编程软件STEP7的硬件组态中组态一个S7-400的PLC站,该S7-400通过工业以太网处理器CP443-1构建一条工业以太网,然后在硬件组态中新建一个上位机站SIMTIC PC Station,在该站中配置工业以太网卡CP1612,在硬件目录的user application中调用OPC服务器(OPC server)及应用程序(application).如图4所示.形成的以太网网络结构如图5所示.
图5 工业以太网网络结构
2.2.3 组态王的设置
组态王组态软件有灵活多样的组态方式,提供良好的用户界面和简捷使用方法.可以非常容易地实现和完成计算机集成系统的各项控制功能.组态王6.53提供了资源管理器式的操作主界面,具有丰富的图形、图表功能和很强的网络功能,组态王支持OPC规范,具有通信速率高、兼容性好、工作性能稳定的优点[4].组态王目前支持数百种各种硬件设备,目前流行的各种板卡、仪表、PLC等均能在组态王的驱动程序列表中找到.包括目前常用的西门子、ABB等公司的PLC控制器、变频器等设备.
图6 组态王中OPC服务器的添加
组态王与其它控制系统(如GIS系统、MIS系统、配网分析等)交换数据有多种途径,采用OPC的方式与组态王动态交换实时数据的方式更加有利于不同厂家的控制器的系统集成,建立与OPC服务器的连接也非常方便.
图7 系统集成的结构框图
组态王可作为OPC客户从OPC服务器采集数据,又可作为OPC服务器送出控制结果或向其他应用程序提供数据.PLC的OPC服务器构建好以后,使用组态王来读写上面的数据,以S7-400PLC为例,在组态王中定义I/O变量,步骤如下:
(1)添加OPC设备,在打开的设备窗口中选择OPC SimaticNET.
(2)在数据词典里定义I/O变量.定义变量名,变量类型、及连接设备OPC SimaticNET.如图6所示.系统集成的组成结构如图7所示,系统的组态开发监控画面如图8所示.
图8 系统集成的总监控画面
3 结 论
OPC是一种设备服务器的标准接口,能够被连接到I/O装置、可编程逻辑控制器(PLC)、现场总线等.OPC技术能提供一种即插即用的硬、软件组件,用户很容易将它们集成为完整的自动化系统.OPC规范了接口函数,不管现场设备以何种形式存在,客户都以统一的方式访问,从而保证了软件对客户的透明性.OPC采用客户机/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作性.可以有效地实现互联互通,保证工程顺利投运,保障用户的投资利益.
[1]廖常初.S7-300/400PLC应用技术[M].北京:机械工业出版社,2008.
[2]王 鲲,袁中凡.OPC接口技术在工业自动化系统中的应用[J].中国测控技术,2005(1):95-97.
[3]杨宪惠.工业数据通信与控制网络[M].北京:机械工业出版社,2003.
[4]刘星平.PLC原理及工程应用[M].北京:中国电力出版社,2010.
Realization of Integration of Control System Based on Communication of OPC
LIU Xing-ping1,ZHANG Zhi-hui2,HU Guang2,CHEN Xing2,ZOU Teng2,XU Yang2
(1.College of Electrical and Information,Hunan Institute of Engineering,Xiangtan 411101,China;2.Class 0992,Electrical Engineering,Hunan Institute of Engineering,Xiangtan 411101,China)
Using the fit technology,the PLC,IPC,distributing I/O,process control and drive control are built on a flat roof of integration system.There is a common center for those different systems.The center supports the integration of configuration,programme,data manage and communications.OPC is a standard of opening systems.Via OPC,PC can supervise,handle and transfer data or event so as to realize the integration of automation control system.
OPC communication;integration of control system;server;client
TP391
A
1671-119X(2012)03-0005-04
2012-04-06
湖南省科技计划项目(2011GK3057);湖南省大学生研究性学习和创新性实验计划项目(湘教通[2011]272号)
刘星平(1966-),男,硕士,副教授,研究方向:电力电子和传动、计算机控制、自动化系统集成.