最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

面向PLC的OPC服务器设计与开发

发布时间:2012-08-28 作者:李绍成 马连祥  来源:万方数据
关键字:PLC 控制系统 OPC服务器 
为了满足多种型号PLC共存的工业控制系统集成要求,研究了面向PLC的OPC服务器快速开发方法,给出了基于工具包的面向PLC的OPC服务器的详细设计与实现方法.设计、开发了用于FMS控制的PLC的OPO服务器,运行结果表明该服务器符合OPC接口规范要求.

引言

    可编程控制器PLC(Programmable LogicController)具有可靠性高、通用性强、编程简单、体积小、安装维护方便等优点,在工业控制中得到了广泛应用。

    在工业控制系统中,可能存在不同厂家生产的、多种型号的可编程控制器PLC。为了便于系统集成,一般采用基于OPC(OLE for ProcessContr01)规范的接口进行数据交换,为此,需要设计、开发面向PLC的OPC服务器。

1 OPC服务器开发工具

    面向PLC的OPC服务器开发需要完成以下两个方面工作:一方面,需要根据PLC的通信协议实现上位机服务器软件与PLC的数据交换;另一方面,需要合理设计服务器软件的架构与接口,使之符合OPC技术规范。

    由于OPC服务器是基于COM技术的,这就要求程序设计人员必须非常熟悉COM技术,而精通COM技术是有一定难度的,因此,OPC服务器的源码级开发是相当复杂的,一般由专业的软件公司进行开发。

    为了便于OPC技术的推广和应用,国内外许多单位推出了OPC服务器快速开发工具包。这种工具包将微软公司的OLE/COM/DCOM技术和OPC的技术细节进行了隐藏,使用户开发工作集中在数据采集和处理任务上,从而简化了OPC服务器的开发。

    基于工具包的OPC服务器开发,主要任务是熟悉工具包的API接口函数,通过调用工具包的API接口函数实现OPC服务器的功能,为应用软件提供符合OPC规范的接口。

2 OPC服务器设计与开发

    2.1软件设计

    基于工具包的面向PLC的OPC服务器开发的首要任务是设计OPC对象与接口、OPC服务器界面,然后进行OPC服务器与PLC的通信设计,以实现OPC服务器与PLC的数据交换,具体的软件架构如图1所示。

   面向PLC的OPC服务器软件架构

图1 面向PLC的OPC服务器软件架构

    OPC对象与接口是OPC服务器与客户端程序进行交互的部分。首先应进行OPC服务器对象设计,即定义服务器名称ProgID和类标识符CLSID。服务器名称ProgID可以自由确定;类标识符CLSID是一个128字节的数据,是用来标识一个COM对象的,可用微软自带的工具GUIDGEN.EXE快速确定。然后根据OPC项的管理要求设计OPC组对象,如果OPC项较少,可以直接利用工具包默认的一个OPC组对象。最后确定OPC项对象,一个OPC项可以对应于PLC内存中的若干寄存器,一般根据PLC的具体控制要求进行设计,并确定可读项与可写项。

    OPC服务器与PLC的通信模块是面向PLC的OPC服务器的重要组成部分,OPC可读项的数据就是通过该模块采集PLC中相应寄存器的信息获得的;OPC可写项的数据就是通过该模块写入PLC中相应寄存器的。

    服务器程序界面可以为用户提供友好的交互平台,便于观察数据项的变化,以及对数据项进行管理和设置。

    2.2软件开发

    在采用工具包开发面向PLC的OPC服务器时,主要是利用工具包提供的API接口函数进行如下的操作:

    1)工具包动态库初始化

    OPC服务器开始运行时,应进行工具包动态库初始化,以及设置OPC服务器的最高刷新频率,这是OPC服务器得以运行的基础。

    2)OPC服务器信息设置

    主要是设置服务器的运行状态、版本号、厂商信息等。

    3)OPC项的创建与删除

    在OPC服务器开始运行时创建OPC项,在OPC服务器运行结束时删除OPC项。

    4)OPC项数据的更新

    OPC服务器需要周期地更新OPC项的值、质量和时间戳,即将数据存储区中的数据更新到相应的OPC项。当客户端程序请求写数据时,OPC运行库调用写回调函数,并利用服务器与PLC的通信模块将数据写入PLC中的相应寄存器中;当客户请求读数据时,OPC运行库调用读回调函数,返回相应的OPC项的数据。

    服务器与PLC的通信模块是基于PLC的通信接口方式进行开发的。例如串口通信,其是根据PLC的通信协议采用串口通信控件或API函数编程来实现数据交换的。

    5)回调函数注册

    工具包中有三个回调函数:读回调函数、写回调函数和断开回函数。只有注册了这三个回调函数后,OPC服务器才能和客户端程序按照OPC技术规范进行正常通信。

    6)OPC服务器注册和注销

    OPC服务器安装到计算机后,首先应将服务器名称ProgID和类标识符CLSID等信息进行注册。在OPC服务器注册后,OPC客户端程序才能在本机或局域网上检索到该OPC服务器,从而与该OPC服务器建立连接与数据交换。注销是将计算机系统中的OPC服务器信息清除。

 

3