基于UC/0S的钣金生产线控制器

以PHILIS公司的型号为LPC2294的ARM单片机为硬件平台,基于实时操作系统UC/0S的同时控制多条钣金生产线的群控系统的设计思想。系统将UC/0S-II的多任务特点与LPC2294所提供的丰富1/0接口相结合,很好地解决了群控控制的复杂以及实时性的难题。实践表明,该方法大大缩短了软硬件开发周期,提高了系统的性价比,而且软件的实时性,可靠性和可扩展性都得到了提高。

    1 引言
   
    充油式电暖器成型叶片的自动加工是由钣金生产线流水作业批量加工,也就是将成卷的薄钢板由特定的模具加工成一个个预定的形状。而自动生产线控制器是钣金生产线的核心。本文提出用ARM芯片作为控制核心芯片,在UO/DS-II实时操作系统平台上运行控制软件。实现单一ARM芯片同时控制4条钣金自动生产线。
   
    2 电暖器成型叶片加工生产线的工艺要求
   
    电暖器成型叶片的原材料是成卷的薄钢板。加工前,先放料,即将成卷的薄钢板固定在开卷机上。启动开卷机,将薄钢板输送给压平机。开卷机设置上下限传感器。当薄钢板被压平机拉紧时,触动上限传感器,自动启动开卷机使之放料,当薄钢板放出过多而下垂时,触动下限传感器,开卷机马达停止。加工开始后,压平机带动薄钢板前进,同时进行纵剪。被剪下的一小部分作为废料由回收机回收,余下大部分继续前进。进入横剪机并开始由光电旋转编码器脉冲计数,并由电脑转换成精确长度。当达到设定长度时,压平机停止,进行横剪。从放料到横剪完毕这期间,要求以压平机为主机,开卷机和回收机与之同步运行。压平机的作用一方面将薄钢板压平,另一方面带动薄钢板前进。横剪下来的钣金由输送带输送到液压压模处由模具冲压成型,然后由输送带输送,最后到达堆料处,完成一块钣金加工过程。连续运行时,不断重复上述过程。由于一台电暖器的成型叶片有多种形状,故需要多条钣金生产线,每条生产线固定安装一种形状的液压模具。在主控制器的控制下,各条生产线可同时连续运行生产。也可人工预先设定其中的指定生产线运行生产。
   
    3 硬件组成
   
    3.1 系统框图
   
    系统的硬件组成参见图1。

    控制器选 用ARM芯片作为整个系统的核心。利用ARM芯片所提供的丰富的通用I/O口(GPIO)资源,同时控制4条生产线的运作。本系统预留了CAN总线接口使控制器与上位微机通信,将生产数据上传给上位机。键盘、显示部分由于可在连续生产时脱机,故使用另一片ARM芯片,通过SPI串行接口与主控制器相连。键盘、显示部分只是在需要对控制器输入新数据时才与控制器连接,连续生产时可与控制器分离。采用非热拔插方案,只有在切断电源后才允许与控制器分离。4条生产线中只有压平机的电机需要在连续生产时由软件控制调速,而其他电机只需预调速。利用ARM芯片提供的PWM功能输出具有可软件控制占空比的脉冲信号,滤波后作为D从转换,变换成模拟电压。经变频器控制4条生产线的压平机电机的调速。生产线的控制精度由横剪机所配备的光电旋转编码器所决定。连续生产中薄钢板进入横剪机时,通过机械传动带动编码器旋转。所选用的编码器旋转一周发出3600个脉冲,按要求每个脉冲所代表的薄钢板前进长度为0.2mm时发出脉冲数,故与编码器配接的轮子直径为:2X3600/3.14159=229mm。系统通过读入编码器旋转就可换算成薄钢板走过的长度,从而精确的控制钣金尺寸,满足钣金的加工要求。每条生产线可通过各自的拨码盘设置工艺流程,系统提供8种工艺流程供用户使用。为了抗干扰,所有拍都使用了光隔离,包括CAN总线。
   
    3.2 微控制器的选用及引脚分配
   
    本设计中的嵌入式微控制器采用PHILIPS公司的型号为LPC2294的单片机。LPC2294的GPI0口比较多,达122个。这正好适合本设计中单一芯片控制多条生产线的要求。通过合理的布局,使之能同时控制4条电暖器成型叶片钣金生产线的连续生产。本系统将LPC2294所提供的GPIO分成两大部分,第一部分为共用部分,如表1所示。第二部分为4条生产线各自所需的输入输出控制,如表2所示。表2中的定义为每条生产线所有输入输出标识名,标识名所对应的I/O口由生产线1~生产线4 列相对应。序号23为PWM输出口,经滤波后转换成模拟量电压作为变频器控制输入,通过变频器调节压平机电机的转速。

nextpage    4 控制系统的程序设计
   
    4.1 对UC/0S任务数的修改
   
    系统的控制程序是建立在实时操作系统UC/0S软件平台上。UC/0S是一个嵌入式多任务实时操作系统。它构思巧妙,结构简洁精炼,具备了实时操作系统的全部功能。本文选用UC/0S-II系列的移植版本。由于同时要对4条生产线进行控制,而钣金生产线包含大量的定位,限位,检测等输入检测,以及对多个电机及液压阀的输出控制,故UO/OS-II所提供的64个任务数已不能适应本项目的需求,有必要对原有的操作系统进行扩充,将任务数扩展到256个。
   
    4.2 控制程序的软件结构
   
    软件系统如图2所示。

    控制程序以UC/0S-II为平台搭建实时多任务系统程序,将4条生产线的控制分配给各自的主任务,每条生产线的主任务再创建多个子任务。4个主任务相对独立,而子任务间通过UC/0S提供得信号量,邮箱和消息队列等机制相互通讯。UC/0S-II是基于优先级调度的实时多任务操作系统,它把每个任务分配唯一的优先级。对本系统而言,故障检测的任务应分配较高的优先级,输入检测任务也应分配较高的优先级,输出任务可分配较低优先级。如图2所示,整个软件系统共分为三个部分:硬件初始化,操作系统初始化,及控制软件。硬件初始化部分为ARM的启动代码,由ARM汇编语言写成。它实现了向量表定义,堆栈初始化,系统变量初始化,中断系统初始化,I/0   及外围初始化,地址重映射等操作。操作系统装入是将UC/0S-II在LPC220系列的移植版本装入内存,并把控制权交给操作系统。生产线控制软件由多任务组成。四条生产线各包含各自的子任务。具体分配及任务描述见表3。

    5 结语
   
    本文的上述方案应用在广东南海某电暖器生产厂的4条生产线作为控制器。试运行情况令人满意。4条生产线各自按照预定的生产程序运行,动作符合原设定的要求,定位准确,连续运行工作正常。4条生产线成品周期平均时间4秒(该时间受到液压机械的限制)。实践表明,当UCIOS与ARM硬件平台相结合,用于多机群控时,编写及调试程序非常简单。它大大增强了系统的实时性和可靠性,并且极大地提高了系统的可扩展性。在性能上完全超越了传统的PLC控制器,并跨上一个新的台阶。

作者:西部车床,如若转载,请注明出处:https://www.lathe.cc/2022/01/5422.html