电动执行器中ADAM-5510模块的设计与应用

发布时间:2011-04-25  点击数:2644

    ADAM-5510是基于PC可编程智能控制器,可用于分布式数据采集和控制。ADAM-5510本身是独立的计算机,主要组成部分为16位80188CPU,256KB的FlashROM,256KB的SRAM,实时时钟,看门狗,2个可编程的串行通信口COM1(RS-232)、COM2(RS-485)和一个用于下载和调试程序使用的编程口。在ADAM-5510的底板上有4 个插槽,可以插接ADAM-5000系列的I/O模块。ADAM-5510出厂时在内部FlashROM上已经写入了它特有的精简操作系统——基于DOS的ROM-DOS。因此ADAM-5510不仅支持汇编语言程序,而且支持象C/C++这样的高级语言程序,但是下装到ADAM-5510的调试和执行代码必须是与80188/80186兼容的代码。ADAM-5510的最大优势在于可使用象C/C++这样的高级语言编程,除了下面提到的约束外,用户可以直接调用专用数据I/O和通信函数库,使程序设计简单易行。ADAM-5510与上位机的通信既可以采用RS-323(COM1),也可以采用RS-485(COM2),最大波特率为115.2Kpbs。由于ADAM-5510的体积小并且内置ROM-DOS是一个精简的DOS系统,因此对程序设计有如下的限制:仅支持10个BIOS函数调用,不支持delay()函数调用,可用库函数ADAMdelay()替代;仅支持三种硬件中断:NMI、COM1和COM2中断;下装到ADAM-5510的程序代码不能超过170KB。

    ADAM-5017H是8通道12位调整模拟量输入模块,单通道采样速率为1KHz。其性能指标完全可以胜任对执行器的控制。ADAM-5050是16通道通用开关量I/O模块,每个通道的I/O模块通过相应的DIP开关来设定,这里16个通道均应设为开关量输出模式。

一、系统配置

    DCS系统实例,每个ADAM-5510的四个插槽上分别安置两组ADAM-5017H 和ADAM-5050模块,这样每个ADAM-5510可以同时控制16个执行器。选择所需的ADAM-5510数量。ADAM-5510可以就地安装也可以集中安装,每个ADAM-5510经RS-485总RS-4851上线与上位机相连,通过RS-485串行通信,操作者(或自动控制程序)通过上位机可以实现对现场执行器的监控。系统配置如图1所示。

    对于每个执行器而言,由一个ADAM-5017H通道测量其位置反馈量,由一对ADAM-5050的开关量输出控制相应的固态继电器(SSR)进行控制电机的正反转电源的通断,如图2所示,根据执行器位置反馈电流源数值的不同,选择适当的电阻值R,使0~10mA的对应0~5000mV,4~20mA的对应1000~5000mV。

二、软件设计

    1、上位机与ADAM-5510间的通信协议

    为了方便程序设计,本文将系统中的ADAM-5510称为结点(NODE),下面的通信协议中就是以结点号作为系统中ADAM-5510的唯一标识的,以通道号作为该结点所控制的某个执行器的唯一标识。

    ADAM-5510和上位机通信是以上位机向指定的ADAM-5510发出控制命令,相应的ADAM-5510对其作出响应的方式进行通信的。通信采用RS-485异步串行通信方式,通信内容均为ASCII字符,波特率为9600,8位数据位,1位停止位,采用CRC校验。上位机向ADAM-5510发出的指令格式为:

    #NODE, <1> <2> <3> <4> <CR>

    语句以#NODE开始,以回车<CR> 结束。其中:

    <1>是01至99间的两位字符,用来表示系统中的ADAM-5510。
    <2>是两个大写的英文字母,用来表示上位机向该ADAM-5510发出的命令,这些命令表示和含义见表1。

表1 命令字的意义

命令字 意义
AI 请求指定结点返回所控制的执行器的位置信息
AO 向指定的执行器发出位置给定数据
DE 设定指定的执行器的死区范围
PO 查询指定结点的状态
RE 复位指定的结点

    <3>是<2>的命令参数,其内容与<2>相关,对于AI、PO和RE命令<3>,对于AO和DE命令<3>中的内容是相应的控制数据。

    <4>是语句的CRC字,用于检验语句的可靠性。

    ADAM-5510向上位机发出的应答格式为:
    !N0DE <1><2> <3> <4> <5> <CR>
    语句以!NODE开始,以回车<CR>结束。其中:
    <1>和<2>的含义同上。
    <3>和<2>的命令参数,对于AO、DE和RE命令<3>是空的,对于AI和P0命令<3>中的内容是相应的应答数据。
    <4>为1位数据,用来指明的ADAM-5510状态。
    <5>是语句的CRC字,用于检验语句的可靠性。

    2、上位机程序的设计

    为减轻ADAM-5510的负担,凡是能在上位机中完成的任务(特别地浮点运算)均由上位机实现。例如,对于AO命令中的位置给定的数据,上位机程序将其转换为对应执行器位置的毫伏电压,这样在ADAM-5510收到该数据后,只进行整数的比较运算。同样对于AI命令的应答,ADAM-5510也是在不加运算的情况下,直接将ADAM-5017H测得的对应执行器位置的毫伏电压直接上传至上位机。

    3、ADAM-5510程序的设计

    为了提高控制效率ADAM-5510与上位机间的通讯采用串行中断方式。图3是以对一个执行器控制为例的主要控制流程。根据执行器位置反馈值和位置给定值之间的偏差,控制执行器正反转。由于执行器电机动作惯性和位置反馈值测量滞后,控制程序需要设置死区范围,死区范围的选择直接影响控制系统的总体性能。因此要针对具体执行器的性能和被控制对象的实际情况而定。死区范围选择过小,易使执行器动作频繁甚至发生振荡,死区范围选择过大,执行器的定位的误差也会增大。要想既保证定位精度,又不使执行器动作频繁,就要控制执行器的往复次数。

    4、ADAM-5510的可靠性设计

    (1)看门狗。由于工业现场环境的恶劣和复杂性。现场控制程序必须设置看门狗,所以在程序的运行过程中不断将关键数据存储在掉电可保护的SRAM中,当看门狗复位或再次上电时调用这些数据将系统恢复到复位或掉电前的状态。

    (2)异常处理。控制程序中的异常处理主要是指位置反馈异常的处理。位置反馈异常的主要原因有突发的强干扰、执行器卡死、位置反馈电路故障等。对于突发的强干扰所造成的位置反馈异常在位置反馈值采集之后经过滤波算法即可有效地加以解决,而后两种故障则必须人为干预,所以要先发出故障报警信号,说明故障类型,然后对执行器断电,这样既保护设备,又便于现场的故障处理。

    实际工程应用表明,利用ADAM-5510模块控制的执行器操作灵活、控制质量高。由于引入了异常处理机制,系统不仅具有较强的抗干扰能力,而且能够及时自动提示故障类型,特别是常见的执行机构卡死和电机堵转等故障,并及时对执行器采取保护性断电处理,因此提高了设备运转率和使用寿命。