论文部分内容阅读
在数控(NC)加工过程中,对于复杂工件,如何保证其NC程序的正确性,己成为一个突出的问题。只有正确的、符合加工设备标准的NC代码才能准确地反映操作人员的加工意图;同时,数控系统不能直接执行NC代码,需代码翻译模块将其转换成计算机易于处理的数据信息,即数控指令的翻译。为此,本文针对上述问题,研究了数控代码编译器的技术构成,开发出了一个基于MPC03运动控制卡+PC硬件环境的NC代码编译系统。
(1)本文对NC代码编译器的发展和应用进行了深入调研,并对其国内外研究现状及存在问题进行了分析和讨论。针对该研究领域存在问题和实际情况,提出了基于面向对象思想的NC代码编译器设计方法的解决方案。
(2)从NC代码结构和格式入手,进行深入分析,整理出NC程序中常见错误类型,并对每种错误原因进行清楚界定。研究了编译技术,针对NC代码的特点,对NC代码进行了文法描述,并设计了NC代码编译器的总体结构。
(3)研究了Lex&Yacc正则表达式在NC代码编译器中的应用。将编译技术引入NC代码分析处理过程中,把NC代码编译过程分为词法分析、语法分析以及目标代码生成和错误处理几个阶段。以MPC03运动控制卡+PC为硬件依托,以Windows XP SP2系统为开发平台,以VC++6.0与Parser Genetor2.0为开发工具,应用正规文法和LALR(1)方法对NC程序进行词法、语法分析,利用专用编译工具Lex&Yacc开发出NC代码编译模块,保证了词法、语法分析的全面性和准确性,为运动控制模块和图形仿真模块提供了数据接口。
(4)开发了软件系统中的图形代码转换模块。此模块允许用户在AutoCAD中绘制dxf格式的实体图形,然后将此图形导入本数控系统中,调用图形代码转换模块生走刀路径代码,并对实体数据进行排序,去除冗余加工信息。
本文设计的NC代码编译器,可以快速、准确地检查出NC程序中的词法和语法错误;并能对以文本文件格式保存的NC代码进行读取和识别,从而得到刀具运动轨迹的坐标值和其他有关信息。同时图形代码转换功能也可大幅度提高数控加工的效率,减少使用者繁重的手动编程工作。