摘要:为提高手工编制数控加工程序效率,在初始阶段减少程序语句错误,开发了一套辅助编辑器,编辑器能适时进行词法分析、规范机床参数使用范围、提示宏程序所需参数等。 关键词:数控加工编程;辅助编辑器;词法分析 
手工编程在数控加工中仍占据重要地位,相应辅助编程软件需求较大。CIMCOEDIT为国外该领域前列产品,其数据转换处理、自动生成预定义代码、程序与刀位轨迹动态交互分析等,在提升编程效率,模拟加工方面表现优异。国内暂未发现相关成熟产品,部分文献在开发数控系统、仿真软件时,涉及到NC代码编译研究。综合分析上述产品和研究成果,发现在输入错误代码时,或有颜色标示,或在仿真阶段提示错误,但均未即刻给出详细报警信息,指导编程人员修正;CIMCOEDIT能定制宏程序参数的描述语句,但如果使用图示案例,将能更直观准确地表达所需参数信息,等等。 1编辑器功能设定 常用NC代码以字母A-Z为首地址符,后跟各种类型数据组成词段,编辑器能识别每个词段,并判断数据格式是否合法。如”X-100”为合法输入,“X--100“为非法输入;能识别机床功能代码,如”G101”为机床不具备功能,则报警;能判断输入数据是否处于合理范围,如设定X轴范围为-100~100,输入“X100.1”报警;能识别“#”系统参数,并判断参数范围,如设定“#1-#10“可用,则超范围报警;能识别宏指令,判断数学公式、逻辑运算的合法性,并运算结果。 2编辑器架构思路 输入界面接收到键入字符,激发判断流程,从文件头至尾扫描所有内容,以空格、字母加数据、‘#“加数据、连续字母、公式结尾括弧’]’作为划分词段依据,再单个依次判断词段合法性;以正则表达式判断数据格式是否正确,以依据数控系统形成的规则清单判断数据范围、功能代码,对异常情况即刻报警,并进行原因提示,如此往复循环,直至文件末尾。程序总体运行流程如图1所示。 3程序实现 以法拉克数控铣削常用代码为例,以首字符列表、G代码列表、M代码列表、参数范围等几部分组成词法规则库,程序运行时将从NC代码中识别的词段与规则库比对,对不符合规则的情况报警提示。更改词法规则库,还可满足不同机床对加工代码需求,因此编辑器可定制,具有一定通用性。规则库设置如图2(a)所示。由于正则表达式规则以常用NC代码对数据的要求进行设定,部分表达式设置如下。开发平台选用VS2015,新建为多文档项目,该类型原始界面已满足输入输出信息流要求。以CView类中OnChar函数响应字符键入事件,当有字符输入时,激发该事件,从而开始分析。由于编辑器能识别每一个词段,因此,当预定义宏程序名需要图例展示代码原理、参数需求时,可新建对话框,加载图片显示,即可实现该功能。程序运行效果如图3所示。 4结论 辅助编辑器能极大提高手工编程效率,减轻工艺人员负担,在生产运用中具有重要意义。本文搭建的编辑器程序结构,已基本满足词法分析需求,且能对宏程序中数学、逻辑运算进行处理,对同类软件开发后续的语法、语义分析,NC代码仿真,效率提升功能等方面具有参考意义。 [参考文献] [1]覃海.开放式数控系统宏程序编程平台的研究开发[D].南宁:广西大学,2005:20~30. [2]胡志祖.基于VC的数控G代码解释器的设计与实现[J].中国重型装备,2009,(1):31~34. [3]郑阿奇.VisualC++实用教程[M].北京:电子工业出版社,2017:32~45. [4]涂文斌.NC代码编译器的设计[J].机械与电子,2011,(35):233~235.
|