浅议基于DeviceNet的气动阀门定位器设计

发布时间:2011-04-06  点击数:2981

    目前,自动控制系统正从DCS向FCS过渡,这就要求包括调节阀在内的执行元件必须具有现场总线网络通信功能。在多种现场总线标准中,基于控制局域网(CAN)总线接口标准的设备网(DeviceNet)具有接口简单、抗干扰性能强、开放性好等多种优点。我国把它作为国家标准GB/T18858.322002发布于2003204201开始实施。调节阀是自动控制系统中常用的执行元件,特别是气动调节阀具有响应快、抗干扰能力强的优点,在生产实际中广泛应用。设计基于DeviceNet的气动阀门定位器,具有很好的实用价值。

    图1是气动阀门的工作原理,阀门定位器从DeviceNet总线上接收当前阀门位置的给定值,从阀门行程反馈信号得到前阀门位置的反馈值,根据控制算法计算出4~20mA控制信号送入I/P变换器,I/P的输出被送到气动放大器组件。该组件也同样与气源相连,将从I/P转换器来的小气动信号放大成为单作用执行机构所用的单个较大的气动输出信号。在双作用执行机构应用中,放大器接收来自I/P转换器的气动信号,并提供两个气动输出信号。送给执行机构的放大器输出压力的变化引起阀位移动。仪表的行程经反馈连杆驱动电位计指示阀位的位置的行程开关的状态。

图1 阀门定位器工作原理

    电位计电气上与阀门定位器连接,以提供用于控制算法的行程反馈信号。开关位置检测阀位全开和全关阀门定位器的硬件主要包括阀位检测、开关状态输入、DeviceNet网络接口、操作按键以及状态指示等电路。软件主要包括DeviceNet服务程序、PID控制算法程序、按键检测与状态显示程序。

一、硬件设计

    阀门定位器的硬件设计主要包括与DeviceNet相关的电路以及与阀位检测控制相关的电路两大部分。前者必须依据DeviceNet规范,尽量采用规范推荐的电路。它主要包括电源转换、通信接口、状态指示、设置开关几个部分。其中设置开关用于设置DeviceNet的节点地址—MAC D,以及网络数据传输速率两个网络基本参数。MAC D范围等于0~63,要用6位拨码开关,数据传输速率有125、250与500kbps三种,需用2位拨码开关。其余三个电路如图2所示。选用Microchip公司的PIC18F系列单片机中内置10位A/D和CAN控制器接口的CPU。

图2 电源转换、隔离通信接口、状态指示电路

  规范中详细规定了网络状态以及模块状态的指示内容和显示方法。依据规范,图2中用红/绿双色LED灯MNS的颜色、闪烁、保持等不同的状态来综合显示网络以及模块当前的状态。另一个双色指示灯IO用来表示阀位的状态,对此规范中没有明确说明。我们定义如表1所示。

  为增强控制器可靠性采用两片高速光耦6N137作为隔离栅,把网络总线与本控制器从电气上隔离开来。使用DC/DC电源变换器U14从DeviceNet电源线上获得一路非隔离+5V电源OUT1给CAN通信收发器MCP2551供电,另一路隔离电源VCC提供其它电路所需电源。要注意总线供电电压的有效范围是11~25V。肖特基二极管D1防止把电源线V+错接到V2端子上时产生损坏,晶体管Q1防止当V2没有接线导致损坏。Q1与电阻R1、R2还能防止地线断路。

    阀位检测与控制电路如图3,虚线框内的部分是阀门内部器件。阀位反馈采用滑动电位器RV来获得,开到位与关到位的行程开关状态经光耦TLP521-2输入到CPU中。其中的R11、R8分别用来防止电源VCC、V+短路。VREF+与VREF-分别是CPU内置A/D的参考电源的正极性端子和负极性端子,在数值上分别对应A/D转换结果的满刻度值和零值,对应阀位的开度最大与最小的位置。AN0连接到CPU内部A/D的模拟信号输入端,它与VREF-之间的电压线性地反映了阀门开度的大小。

图3 阀位检测与控制电路

    阀位控制采用10bit电流输出型D/A转换器MAX5550把数字控制信号转换为4~20mA的电流信号,经由OUTA引脚送入电气转换器,再返回到地线GND引脚,调节气压而改变阀门位置。

二、DeviceNet对象模型设计

    我们采用位置型递推形式的数字PID控制器。设第k个采样周期输出控制变量为u(k),阀位给定值为r(k),阀位实际值为y(k),偏差值为e(k)=r(k)-y(k),则其算法表示如下:

   

   

    式中:T  —采样周期;
          K—比例系数;
          TI —积分时间常数;
          TD —微分时间常数。

    它们的数值从DeviceNet网络以参数形式获得,定位器还从网络上得到阀位的给定值。同时定位器把当前阀门的实际位置,当前误差的大小,开到位与关到位状态传送到网络上。当然还要接收“运行/停止命令”以及返回当前“运行/停止状态”。于是,与应用有关的对象模型如表2所示[2]。

表2 阀门定位器应用对象模型

    DeviceNet的节点在应用层被模型化为多种“对象”的集合。对象分为与通信有关对象和与应用有关对象。每个对象具有“属性”,通过“行为”对“事件”做出反应,对外提供“服务”。DeviceNet规范定义了许多标准“对象类”,用不同数值的“类编码”来区分。将对象类中定义的每种“属性”赋以确定的值即形成一个“对象实例”,每类对象可以创建多个对象实例,对每个实例分配不同数值的“实例ID”。节点就是许多个“对象实例”组成。基本应用对象有离散量输入点类、离散量输出点类、模拟量输入点类、模拟量输出点类。此处“输出”、“输入”是从网络角度来定义的。

    DeviceNet通信是基于“连接”的“面向生产者”数据传输技术。报文发送方称为“生产者”,接收方称为“消费者”。传输时指定报文的“生产者”,接收方根据自身要求决定是否接受该报文。标准中定义了“连接类对象”,每个连接类对象实例标定一个传输数据的类型,同时指定数据的“生产者”或者“消费者”。连接对象是单向传输的,双向传输要用两个连接实例标识码。表2列出定位器中与应用有关的对象模型及其连接类对象实例。

    与DeviceNet网络通信有关的对象列在表3中。其中标识对象决定于拨码开关设定的MAC D,DeviceNet对象对应于设定的传输数据速率,路由器对象实现报文路由选择与管理。

表3 阀门定位器DeviceNet对象模型

    DeviceNet报文分为“显式报文”和“I/O报文”两种。I/O报文就是表2中所列的对时间要求严格的实时数据和状态信息,通过I/O连接来传输。显式报文的内容由DeviceNet标准定义,其意义对于所有的设备都是相同的、明白清晰的,通常包含配置、诊断信息,它们对传输实时性要求不太高,通过显式连接来传输。显式报文管理器实现这类报文的发送和接收处理过程[3]。

三、软件设计

    软件主要功能是帧的组合与分解,以及各个对象实例的行为、服务的实现、控制器算法设定、LCD显示、指示灯显示、按键设定等功能。软件结构层次关系如图4所示,也分为DeviceNet网络通信程序和阀位控制程序两个部分。

图4 软件程序结构

  DeviceNet网络是基于CAN通信标准的,其逻辑链路控制、介质访问控制、物理信号编码都符合标准CAN规范。CAN规范中的仲裁、检错、重传、滤波、缓冲等功能都由CAN控制器完成。PIC18F258CPU内置有符合DeviceNet规范的CAN控制器。CAN控制器驱动程序要对CAN控制器进行初始化、往发送缓冲区写入数据、从接收缓冲区读取数据。连接类(显式报文、I/O)对象要实现标准帧的封装、分段处理。各类对象实例的行为是由事件驱动的,主要事件包括网络通信请求与应答、定时器触发、外部输入/输出信号变化。整个软件被分为:主程序、CAN驱动中断服务程序、定时器中断服务程序、其它I/O中断服务程序几个部分。各个中断服务程序对所监测的事件进行分析、判断,向主程序提供各种事件的状态标志,主程序根据各种事件标志对各个对象实例的状态、属性数值进行调整,实现对象的各种行为。

    考虑到工业现场干扰多,我们综合采用中位值与算术平均值两种数字滤波技术以提高抗干扰能力。取阀位行程反馈信号的连续5次采样,按数值从小到大排列,丢弃最大值和最小值,再取中间3个数值的算术平均值作为滤波结果,供PID调节器以及显示、通信程序调用。这种滤波方法既能大大减少脉冲干扰,又可有效减少白噪声干扰,具有良好性能。对离散的开关状态信号的滤波采用一致判断原则,连续2次读取检测值并比较,若2次结果相同则以该值作为开关的真实状态,否则再采集一次。

    通常认为,当开到位,行程开关动作认为阀门开度是100%,而当关到位,行程开关动作认为阀门开度是0。一般情况下,当开度等于100%时,A/D结果不会等于最大值3FFh,而当开度等于0时,A/D结果也不会等于最小值00h。所以要对阀门开度进行自动标定。当连续按住“自动标定”按钮超过1min,进入自动标定程序,自动控制阀门使其由全关到全开循环两次,从而记录下A/D结果的数字量的最大值Xm与最小值Xn。若当前采样结果为X,则对应实际阀门开度的百分数为:

   

    显示处理程序首先要依据DeviceNet规范,把定位器状态以及网络通信状态通过MNS双色LED正确显示,其次要把阀门的动作状态显示到IO双色LED上,最后根据需要,还可把实际阀位通过LCD或LED显示器显示出来,以供参考。

    软件设计中主要考虑几个问题:

    ① 通信的实时性。DeviceNet在125kbps传输速率下,传输一帧数据的最少时间间隔只有376μs,最大时间间隔只有888μs。在设计接收缓冲区长度时,要考虑最大数据帧的字节数,不能出现数据丢失情况;
    ② 软件结构合理,中断服务程序尽量简短,主程序周期循环运行,实现对象实例行为;
    ③ 合理安排清看门狗定时器指令,以保证在正常工作循环中定时器不会溢出,在出现死循环状况时一定会溢出。

四、结论

    DeviceNet网络采用CAN总线通信,可靠性高、易于实现。应用层标准是开放的,不收取使用费,成本低。设计基于该标准的气动阀门定位器具有较大的实用价值。本文提出的定位器架构简单、可靠性高,所给出的硬件原理、对象模型、软件结构具有很好的参考意义。