最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于ARM及嵌入式Linux的线切割数控系统开发

发布时间:2012-09-02 作者:吴文君 顾琳 徐笠云 董大为 曹锟 赵万生  来源:万方数据
文章介绍了一种基于ARM9嵌入式硬件平台及嵌入式Llnux操作系统的电火花线切割加工数控系统的实现方法.通过构建2.6内核版本的嵌入式Linux系统,并将嵌入式GUI解决方案QtopiaCore4移植到该系统,建立了交叉编译环境,在此基础上成功地开发了电火花线切割加工数控系统软件原型.

    3.2 Qtapia4的交叉编译

    本课题采用QVQtopia工具进行应用程序开发。要在ARM板上移植、运行Qt4开发的应用程序,必须交叉编译Qtapia4并进行库移植。采用arm-linux-gcc-3.4.1版本的交叉编译器编译进行编译,主要编译配置如下:#./configure-v-little-endian-embedded:arm-prefix/mnt/nfs/qtopia_arm,配置结束后使用#make &make install命令后即可在/mntlnfs/qtapia_arm目录下生成所需的嵌入式库文件系统。

    3.3 NFS运行方式

    NFS(Network File System,即网络文件系统),它是一种将远程主机上的目录通过网络连接到本地主机的一种机制。通过对网络文件系统的支持,用户可以很方便地在本地主机上操作远程主机上的共享目录。通过建立网络文件系统能够实时在线地对程序进行编辑、调试、运行,极大地提高了嵌入式Linux下的应用程序的开发的效率。启动开发板,在终端命令窗口下运行命令:# mount-t nfs-o nolack192.168.1.200:/mnt/nfs/mnt/nfs即可以把主/mndnfs目录下的内容挂载到开发板相应目录上,其中192168.1.200是主机的IP地址。进入该文件夹,设置好必要环境变量就可以启动运行应用程序。应用程序在PC主机和ARM开发板上运行效果分别如图3a图3(b)所示。

应用程序PC主机运行

图3-a 应用程序PC主机运行  图3-b应用程序ARM上运行

4 嵌入式Linux线切割数控软件设计

    数控系统CUI界面的设计要求美观、操作方便,能适合车间实际生产环境及操作者使用习惯等要求。软件设计内容主要分为以下几个部分:

    4.1文件及图形操作

    本系统的设计能够读取常用的数控代码,且能够对其编辑、修改及存储;能根据程序指令生成轨迹图形、模拟仿真加工以及对图形的缩放、移动等操作。Qt4的二维图形引擎是基于QPaint类的,可以绘制点、线、圆弧等几何图形,也可以绘制文字及图像等。文章作者经过开发实践,发现在嵌入式Qtopia库中图形显示模块,必须采用QPaint类中的paintEvent()函数进行绘图功能操作,否则在ARM9开发板运行时图形不能够正常显示。

    4.2机床操作及参数设置

    对机床操作的功能有启动、停止、移动、找边、回零、设置参考点、自动找内外中心等,系统操作上支持鼠标点击和键盘快捷键;系统能够设置工艺参数及实时调整,自动检测电机缺相、短路回退及电极丝半径补偿设定等功能。

    为了实际操作方便及预防断电等事故发生,程序设计了系统定时自动保存加工状态参数功能,待每次机床重新开机运行后,自动提取并加载先前的加工状态参数,快速恢复到加工状态。

    为了实现线切割加工机床的短路回退控制,须定义一个环形缓冲区保存一定长度的已加工轨迹,并且能够对这个轨迹缓冲区进行存人和取出两个操作。在进行回退控制时,取出环形存储器中所记忆的路径,进行回退处理,对于要求回退路径较长的情况,采用逆向插补功能可对整段程序进行全程逆向插补。

    4.3数控代码解释器

    数控代码解释器的作用是将用户编写的数控程序重新编排,按约定格式解释成加工数据存储在代码缓冲区中。在代码缓冲区中的数据再经过后续的预处理后,放到插补缓冲区,以供插补线程进行插补运算。本文所实现的线切割数控系统是利用Lex和Yacc工具构造数控代码解释器的。

    实现对NC代码的解释,首先要对NC代码进行词法和语法格式检查,同时获取NC代码中的加工信息,生成中间数据信息。接着根据NC代码所代表的功能,如涉及电极丝半径补偿指令,还需进行电极丝半径补偿处理,同时对NC代码进行语义分析,检查其语义错误,最后生成数控系统插补模块所需的运动轨迹及相关加工数据。