基于CANopen协议的电动执行机构设计

2013-06-27 胥布工 华南理工大学自动化科学与工程学院

  针对常规型电动执行机构的现场接线方式存在着布线工作量大、操作维护困难、可靠性不高、网络通信能力差等方面的问题,提出了一种基于CANopen协议的总线型电动执行机构设计方案。在简要介绍电动执行机构架构的基础上,首先给出了电动执行机构控制器的硬件设计方法,其中主要介绍了电动执行机构控制单元电路和CAN总线通讯接口电路的设计;接着给出了软件设计的思路,重点介绍了对象字典的设计及CANopen通讯程序的设计,针对通讯程序设计中的难点,提出了一种基于队列方式的报文处理模式。最后,在实际工程中成功地应用了所提出的设计方案,应用结果表明这种总线型电动执行机构具有智能化、信息化、数字化等特点,能够满足工业控制系统的网络化发展需求。

1、引言

  电动执行机构是工业过程控制系统不可缺少的部分,被广泛用于石油化工、电厂等领域。近年来,伴随着微电子技术和控制技术的迅速发展,电动执行机构也获得了快速的发展,国外一些生产厂商在这几年中相继推出了常规的、带现场总线通信协议的总线型电动执行机构。而国内起步晚,目前生产的主要是常规的电动执行机构,它采取传统的现场接线方式,如每台电动执行机构至少需要通过7~14根控制线才能将其参数传递到控制系统的控制模板上。这种方式安装、维护代价高,系统的可扩展性差,且易受现场操作人员的技术水平、精神状态及工作情绪等人为因素的影响,误操作较多。另外,对于一些有着特殊要求的环境,如易燃易爆、辐射、或人们不易到达的地方,这种传统控制方式难以胜任。为解决上述问题就要求执行机构向数字化、智能化、网络化方向发展。鉴于此,本文提出了一种基于CAN open协议的电动执行机构设计方案。

2、设计方案概述

  CAN open协议是一种在欧洲非常流行的CAN高层协议,该协议清晰、透明、精炼,便于系统配置和功能重构,在工业控制中有着良好的应用前景。本文提出的设计方案是在常规电动执行机构设计中加入CAN总线通讯模块,使其成为一种具备总线通讯能力的智能电动执行机构。这种智能电动执行机构采取总线控制方式,只需通过2根信号线就能完成所有信息的传输,更重要的是由于其具备了总线通讯功能,操作人员只需在控制室就可对执行机构实行远程控制。

3、电动执行机构硬件设计

  电动执行机构硬件设计是建立在了解其基本架构的基础之上的,为此,在硬件设计前先简要介绍一下电动执行机构的架构。

  1)电动执行机构的架构电动执行机构是根据调节器(或上位机)给出的控制信号产生推力或位移的一种装置,主要由控制器、伺服电机、位置检测装置和减速器四部分组成,其构成如图1所示。

基于CANopen协议的电动执行机构设计

图1 电动执行机构的架构

  控制器采集阀位给定信号和位置反馈信号,阀位给定信号由上位调节装置经总线系统发送,由现场总线接口接收。减速输出的信号经位置检测装置后形成位置反馈信号送给控制器,控制器输出经过一个采用晶闸管作为开关元件的继电器非线性环节去控制电机的运转,电机带动减速器来驱动输出轴产生相应的位移。

  2)控制器的硬件设计控制器系统硬件由电动执行机构控制单元和CAN总线接口单元组成,如图2所示。

基于CANopen协议的电动执行机构设计

图2 控制器的硬件结构

  整个电动执行机构设计采用模块化设计,选用LPC2292作为这两个单元模块的中央处理器。LPC2292是Philip公司的内嵌有CAN控制器的高性能单片机,工作频率高达30MHz,非常适合用于总线控制系统。电动执行机构控制单元含位置检测电路、电机驱动电路、故障检测/报警电路及液晶显示电路。位置检测电路用导电塑料精密旋转电位器作为位置传感器,电机驱动电路由固态继电器和正反互锁逻辑电路组成,完成电机的正反转启动、停止等控制。故障检测/报警输出电路经光电隔离电路采集限位、过热等报警信号,输出报警信息;液晶显示采用128*128,4级灰度的点阵液晶屏,液晶界面为现场操作人员提供了良好的操作平台。

  CAN通讯接口单元是总线型智能电动执行机构硬件上所特有的,它提供了总线访问的接口,其电路,如图3所示。

基于CANopen协议的电动执行机构设计

图3 CAN通讯接口电路

  电路中收发器模块选用带隔离功能的CTM1050芯片,通过它可以很好地实现CAN总线上各节点电气、电源之间的完全隔离和独立,极大地提高了CAN节点的稳定性和抗干扰性。

4、电动执行机构的软件设计

  电动执行机构软件设计主要包括两方面:执行机构的控制程序和基于CANopen协议的CAN总线通讯程序。其中,控制程序主要实现阀门的位置控制功能,包含初始化、数据采集、处理及显示等几部分,且在常规型电动执行机构中都已实现,不再赘述。本部分将重点介绍基于CANopen协议的CAN总线通讯程序设计,根据CANopen协议描述[4-5],把这部分程序设计分为对象字典的设计和CANopen通讯程序设计两部分,而后者是难点。

  1)CANopen协议通信机理

  CAN协议只定义了物理层和数据链路层两个底层协议,而CANopen协议在其基础上规定了应用层协议,其通信模型,如图4所示。

基于CANopen协议的电动执行机构设计

图4 CANopen通讯模型

  在CAN open的应用层,设备间通过相互交换通信对象进行通信。考虑到工业自动化系统中数据流量的不同需要,CAN open定义了4类标准通信对象,分别为过程数据对象(PDO)、服务数据对象(SDO)、管理对象(NMT)和特殊功能对象;其中,PDO对象主要用于传输实时数据,SDO对象用于传送配置信息,NMT对象用于实现对CANopen网络的管理,而特殊功能对象提供一些特殊服务。对这些通信对象的访问都是通过对象字典来实现。

  2)对象字典的设计

  对象字典(Object Dictionary)是CAN open协议的核心,它是一个有序的对象集合,包含了CAN open网络中设备的所有信息,每个设备的对象字典具有结构相同、内容不同的特点。

  CAN open设备访问对象字典时,是通过一个16位索引和一个8位子索引的方式来寻址。由于对象字典包含条目众多,不可能一一列举,下面以使用最频繁的PDO对象为例,从其报文属性和数据封装两方面来介绍PDO对象的建立。根据电动执行机构的控制需求,定义了PDO报文属性,见表1。

表1 PDO报文属性

基于CANopen协议的电动执行机构设计

  对于在CAN open网络中作为从节点的电动执行机构来说,TPDO是其发送给主节点的实时数据,而RPDO则是接收来自于主节点发送的数据或命令信息。由表1可知,每个TPDO和RPDO都包含2个对象字典条目:通信参数和映射参数。下面以TPDO1为例说明通信参数和映射参数的索引、子索引之间的关系,以及PDO对象的数据封装过程,详细流程,如图5所示。

基于CANopen协议的电动执行机构设计

图5 映射封装PDO

  由图5知,通信参数索引1800h下有5个子索引,分别规定了该PDO使用的COB_ID、传输类型、禁止时间及定时器周期等参数;而映射参数索引1A00h下有2个子索引,它们表示映射到该PDO中的2个对象,例如子索引1中的存放的是60000108h,表示把索引6000h,子索引01h,长度为8位的数据映射到TPDO1的第1个字节,而60000108h里存放的是用户规定的实际阀位值,当满足通讯参数中规定的传输类型时,实际阀位值就能通过TPDO1发送给CANopen网络主节点,从而实现主从节点之间的信息交互。

  3)CANopen通讯程序设计

  电动执行机构的CANopen通讯程序流程,如图6所示。

基于CANopen协议的电动执行机构设计

图6 CANopen通讯流程图

  首先,执行机构上电初始化,待初始化完成后,它发送Boo-tup报文,同时其通信状态由初始化状态切换到预操作状态,该状态下仅能进行SDO通信;在收到NMT主节点的启动报文后,节点通信状态由预操作切换到操作状态,它是系统的正常工作状态,在该状态下执行机构应用程序循环调用CAN open stack函数实现CAN open基本通讯。

  CAN open基本通讯主要包含以下三方面:实现CANopen状态转换机制、调用CAN报文收发函数处理NMT,PDO,SDO等报文,根据报文处理结果刷新实际输入和输出。其中,第二个方面是难点,因为CAN open规定的通讯报文种类较多,如何快速有效地对这些报文进行分类,并调用相应函数处理是保证系统实时性的关键。为此,在程序设计时采取了一种基于队列的分块存取报文处理模式,其基本思想,如图7所示。

基于CANopen协议的电动执行机构设计

图7 基于队列的报文处理模式