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

基于ARM的嵌入式数控系统方案研究与应用

发布时间:2012-10-31 作者:朱志红 陈蔡涛  来源:万方数据
讨论了基于ARM的嵌入式数控系统软硬件平台开发部。重点研究了软件平台的体系结构和实现。体系结构紧紧围绕满足新一代数控系统对体系结构的诸多要求进行设计,如:强实时性,高速计算能力,网络功能,开放性,友好的人机交互界面等。

    2.1数据流及其任务间通信

    数控系统的主要任务之一就是将由零件加工程序表达的加工信息转化成各进给轴的位移指令、主轴转速指令和辅助动作指令,控制加工设备的轨迹运动和逻辑动作。数控系统的数据流如图4所示。因此,各任务线程之间会有频繁的数据交换,这个过程通常是由数据缓冲区来实现的。而数控系统软件中不同的线程间要共享数据,当多个线程并发更新一个数据项目时,则出现竞争条件。数据的一致性要求任意时刻只能有一个线程更新数据项目的值,这是通过临界段(Critical Sections)来保证的。缓冲区由一个FIFO(First In First Out)循环队列实现,建立一个FIFO类,其中包含下列的成员变量和成员函数以实现对FIFO的操作。

    Class queue

    (private:int front,rear,count;

    queue_DATA buffer[MAX];

    public:void queue_inset(queue DATA&new)//新数据人队列

    queue—DATA queue_delete(void); //数据取出队列

    int queue_empty(viod); //判断是否空

    int queue_full(void); //判断是否满

    int queue_front(void); //检测队列长度

    ......;

    2.2人机接口(HMI)软件

    人机接口软件是构成数控系统软件的重要组成部分,包含状态显示、文本编辑器、MDI(手动数据输入)组件、系统监控及自诊断组件、网络组件、数据库、通用菜单等组件,是直接和用户打交道的部分。而在winCE操作系统下面利用EVC(EmbeddedVisual C++)进行HMI开发,能使用户获得和Win—dows一样友好的人机交互界面。而且EVC和现在通行的VC有着极其类似的开发环境,这又降低了用户操作的难度。在EVC环境下设计通用的窗口下拉式菜单界面是非常方便的,但是II前大多数数控系统采用的都是功能键的方式,考虑到外观与操作上的延续性,仍然选用功能键的方式设计。

    系统监控是人机接口软件的重要部分,它属于一种自诊断技术,在硬件模块、功能部件上设置各种各样的状态测试点,并且在相应诊断软件的支持下,利用数控系统中处理器的运算处理能力来实时监控数控系统的运行状态,并在发现系统故障或预知系统性能、系统运行品质劣化的动向时,及时地自动发出报警信息,以便及时处理。

    网络通信模块亦是人机接口软件网络通信模块亦是人机接口软件的重要组成部分,其主要功能是提供代码下载、系统远程监控和系统联网。在开发过程中有时候还需要其提供WinCE内核下载功能∞]。因为以前每次对WindowsCE代码更改或需要调试时,都需要重新将其烧写到存储器中,然后才可进行调试。为改变这种状况,就需要提供从远端主机下载Windows CE内核的功能。本方案中网络通信采用以太网技术。由于WinCE内核中含有网络通信模块,自从TCP/IP通信和WinSock编程,所以实现起来和Windows下实现网络通信的方法类似,十分方便。

数控系统的数据流

图4 数控系统的数据流

    2.3过程控制软件

    过程控制软件,也称为上层软件,包括编辑程序、参数设置、译码程序、PLC管理、MDI、故障显示等与用户操作有关的功能子模块。本文主要探讨一下译码程序。

    译码程序就是将零件程序以程序段为单位进行处理,把其中各种零件的轮廓信息、加工信息和其它辅助信息按照一定的语法规则翻译成计算机能够识别的数据形式,并以一定的数据格式存放在指定的内存中。一般来说编译系统速度快,结构复杂;解释系统速度慢,结构简单。该数控系统采用的是解释的方法。

    图4中的第一个处理过程就是代码的解释,解释法速度慢的缺点已经被现在越来越高速的硬件所弥补,以至于在加工过程的各个实时任务中,解释代码任务的实时性要求已经不算高了。

    在整个数控系统中,解释器作为一个单独的模块,任务就是将输入的G代码文件,逐句转换为插补器所需要的数据格式送入插补器即可。