| 引言 可编程控制器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所示。 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服务器信息清除。 OPC服务器是一个进程外组件,其在运行过程中对工具包接口函数的调用流程如图2所示。 3.1 PLC控制对象 Denford公司的FMS(Flexible ManufacturingSystem)教学演示系统由一台数控车床、一台数控铣床、两台机器手和一条传送带组成,该系统可以通过数字I/O接口进行控制,各设备的I/O接口数如表1所示。 由表1可以看出,该蹦S的控制器需要有13个数字输入口采集设备的状态信息,需要11个数字输出口发送控制命令。欧姆龙公司生产的CPMlA一30CDR—A—V型PLC有18个数字输入口和12数字输出口,满足该FMS控制的接口要求。为了满足该FMS控制系统快速重构的要求,其控制系统必须是基于OPC规范接口的,即按照图3所示的体系结构进行控制。因此,需要为图3所示的PLC开发OPC服务器。 由表1和图3所示的CPMlA.30CDR.A—V型PLC控翩对象的具体要求可知,该OPC服务器主要与PLC的输入与输出口进行数据交换.因此,在该OPC服务器中设计定义了6个OPC项,其中4个OPC数据项为可读项:Tagln0CH、TagIn1CH、TagIn10CH、1.agIn11CH,分别用于读取该PLC的输入端000通道与001通道、输出端010通道与011通道的数值.即采集FMS硬件设备的状态信息;另外2个OPC数据项为可写项:TagOut10CH、TagOut11CH,分别用于对该PLC的输出端010通道与011通道写数值,即向FMS硬件设备发送控制命令。 开发的OPC服务器主界面如图4所示,具有注册和注销、OPC项的创建与删除、OPC项数据的更新等功能。在该OPC服务器安装、注册后,利用图4所示的OPC客户端软件进行了性能测试,结果表明该OPC服务器符合OPC接口规范要求,可以在本机或局城网上进行访问,满足图3所示的FMS控制要求。 本文研究了面向PLC的OPc服务器的快速实现方法,设计了一用于Denford公司FMS控制的PLC的OPC服务器,运行结果表明采用本文研究的方法所开发的OPC服务器符合OPC技术规范要求,具有一定的工程应用价值。(end) |
| 欢迎您的来电! 联系人:顾莹先生 手机Mobil:1332195316 电话TEL: 传真FAX: 工作QQ: 1074756899 电子邮件Email:1074756899@qq.com 公司地址:上海市北京东路668号科技京城东楼27楼C-1室 原装进口,罚十,质保一年! 我们以具有竞争优势的价格、原厂出货的品质、不同规格产品的库存以及热诚的态度为您服务。 |