欢迎来到天天文库
浏览记录
ID:51506594
大小:365.43 KB
页数:5页
时间:2020-03-25
《数控车削仿真系统NC程序编译器的研究与开发.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据第30卷第2期2009年2月井冈山学院学报(自然科学)Journal0fJingaagshanUniversity(ScienceandTechnology)VoL30No.2Feb.2009数控车削仿真系统NC程序编译器的研究与开发肖忠跃,周燕辉,刘朝晖,谢世坤(井冈山大学工学院,江西吉安343009)【摘要】介绍数控加工仿真系统NC程序编译器的功能、编译器总体结构及其实现方法;阐述编译器对数控加工程序进行检查的解释一编译算法及其实现过程;探讨基于VisualC++环境下的数控加工仿真系统对NC程序编译的实现过程和NC程序加工仿真的实现过
2、程以及两者之间的接121问题。该编译器不仅能满足数控加工程序正确性检查的需要,而且具有良好的实用性。【关键词】数控程序;仿真系统;译码;编译器;VisualC++【中图分类号】TP391.9。.IP319【文献标识码】A【文章编号】1673-4718(2009)02-0016--040引言随着数控技术在机械制造业中的广泛应用,数控加工仿真系统也得到迅速发展,广泛应用于数控编程的教学和培训中,对于减少高等院校和培训机构的资金投资,增强数控编程教学的生动性具有重要意义;同时,对企业提高数控加工的生产效率、缩短生产准备周期、减少生产成本也起到积极作用。而
3、数控加工仿真系统仿真质量的高低在很大程度上取决于其对NC代码编译功能的高低;NC代码编译器是沟通和传递数控加工仿真系统与CAD/CAM系统其它部分之间信息的桥梁,主要用于对加工程序的检查和译码工作。目前数控加工仿真系统发展较成熟,但是存在通用性不够、能处理的数控指令有限且检查的力度不够等缺陷。因此,如果能提高NC代码编译器的通用性、完善代码处理功能,真正实现数控加工仿真对加工信息的优化,则将能进一步提高仿真的真实性,从而能更有效地减少高等院校和培训机构对昂贵数控设备的投资,提高数控编程教学的质量,变静态教学为动态教学,增强学生对数控程序的理解;在此
4、基础上,本文主要从提高NC代码编译器通用性的角度来研究数控加工仿真系统NC代码编译器的研究与开发。1NC编译器的主要功能NC程序是由具有一定使用规则和语法特点的功能代码按照一定规则组成,且具有一定的逻辑结构规则、语法规则和词法规则等方面的要求。编程时必须熟悉这些规则要求,才能编制出符合数控系统要求的】Jn-r程序。因此,作为数控仿真系统前置部分的NC编译器必须具有检查NC程序结构、语法和词法以及提取NC程序中有效的加工信息等功能。1.1NC程序逻辑结构检查NC程序都有一个完整的组成形式,如程序开始字符、程序号、程序主体、程序结束代码和程序结束字符等
5、。因此,检查数控程序时,首先检查主程序和子程序结构的完整性。1.2NC程序词法检查NC程序的词法检查是对每一个指令字中的地址符及其后面的数字范围的检查,如在程序中使用了未定义的地址符号“E”或者使用了“M20”没有定义的类型等,这些错误在数控编程中是经常出现的。因此,在对NC程序进行检查时必须对词法进行检查。1.3NC程序语法检查NC程序的语法检查是针对数控程序中每一个程序段进行的,检查的目的是查看数控指令是否符合数控系统的语法规则。如书写格式的错误,一般都要求字母大写,有些数控指令不能单独出现在数控程序中,必须与其它指令一起构成一完整的程序段,以
6、及上下程序段之间的逻辑关系检查等。1.4提取NC程序中有效的加工信息NC程序编译器除了对NC程序进行逻辑结构、词法和语法的检查,还应该能提取NC程序中的加工信息,并将其存放在加工代码信息的结构中,供加工时调用。2编译系统总体结构编译器软件设计时分为NC代码编译和NC程序Jjn-r仿真两大模块,其总体结构如图1所示。NC程序收稿日期:2008-09—17作者简介:肖忠跃(1974-),男。江西泰和人.讲师。硕士。主要从事数控技术及应用研究.万方数据第30卷第2期肖忠跃,周燕辉.刘朝晖,等:数控车削仿真系统NC程序编译器的研究与开发17编译模块的功能是
7、对NC程序进行词法分析和语法分析,确定无误后再作译码处理;加工仿真模块的功能主要实现对NC程序的进行加工仿真,这样设计的目的是提高编译器对数控加工程序的编译效率。数文控件’代■代编码辑生编成译编译模块图1编译系统总体结构其中编译模块采用解释——编译方式对数控加工代码进行译码的方法,该解释——编译的译码方法的运行过程是编译程序要进行两次扫描,且扫描的对象不同,第一次扫描的对象是数控加工程序中的各种地址符,此过程进行词法、语法和简单的语义分析,并累计程序的程序段个数;扫描的同时提取数控加工程序中主要加工信息,如G00、G01、G02、G03等,并按先后
8、顺序将加工信息存放到编译结果缓冲区m._CumUst尺寸链表,且设置插补类型标志位:enumlocustype{point
此文档下载收益归作者所有