浅议基于DeviceNet的智能执行器设计与开发

发布时间:2011-05-09  点击数:2536

    20世纪80年代起,国外相继推出了符合各种现场总线标准的智能执行器,在工业现场取得了较好的应用效果。我国也在这方面进行了研究,并开发了一些带现场总线接口的智能执行器。本文设计一种带DeviceNet现场总线接口的智能执行器,该执行器具有软伺放、符合DeviceNet现场总线通信标准、零点调整、行程调整、超限保护、超时保护等功能。设计完成的智能执行器与OMRON公司的DeviceNet主站(C200Hα系列PLC的DRM21单元)进行了连接。

一、智能执行器设计与实现

    1、DeviceNet现场总线技术

    本文设计的智能执行器符合DeviceNet总线标准。DeviceNet现场总线采用先进的通信概念和技术,具有低成本、高效率、高性能、高可靠性等优点。DeviceNet的物理层和数据链路层继承自控制局域网CAN(Controller Area Network),而在应用层上使用对象模型描述,DeviceNet使用抽象对象模型描绘设备间的通信关系,使用对象模拟设备功能,则对象的集合就刻画了设备的整体功能。DeviceNet还可以通过设备描述实现不同制造商生产的同类设备的互换性、互操作性和功能一致性。

    2、智能执行器硬件设计

    智能执行器的硬件结构如图1所示。

    智能执行器以单片机为核心,通过DeviceNet总线从分布式控制系统(DCS)或可编程控制器(PLC)等接收位置给定值,同时通过A/D转换获得位置反馈值,并使用一定的控制算法控制伺服电机的旋转方向及旋转角度以实现反馈值与给定值相等。设计时CPU采用ADμC812,它具有与51兼容的内核,其片内集成了模效转换器(ADC)和数模转换器(DAC),具有8 kByte Flash程序存储器、640Byte的Flash数据存储器和 256 Byte的RAM。ADμC 812片内还集成了看门狗和电源监控电路,只需扩展较少的外围器件就可以构成系统。

    DeviceNet采用CAN的物理层和数据键路层协议,故DeviceNet现场总线在硬件设计上与CAN类似。在智能执行器设计中,CAN控制器采用Philips公司的目SJ A1000,收发器采用PCA82C250芯片。为提高可靠性,在PCA82C250的TXD,RXD引脚与SJAl000的TXO,RXO引脚之间光电隔离。

    执行器的驱动电路如图2所示。

    控制器的输出(P3.0,P3.5)控制伺服电机的正转、反转以及停止,进而控制执行器位置与给定值相等。ADμC812的控制输出首先通过逻辑互锁电路,再控制2个固态继电器(KSSR1,KSSR2)接通或断开以控制伺服电机2个线圈通电或断电(电机正转或反转),其中,逻辑互锁电路用于确保2个固态继电器不同时接通,防止电机烧毁。图2表示了互镇电路的实现;其真值表如表1所示,从表1可以看出,通过逻辑互锁电路后,电机的2个线圈不会同时通电,电机出现正转、反转和停止3种状态。

表1 逻辑互锁电路真值表

P3.0 P3.5 KSSR1 KSSR2 电机状态
0 0 不导通 不导通 停止
0 1 不导通 导通 反转
1 0 导通 不导通 正转
1 1 不导通 不导通 停止

    3、DeviceNet接口软件设计

    智能执行器的软件主要包括初始化,DeviceNet应用层协议实现,电机控制,按键、显示处理,A/D转换及保护处理等部分。其中DeviceNet应用层协议实现及电机控制2部分是程序的核心。根据智能执行器的功能、需要传输的数据量以及在控制系统中的地位,本文将智能执行器设计为仅限组2从站,不具有UCMM(UnConnected Message Mananger)能力,使用预定义主/从连接组(predefined master/salve conection set)与主站通信。预定义主/从连接组有多种报文,在智能执行器中,由于输入、输出点数不多,故选用轮询命令/响应报文通信。在实现DeviceNet应用层协议时,本文没有采用DeviceNet开发工具,而是选择自己编程实现的方式。为了便于协议的开发和完善,先在PC机上实现DeviceNet协议,再将PC机上实现的程序代码移植到单片机中。采用这种开发顺序,在实现协议时可借用PC机丰富的软件工具及完善的调试手段,比直接在单片机上实现协议可行且效率更高。为了在PC机上搭建一个DeviceNet协议的调试环境,在PC机上使用了一块CAN适配卡,与OMRON公司的DeviceNet主站连接,便于协议的开发与测试。在PC机上使用C++ BUilder实现DeviceNet应用层协议,物理层和数据链路层由CAN适配卡及其驱动程序实现。在PC机上实现了Device Net协议后再将程序代码移植到单片机,单片机程序用C51设计,故程序移植的工作不是太大。

二、执行器控制方案设计

    智能执行器的位置是由单片机通过一定的控制算法控制的,执行器运行过程中,单片机采集位置反馈信号,并与设定值比较。在进行控制算法设计时,必须依据被控对象的特点进行。执行器伺服电机运转过程中存在惯量,而且电机在启、停过程中存在一个最小移动间距,这些问题都会影响执行器的灵敏度和精度。故智能执行器控制算法设计的中心问题是如何克服此2个问题对控制性能带来的负面影响。本文针对执行器伺服电机的特点,将设定值与反馈值之间的差值定义为偏差(error),同时,在控制算法中定义了2个偏差限值:即第一偏差带E1,第二偏差带E2,且|E1|>|E2|。E2就是控制死区,当偏差值落入偏差带E2,表示控制偏差已经进入允许范围内,电机停止。偏差带E1的作用是当偏差绝对值>|E1|时,电机连续旋转;当偏差绝对值落入E1时,控制输出呈方波型式,使得电机一步一步转动,执行器输出位置逐渐逼近给定值,电机的旋转方向由偏差的正负符号决定。图3表示了位置设定值阶跃输入时,位置反馈值、偏差值及控制输出的变化过程。这种控制方案既可减小电机停止时的惯量,从而减小超调量,又不会增加执行器的行程时间。

三、实验系统与结果

    为了测试基于DeviceNet现场总线智能执行器的性能,搭建的实验平台配置如图4所示。

    在OMRON C200Hα系列PLC上配置1个DeviceNet主站-DRM21单元,将智能执行器连接到DeviceNet总线,同时将用PC实现的DeviceNet节点也接入系统,这样就搭建了有1个DeviceNet主站和2个DeviceNet从站的控制系统,执行器位置给定值由控制器PLC设置,基于PC的从站节点用于监控执行器的运行状况以便于分析。经过测试,2个DeviceNet从站节点都成功实现了DeviceNet应用层协议,可以与主站可靠地通信。智能执行器的控制方案也经过了测试,将第一偏差带E1、第二偏差带E2取不同的值分别进行了试验。图 5表示当E2=±10%,E1=±1%时,执行器的阶跃响应曲线。可以看出,控制超调量很小而且几乎不增加执行器的行程时间。

四、结论

    本文设计的智能执行器支持DeviceNet现场总线,具有较好的应用前景。在进行DeviceNet应用层协议实现时,先在PC机上搭建一个DeviceNet协议的开发、调试环境,在PC机上实现应用层协议,然后再将协议实现的程序代码移植到单片机中,这种开发步骤比直接在单片机上实现应用层协议合理,取得了较好效果。针对执行器伺服电机的特点,设计了一种简单有效控制方案。与OMRON PLC连接测试的结果表明,本文设计的基于DeviceNet的智能执行器在通信及控制上都取得了较好的性能。