0 引言
随着我国制造业的飞速发展,对机加配件的加工精度和生产效率的要求越来越高,对企业生产过程的自动化程度也提出了很高的要求。棒料是各种模锻件、辊锻件、辗压件生产用的主要原料,而棒料剪断机就是为这些锻压工艺准备坯料的剪切下料设备。早期的剪切系统电气控制普遍采用交流接触器和继电器进行控制,经过长年使用,部件老化,设备故障频发。在维护中由于分立元件众多,集成度差,许多故障不能及时处理,给企业生产带来诸多不便。
由于PLC伺服控制系统具有定位精度高、响应速度快、抗干扰能力强、运行平稳等特性,采用可编程序控制器(PLC)控制系统的高精度自动剪切生产线的应用越来越广泛。但PLC还是软PLC技术,都有实时性不强的缺点,很难实现复杂、快速的时序控制,而且对网络的支持能力较差,因此,在需要对传感器信号进行高速A/D转换、实时采样以及实现企业生产过程智能化、信息化、网络化管理时,PLC就不适用了。而基于ARM嵌入式系统的出现,为工业控制提供了更好的开发与应用平台。它外设资源丰富,具备各种接口,同时提供可扩展接口,扩展方便;采用嵌入式实时操作系统,具有强大的软件处理能力,可实现复杂控制;具有PC机的诸多特点,同时又比PC机和工控机价格低;软硬件(包括操作系统)可裁剪、配置灵活;支持大屏幕液晶显示,可提供可视化界面显示;具备联网能力,可通过直接通过网口接入本地局域网或远程网,为生产的远程实时监控和管理提供了可能。
基于以上比较,本文提出一种基于ARM的嵌入式棒料剪切生产线数控系统,该系统以ARM处理器为核心,搭载嵌入式Linux操作系统,具有可扩展的输入、输出控制I/O节点及多种现场总线接口、能实现剪切自动控制、挡料器控制、自动翻转送料架控制、提高棒料加工精度;支持大尺寸LCD显示屏,支持网络和嵌入式数据库,智能性、实时性好,方便生产过程协调监管、监控,嵌入式数据库能够实现加工数据的有效管理,可自动完成加工轨迹的各种调整与控制,实现自适应的模型参数调整。
1 总体设计
整个剪切生产线系统包括中心控制机、切割系统、挡料器和自动翻转送料系统。总体框图如图1所示。
图1 总体框图
实际的电气部件包括操作台按钮、显示灯,各种控制开关及电动机。其中操作台包括旋转编码器、自锁式按钮、普通按钮、钥匙按钮、二位置旋转按钮、转换开关、计数器、显示灯;控制开关包括接近开关,压力开关,液位开关,行程开关,凸轮开关,光电开关;电磁阀,交流继电器,交流接触器;电机包括主电动机、出料电机、挡板电机、润滑电机。此外还有变压器、断路器及噪声滤波器等部件。
2 中控机系统
该中控系统以ARM9核心板为中心,通过GPIO扩展板将有限的输入输出I/O扩展成足够数量的输入输出控制节点,能够接收系统中各种按钮、凸轮开关、光电开关等输入开关信号;根据程序和预先设定的参数,给出输出开关量,控制电磁阀、继电器、接触器的动作,同时通过高速脉冲输出向伺服驱动器发出一定数量的脉冲数,控制伺服电机的运转。输入及输出接口都使用光电隔离模块,既实现了抗干扰的目的,又能够实现对接口部分的电平转换。根据ARM输出端信号,变频器控制电动机的正反转及转速,从而实现对卷料的释放和回收。伺服驱动器根据ARM板高速脉冲输出端发出脉冲的个数、频率控制伺服电机的转动位置及速度,从而精确地给出送料长度。采用10英寸液晶显示屏,为用户提供了良好的人机交互界面,用户可以通过该屏幕直接设定参数,整个剪切系统的工作状态、动作信息可以直观地反映给用户。ARM与变频器、伺服器之间通过RS232串口通信,实现程序下载、参数设置、状态查询等即时的数据交换,最终使整个生产线设备能够协调运行。中控机框图如图2所示。
图2 中控机框图
2.1 ARM核心板
ARM核心板基于ARM处理器S3C2410X,采用6层板设计。S3C2410X使用ARM920T核,内部带有全性能的MMU(内存处理单元),具有高性能、低功耗、接口丰富和体积小等优良特性。该芯片集成了大量的功能单元,包括:内部1.8V,存储器3.3V,外部I/O3.3V,MMU;内置外部存储器控制器;LCD控制器,1个LCD专用DMA;4路带外部请求线的DMA;3个通用异步串行端口,2通道SPI;一个多主IIC总线,一个IIS总线控制器;SD主接口版本1.0和多媒体卡协议版本2.11兼容;2个USBHOST,一个USBDEVICE(V1.1);4个PWM定时器和一个内部定时器;看门狗定时器;117个通用I/O;24个外部中断;电源控制模式:标准、慢速、休眠、掉电;8通道10位ADC和触摸屏接口;16/32位RISC体系结构,使用ARM920TCPU核的强大指令集。
该核心板在尽可能小的板面上集成了64MSDRAM、64MNandFlash、1MBootFlash、RJ-45网卡、音频输入与输出、USBHost、USBSlave、标准串口等设备接口,最为重要的是使用2.0mm插针槽引出CPU的大部分信号引脚,包括系统中尚未使用的GPIO引脚。
ARM920T带MMU的先进的体系结构支持WINCE、EPOC32、LINUX等,文中选择的是免费开源的嵌入式Linux操作系统。基于该硬件平台及嵌入式Linux,做了操作系统移植、驱动程序编写和应用程序开发等软件工作。
2.2 控制母板
中控机箱内采用母板+ARM核心板+I/O扩展板方式,母板用来与ARM9板连接,实现网口USB、串口、电压转换、连接液晶屏等功能,同时在母板上还包括一定数量的可用的GPIO,包括10个输入,12个输出。I/O输入输出选用DB头接插件,方便连接。中控机内的开关电源为24V,电流可达4A.电源电路实现24V电压到12V/9V/5V/3.3V的转换,满足不同电路需要,稳压芯片使用LM338。ARM9核心板自身带有3个RS232串行接口,考虑到传输距离和抗干扰要求,在底板上设计了专门的转换模块将RS232转换为RS485电平。ARM9核心板自带USBHOST,使用USBHUB将其分为多路,分别可供键盘电路和鼠标使用,其他路向外输出。
2.3 GPIO扩展及隔离
GPIO扩展及隔离电路被设计到独立的电路板,用来实现I/O端口数量的扩展,可互换。每块扩展板上包括64个输入,64个输出。扩展板放在母板上方,用金属柱支撑,高度能保证二者不干涉即可。扩展板与母板之间以扁平电缆连接。扩展板的扩展I/O输入输出也选用DB头接插件。GPIO扩展有2种方案。一种是采用CPLD扩展,目前ARM板可使用的I/O口,大约有20个。如果用最简单的扩展方法,使用8个I/O用作数据线,使用4个I/O产生16个译码片选信号,这样可扩展成128个I/O。如果对外部按键采用扫描方式,那么可以节约一部分引脚。该方案只要ARM确保提供一定数量的I/O脚,具有较大可行性。ARM针对普通的I/O口操作既可,编程控制起来较容易,但在CPLD的编程上要花一些时间。第二种方案为使用专用扩展芯片实现扩展。现有ARM板扩展口中有2种串行总线接口:IIC总线和SPI总线。如果选用现成的I/O扩展芯片,如MAX6957,为IIC接口,一片可以扩展28个I/O,如果用4片就可以扩展到100多个I/O。该方案需要开发ARM的针对IIC设备的驱动程序。文中实际选用的是74HC595及74HC166芯片,多片串联,使用较少的I/O引脚成功实现并入串出和串入并出控制。
GPIO实现扩展后,可提供足够数量的输入I/O和输出I/O。系统中的大量开关或显示灯,作为开关量输入或输出,连接到这些扩展I/O即可。由于这些开关量的电平值大部分不是TTL电平或CMOS电平,需要进行电平转换;显示灯需要足够的驱动电流,继电器需要一定的驱动电压和电流;而且,系统中有大量的强电信号,为充分考虑提高系统的抗干扰能力。基于以上考虑,设计了电气隔离及驱动模块,普通的较慢变换的开关信号采用TLP521隔离光耦,针对高速脉冲采用高速光耦。
2.4 电机控制
根据ARM板输出端信号,变频器控制电动机的正反转及转速,从而实现对卷料的释放和回收。
对变频器来说,输入控制信号来自于隔离扩展板,通过设置不同的短路和开路组合,可以实现正转、反转、高速输出及低速输出,其中高速、低速是可以通过速度选择端口来预设的。其他有关特征、状态的参数可以通过操作面板预设。
3 数控系统软件设计
数控系统软件要实现用户接口、剪切控制、故障检测、数据库管理、联网等功能,由于系统软件引入嵌入式操作系统,所以各任务可以并行执行,任务间可以通过消息传递、队列等实现,软件流程图见图3。由于篇幅所限,仅画出用户接口、剪切控制、故障检测3个任务的流程,省略数据库管理、联网两个模块。为实现用户接口、剪切控制、故障检测、数据库管理、联网等功能,需要对嵌入式操作系统及Bootloader移植、驱动程序开发、应用层剪切控制程序软件开发及数据库开发几个部分进行研究,从而支撑整个系统软件流程,实现系统功能。系统软件流程图如图3所示。
图3 系统软件流程图
3.1 嵌入式操作系统及Bootloader的移植
Linux移植就是根据具体目标平台,对原有Linux的源码进行必要的改写,主要是修改体系结构相关部分,安装到目标平台,使其正确运行起来。为了引导操作系统,必须依赖Bootloader在上电初始化硬件设备,准备软件环境,因此,在项目中,以ARM9硬件系统为平台,选择VIVI作为Bootloader,完成了Bootloader和嵌入式Linux操作系统的移植。
其基本过程是:
(1)获得VIVI源码并对其进行修改;
(2)获得Linux2.4.18内核源码及该版本针对ARM的补丁,并对源码进行必要的修改;
(3)准备交叉编译环境。交叉编译环境工具链一般包括Binutils工具,ARM-GCC,GLIBC等;
(4)交叉编译Bootloader,生成映像文件并下载;
(5)增加GPIO等外设驱动;
(6)交叉编译Linux内核,生成内核映像文件,并下载内核映像文件。
3.2 驱动程序及通讯程序开发
根据实际需要,以ARM9为核心,研制系统主板,并针对实际需求进行硬件驱动程序开发。其中GPIO驱动程序既包括对按键、LED显示的支持,也包括对继电器控制等I/O的支持。在编译内核时,选择在需要时动态插入内核,增加灵活性。针对跨平台通讯,编制代码转换程序,并对Linux操作系统环境进行配置,完成上位机GB2312编码与下位机AMR9—LinuxQTEUNICODE编码间代码格式转换;系统软件支持10英寸DSTNLCD及TFT真彩LCD,采用嵌入式图形系统之Qt/EmbeddedC++进行程序开发,以便于跨平台移植、方便数据库连接和开发过程,并增加了产品的可靠性。
3.3 剪切控制程序
3.3.1 系统控制要求
(1)运行方式。生产线各主要设备具有手动/自动两种工作方式。当采用自动工作方式时,系统将按预先设定的工艺流程不间断地循环工作。而手动工作方式是在设备单动、调试和检修阶段使用。
(2)实时显示。系统中各个工序的运行情况、报警信息、送料长度、质量和加工工件数量等信息都要求在屏幕上显示。
(3)故障检测。系统能够自动检测各个工序的运行是否正常,如果出现异常,在屏幕上显示错误信息,同时生产线停止运行。故障解除后按启动按钮生产线继续运行。
(4)紧急停止。当出现紧急情况时,一按下急停按钮,所有正在运行的设备全部停止。
(5)安全保护。在程序设计过程中,对关键环节设置多重防护,避免人身及设备事故的发生。系统上电后将自动启动。
3.3.2 基本操作
初次运行,将控制台的联机-脱机状态切换至脱机状态,手动按控制台上的定尺+/定尺-,控制挡料器运动到原点。通过系统校零,并输入棒料直径、重量补偿、比重、挡料原点等值后,系统将自动计算出需要剪切的长度值并显示出来。当按下“自动补偿”,系统将调整挡料器位置,当“计算长度”与“实际长度”一致时,发出“同步信号”,同步输出灯变绿,机床可进行剪切动作了。此外,系统还可通过“重量补偿”,使棒料剪切更加精确。系统控制开始为正转高速工作状态,当快接近目标时改为“低速正转”工作状态;系统在工作时,实时监控挡料器的位置,每当挡料器发生串动后,数控机自动进行调整,并设有“急停”按键,停止机床的工作;系统能够自动滤掉错误操作。
3.4 嵌入式数据库
嵌入式数据库采用关系型数据库的三级模式,支持标准SQL,支持数据查询、插入、更新、删除多种标准的SQL语句,充分满足嵌入式应用开发的需求;具有事务处理功能,自动维护事务的完整性、原子性等特性;支持多种通讯协议,备份和恢复,错误日志等;具有高的灵活性、可扩展性及稳定性;同时为嵌入式应用的开发提供了灵活的应用编程接口:C语言例行程序接口,内存需求低,且具有较高的执行效率。目前很多嵌入式设备是依靠数据为中心的,如果只有文件系统,在并发、共享、结构化存取上无结构,全依赖操作系统和文件系统,是远远不够的。因此,采用嵌入式数据库,完成工业控制数据的采集、存储,及指令存储与下达,实现控制机方便快捷移动、大数据量存储、当前和历史数据查询。通过采集数控网络系统的数据,完成机床加工程序的实时还原,根据反馈信息制定新的解决方案,为质量管理的分析提供原始依据。实现了管理信息与控制信息融合。通过JNI的方式调用C/C++编写的数据库驱动—动态连接库(DLL)进行数据操作,解决嵌入式数据库不提供Java的JDBC数据访问接口问题。
4 结论
文中采用了高性价比的嵌入式处理器ARM9,替换了老式工业控制微机,进行了Linux操作系统裁剪移植、自主开发硬件控制驱动程序,采用TCP/IP协议,美观优雅的QT用户图形界面以及符合国际标准SQL的嵌入式数据库。应用了该数控技术的剪切系统,具有较强的高速数据采集和多种直接I/O节点控制能力,可以实现任意设定加工参数,既具备PC数控机床的信息处理、存储、网络传输能力,又满足了精度高、体积小、功耗低的现代工控理念,是对现有的数控技术的一次技术革新。