2) 用在数控仿真加工中。在仿真程序中,NC 代码的加工信息决定了仿真
图像的位置。NC 代码编译器用于将 NC 代码文件中的加工信息提取出来,交由
仿真图像模块处理,在此之前,要先检查代码的文法正确性,以确保代码编译的
准确率 [3,4]
。
由于NC 代码编译器扮演着信号文件和运动系统之间重要的一环,对它的研
究十分必要。NC 代码编译器的一些基本功能,如检错和编译,可以有效减轻编
程人员查错的工作量,提高了编程效率。而编译器可以将一种格式的文件翻译成
另一种格式,这样 NC 代码编译器就可以成为 NC 源代码生成软件 (例如使用
CAM软件)和仿真加工软件之间的纽带[5]
。
1.3 数控代码编译技术的研究方法
纵观国内外的研究成果,数控虚拟仿真技术的发展非常迅速,作为仿真技术
的核心组成部分之一,NC编译器的技术也有了较大发展。
NC 代码编译器有多种类型,如果按其使用范围来分,则共有三种[6]
:
1) 专用NC代码编译器。这种编译器的产生源自数控厂家之间代码的差异,
尽管国际标准化组织(ISO)指定了相关标准,但由于许多代码未指定含义,由
厂商自己定义,造成了不同厂家之间代码差异非常大。通常来说,每一个成熟的
数控系统都会有自己的代码编译器,这种编译器就是专用 NC 代码编译器,只能
编译自己厂家系统的代码。这种编译器翻译自己系统的 NC 代码时效率高,效果
好,但对其他系统的 NC代码无能为力,通用性差。
2) 通用NC代码编译器。这种编译器试图克服不同厂商之间代码差异带来的
问题。对于国际标准规定的代码,此种编译器能对各种类型的数控系统进行广泛
识别并提取代码信息,适用面广且通用性好。但是,通用 NC 代码编译器往往对
厂商自己规定的代码无能为力,在检错和翻译时会遗漏重要的加工信息。随着开放式数控系统的流行和 CAD/CAM 软件与仿真软件之间集成的需要,通用 NC 代码
编译器已经有了主流之势。
3) 兼用 NC 代码编译器。所谓兼用,就是兼顾专用和通用特性的 NC 代码编
译器。这种编译器既有一定的通用性,又能对各种不同类型的数控系统代码进行
编译操作,并保证在某种程度上加工信息不丢失。它兼顾了上面两种编译器的优
点,但这种编译器的算法比较麻烦,开发困难,实现起来非常不现实。
NC 代码编译器按处理对象分类,则可以分为一下两类[7]
:
1) 早期数控系统中,还没有所谓的 G代码,NC代码编译器处理一种叫刀位
文件的代码,现在这种代码文件和编译器都已经不多见。
2) 处理数控加工程序的代码编译器。NC加工程序代码的出现让设计人员脱
离繁重的计算和代码书写格式的严格限制,专注于设计本身。同时,它的出现也
为CAD/CAM 软件实现自动化集成化奠定了基础。现在基本上所有的数控系统的加
工都是由NC代码驱动的。
NC 编译器在解释数控代码的时候,通常有一下几种方式:
1) 逐行解释。编译器逐行进行检错和编译动作,并将加工信息传递给机床
的机械加工部件。机床的控制系统根据上一行的信息和该行传递过来的信息执行
加工动作。这种方法每次只需要处理一行代码,响应速度快,但它的缺点也是明
显的:只能处理顺序执行的代码。由于只能实现顺序动作,这种方法加工效率低
下,特别是在处理有子程序的加工程序时容易出问题。现在 NC 代码编译器大多 基于正则表达式的NC程序编译器设计与开发(3):http://www.youerw.com/zidonghua/lunwen_18775.html