基于arm的嵌入式数控系统g代码解释器的制作方法

文档序号:6280208阅读:189来源:国知局
专利名称:基于arm的嵌入式数控系统g代码解释器的制作方法
技术领域
本发明属于一种机电一体化的数控技术领域,具体地讲是在一种基于ARM7芯片作为主控制器的嵌入式数控系统的基础上所开发的数控加工用基于ARM的嵌入式数控系统G代码解释器。
背景技术
传统的数控系统的G代码解释器基于工业PC机的数控系统,其主要功能是将用文本格式(通常是ASCII码)表示的零件加工程序,以程序段为单位转换为后续程序所需要的数据结构或格式。传统的基于工业PC机的标准NC代码(ISO6983)编写的程序不具有分支和循环等结构,结构不完善,而且数控系统的编译过程一般是专用的,不同的数控系统有不同的编译系统,因而这种G代码解释器的通用性较差。目前,国际上影响较大的开放式数控系统的研究项目有美国的OMAC、欧共体的OSACA、日本的OSEC等,我国也相继开发出了华中I型、航天I型等开放式数控系统。2001年我国政府支持开展了开放数控系统规范(ONC)的研究,该研究充分利用PC机资源,发展基于PC的数控系统。这种基于PC机的数控系统具有很好的开放性、软件和硬件资源丰富、智能化和网络化程度较高等优点,比较适用于中、高档数控加工领域。而工业PC计算机在运行时由于采用通用的操作系统,占用了很大的系统资源,与数控加工无关的任务可能占去了系统更多的工作份额,它们干扰着系统对现场加工的及时响应,降低了系统对重要控制时间的处理速度,增加了系统运行开销,会导致系统的不稳定。这样,在数控系统中传统的基于PC机的数控系统的G代码解释器对G代码的解释时间非常长,有时候无法满足高速高精度的控制要求,软件的稳定性和可靠性较差。
然而,在普及型和经济型数控领域,嵌入式数控系统有着独到的优势,它采用“量体裁衣”方式把所需功能嵌入到应用系统中,可克服基于通用PC机结构的控制系统在体积功耗方面的缺陷,已成为现场工业数控加工发展的方向;它可运行嵌入式实时多任务操作系统,软件开发和移植容易,非常适合应用于工业控制场合。并且一块作为嵌入式数控系统主控制器的嵌入式微处理器才不过一百多元,再加上所采用的实时控制操作系统是免费开放源代码的,不会有软件版权使用上的额外开销,这些都使得成本有了很大程度的降低。。

发明内容
本发明的目的是提供一种与传统的基于工业PC计算机的数控系统G代码解释器相比,提高了实时性和可靠性,降低了系统体积和成本的基于ARM的嵌入式数控系统G代码解释器,以克服上述的不足。
为实现上述发明目的,本发明采取的技术措施是嵌入式数控系统采用32位结构的ARM微处理器作为主控制器,在此基础上开发的嵌入式G代码解释器采用流水线处理方式的G代码解释方法,以流水线的方式对加工代码进行编译—解释,代码程序一段段读入内存中,在“前置处理—数据转换—后置处理”过程中,数据缓冲区内不断得到处理,最后形成插补程序可以识别的数据结构,象一条流水线一样进行工作。在加工零件时,程序输入、译码、插补和位置控制4个过程在处理时间上是重叠的,同时在译码过程中,各个子过程在处理时间上也是重叠的。G代码解释器的工作过程分为4个子过程程序读入、语法检查、解释和刀具补偿。在ARM嵌入式数控系统的主控制器中移植了U-cos11实时多任务操作系统,在设计G代码解释器时,将上面4个过程定义成4个任务,各任务之间通过邮箱进行消息传递,一旦CPU有空隙时间,译码任务即被激活,依据不同的状态向各个任务发送消息,执行对缓冲区的处理。当G代码解释器工作时,解释任务运行,根据实际情况分配数据缓冲区存放编译的中间结果。在译码任务启动的时候开辟译码缓冲区,在任务结束时释放,在整个译码缓冲区生命期间,数据不断的写入、修改、读出和清除。在嵌入式数控系统G代码解释器中,最上层应用程序在ARM7中以图形化界面的方式向用户提供。其特点是所述基于ARM的嵌入式数控系统的主控制器采用32位冯.诺.依曼结构的微处理器S3C44B0芯片作为主控制器,实现文件系统管理、内存管理、人机接口、网络接口、系统管理界面、仿真显示和G代码编译和解释功能。
所述G代码解释器采用流水线处理方式的G代码解释方法,以流水线的方式对加工代码进行编译—解释,代码程序一段段读入内存中,在“前置处理—数据转换—后置处理”过程中,数据缓冲区内不断得到处理,最后形成插补程序可以识别的数据结构,象一条流水线一样进行工作。
所述嵌入式数控系统中ARM主控制器中移植了U-cos11实时多任务操作系统,将程序读入、语法检查、解释和刀具补偿等4个过程定义成4个任务,各任务之间通过邮箱进行消息传递,当G代码解释器工作时,解释任务运行,根据实际情况分配数据缓冲区存放编译的中间结果。
本发明采用嵌入式思想,采用ARM7系列的微处理器S3C44B0芯片作为数控系统的主控制器,并在此基础上开发了一种嵌入式G代码解释器。本发明在硬件上可以针对不同的机床、不同的加工对象、不同数目的进给轴、不同的伺服电机,灵活地选取和配置不同功能的嵌入式模块;在软件上采用标准C语言编写,可适合于不同的软件操作环境,具有很强的可移植性。由于本发明采用了以上技术方案,克服了目前基于PC体系的数控系统在体系结构、实时性、可靠性和成本方面的缺陷,以流水线的方式对数控加工代码进行编译和解释,减少指令执行的时间,增强嵌入式处理器的G代码处理能力。


图1为本发明的硬件结构框图。
图2为本发明的G代码解释器工作流程图。
图3为本发明的G代码解释器缓冲区链表结构图。
具体实施例方式
下面结合附图对本发明作出进一步详细的说明。
图1是嵌入式数控系统的硬件结构框图,在ARM7主控制器中,包括了G代码解释模块、软PLC核、移植的Ucosii实时操作系统、DSP接口、存储模块以及各种外围接口模块。ARM7主控制器的主要任务是实现人机界面,完成加工程序的输入、预编译、轨迹计算、速度计算和加工零件图形的模拟仿真等任务。在ARM7主控制器中,G代码解释模块是核心模块。其工作过程是用户输入G代码后,由代码解释器将代码翻译成数控系统能控制各个电机的指令,包括G指令、M指令、S指令、F指令和T指令等。当执行G指令时,系统调用插补算法模块、补偿模块和位置控制模块,直接控制进给电机的运动。G代码程序中的M指令、S指令和T指令等属于附加指令,是数控系统实施外部操作的重要功能,如控制主轴电机的起停、冷却液的开关、夹具的松夹、润滑的工作、防护门的开关等。当G代码解释器执行到附加指令时,它把控制代码送到PLC,由PLC译码辨别数控程序的操作要求,再通过PLC程序控制外部电路执行,系统中的PLC模块用软件实现,可以节约成本和减小体积。
图2是嵌入式数控系统的G代码解释器工作流程图,采用一种流水线处理方式的G代码解释方法,以流水线的方式对加工代码进行编译—解释,减少指令执行的时间,从而增强了嵌入式处理器的处理能力。这样,代码程序一段段读入,在“前置处理—数据转换—后置处理”过程中,数据缓冲区内不断得到处理,最后形成插补程序可以识别的数据结构,象一条流水线一样进行工作。在加工零件时,程序输入、译码、插补和位置控制4个过程在处理时间上是重叠的,同时在译码过程中,各个子过程在处理时间上也是重叠的。在本嵌入式数控系统中,在ARM主控制器中移植了U-cos11实时多任务操作系统,在设计G代码解释器时,将程序输入、译码、插补和位置控制4个过程定义成4个任务,各任务之间通过邮箱进行消息传递,一旦CPU有空隙时间,译码任务即被激活,依据不同的状态向各个任务发送消息,执行对缓冲区的处理。
图3是嵌入式数控系统的G代码解释器缓冲区链表结构,当G代码解释器工作时,解释任务在运行,根据实际情况分配数据缓冲区存放编译的中间结果。在译码任务启动的时候开辟译码缓冲区,在任务结束时释放,在整个译码缓冲区生命期间,数据不断的写入、修改、读出和清除。缓冲区是预先分配的,无须动态分配。在本系统中,设置了6个缓冲区形成链表结构,在每个缓冲区设置一个标志位BufFlag,当BufFlag为0时表示缓冲区为空;当BufFlag为1时表示缓冲区中的数据需要进行一些数据处理,如刀具补偿、速度计算等;当BufFlag为2时,表示缓冲区中的内容已完成数据处理,可以传递给插补程序控制电机的运动。
本发明在所开发的基于ARM的嵌入式数控系统的基础上开发的嵌入式数控系统G代码解释器,采用流水线处理方式的G代码解释方法,以嵌入式的方式替代传统的工业PC机的G代码编译和解释方式。采用流水线的方式对数控加工代码进行编译和解释,可以减少指令执行的时间,增强嵌入式处理器的G代码处理能力。该嵌入式数控系统G代码解释器在ARM公司的ADS(ARMDeveloper Suite)1.2集成开发环境下进行开发和调试,移植在嵌入式数控系统的ARM7主控制器S3C44B0芯片中,并在移植到ARM7主控制器S3C44B0芯片中的Ucosii嵌入式实时操作系统中作为多任务处理的一个实时加工任务运行。
上述给出了本发明的一个具体实施方式
,在硬件上可以针对不同的机床、不同的加工对象、不同数目的进给轴、不同的伺服电机,灵活地选取和配置不同功能的嵌入式模块;在软件上采用标准C语言编写,可适合于不同的软件操作环境,具有很强的可移植性,本领域的技术人员可根据实际情况选择合适的实现方式。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种基于ARM的嵌入式数控系统G代码解释器,在32位的ARM7嵌入式主控制器上实现数控加工G代码的编译与解释,其中a、所述嵌入式数控系统主控制器采用32位冯.诺.依曼结构的ARM7微处理器S3C44B0芯片,实现文件系统管理、内存管理、人机接口、网络接口、系统管理界面、仿真显示和G代码编译和解释功能;b、所述嵌入式数控系统G代码解释器采用流水线处理方式的G代码解释方法,以流水线的方式对数控加工代码进行编译和解释;c、所述主控制器中移植了U-cosll实时多任务操作系统,将程序读入、语法检查、解释和刀具补偿等4个过程定义成4个任务,各任务之间通过邮箱进行消息传递,当G代码解释器工作时,解释任务运行,根据实际情况分配数据缓冲区存放编译的中间结果。
2.如权利要求1所述的基于ARM的嵌入式数控系统G代码解释器,其特征在于流水线处理方式的G代码解释方法是将代码程序一段段读入内存中,在“前置处理—数据转换—后置处理”过程中,数据缓冲区内不断得到处理,最后形成插补程序可以识别的数据结构,象一条流水线一样进行工作。
3.如权利要求1所述的基于ARM的嵌入式数控系统G代码解释器,其特征在于主控制器为32位RISC结构的ARM7微处理器S3C44B0,并在此基础上开发的基于流水线处理方式的嵌入式数控系统的G代码解释器。
4.如权利要求1所述的基于ARM的嵌入式数控系统G代码解释器,其特征在于G代码解释器在ARM公司的ADS(ARM Developer Suite)1.2集成开发环境下进行开发和调试,移植在嵌入式数控系统的ARM7主控制器S3C44B0芯片中,并在移植到ARM7主控制器S3C44B0芯片中的Ucosii嵌入式实时操作系统中作为多任务处理的一个实时加工任务运行。
全文摘要
本发明涉及了一种基于ARM的嵌入式数控系统G代码解释器,其中嵌入式数控系统的主控制器采用32位冯.诺.依曼结构的ARM7微处理器S3C44B0芯片,在此基础上开发嵌入式数控系统G代码解释器,以流水线的方式对数控加工G代码进行编译和解释,以嵌入式的方式替代传统的工业PC机的G代码编译和解释方式,数控加工的G代码程序一段段读入ARM7主控制器中,经过“前置处理-数据转换-后置处理”过程中,数据缓冲区内不断得到处理,最后形成插补程序可以识别的数据结构,可以减少指令执行的时间,提高G代码指令编译和解释的效率,增强ARM7嵌入式处理器的G代码处理能力,同时降低成本,极大地减小系统的体积和功耗,提高系统的可靠性和可重构性。
文档编号G05B19/18GK1936746SQ20061012474
公开日2007年3月28日 申请日期2006年10月12日 优先权日2006年10月12日
发明者尹勇, 周祖德, 刘泉, 龙毅宏, 张金涣 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1