数控代码查错与仿真

2022-09-10

1 仿真

仿真是数控代码未实际加工之前, 针对数控代码文件进行的代码检查。数控代码并未发送至加工数控系统内存中。因此仿真要求数控代码必须为正确编制的数据源。数控代码的仿真分代码查错、数据转换和仿真三步走。

2 数控代码查错

2.1 数控代码格式和特点

数控代码查错实际上是一种解释器, 其主要功能是把数控代码翻译成数控系统能识别的指令系统。数控代码检错可分为词法分析、语法分析、语义分析和数据转换等阶段。

程序段是由若干条数控指令按照一定的结构构成, 一般一条指令完成一个操作功能。一个完整的数控加工程序是由若干程序段组成的。常用的程序段格式有:固定顺序程序段格式、有分隔符的固定顺序程序段格式和字地址程序段格式。目前常用的是字地址程序段格式, 国际标准化组织制定了字地址程序段格式ISO-6983-1-1982标准, 其形式为:

数控代码是用户根据要求编制出来的运动控制指令, 是文本格式。它的一般结构如图1所示。

数控加工轨迹 (刀具轨迹) 仿真的关键是从数控代码中提取加工信息, 转化为仿真所需的坐标点并存储在一定的数据结构中。这些加工信息主要包括:G功能代码和尺寸字。其中G功能 (也称准备功能) 代码是由两位以内的数值构成的指令。本文根据仿真需要只对G00、G01、G02、G03;G17、G18、G19;G90、G91;G40、G41、G42几组驱动刀具运动的代码作相应处理。

上述G代码均为模态代码, 任一组中的一个一旦被执行, 只能由同组代码取代。

坐标轴移动指令 (X_、Y_、Z_) 和圆弧圆心坐标 (I_、J_、K_、R_) 等项均为尺寸字, 表示数值。

NC代码的语法规则比较简单, 数量较少。正由于这些特点, NC代码翻译器就有不同于一般编译系统的特点, 即不需要中间代码生成和优码优化阶段, 也不需要信息表管理程序[2]。

数控代码每一个程序段都可以单独地自成体系。因此, 对于NC代码的编译是采用纵向式的, 即一个程序段经过词法分析、语法分析、语义分析、执行等几个阶段后, 下一个程序段再经过同样几个阶段。

词法错误主要是指使用了机床不能识别的地址字。如程序中出现了“L”, 而机床指令集不存在, 则属于此类错误。

词法检查首先是根据机床特征库构造机床字符集, 接下来把整个NC程序看做一个纯文本字符串, 每次从中取出一个字符, 在机床字符集中查找, 如找到则继续下一个, 否则按出错处理。

数控代码的检查功能, 核心是根据正规文法 (3型文法) 来制定数控代码的EBNF表示形式。

词法分析针对数控代码进行词法方面的查错, 如错误的指令字, 错误的符号等。语法分析根据词法分析所获得的数据结构, 检查各单词的合法性和语法结构, 如无误则构造出操作数格式的指令结构, 并输出为指令队列。语义查错检查数控代码上下文的语义错误。这三个步骤都从词法、语法和语义层次针对数控代码进行检查, 一旦发现错误, 则立即终止查错任务并反馈详细的错误信息。

2.2 数控代码查错实现

本文以判断非法字符和语法查错中的指令字范围为例说明数控代码查错的实现。

(1) 非法字符。

即遇到了数控系统中没有定义的字符。查找此种错误的方法就是将数控代码中可能出现的字符串构成一个字符串集, 如果出现的字符不在已定义的字符串集中, 则此字符串为非法的。

(2) 范围语法查错。

设计一个数值范围检查模块进行一次指令值的判断。不同的数控代码指令字, 后面所跟的参数数值范围有所不同, 所以可以用一个变量来记住当前发生作用的是哪一个指令字, 在这个指令字之内对其参数数值范围进行判断。

2.3 数据转换

经过查错检查后, 将数控代码进行转换成一定的数据结构, 为仿真做准备, 这个过程称为数据转换。

3 二维仿真

二维离线仿真和在线仿真实现

以MasterCAM数控车编程为例说明二维离线仿真的实现过程。车削加工主要加工轴、螺纹等。常用的两轴联动数控车床中, 一般都具备圆弧插补、直线插补和快速运动这三种基本运动方式, 其余的固定循环 (如G90等) 、复合循环 (G71等) 最终都要转化为这三种形式来实现, 因此数控代码二维仿真实现起来比较简单, 首先设定工件毛坯的尺寸, 然后按照要求从加工数据中找出所有圆弧插补、直线插补和快速运动指令, 再经过坐标变换等操作, 按一定步长绘出直线和圆弧即可。

图2给出了二维仿真的运行示例。其中线条为切削轨迹。从图2可以观察出刀路的实际运行线路和干涉状况。

4 结语

本文以数车为例简要介绍了数控代码查错系统方法, 通过数控代码的查错和仿真, 可使数控机床操作人员有效理解所编制的程序的正确性, 减少刀具干涉现象以及试切工件导致的成本增加和工作效率降低干涉现象。

摘要:在数控加工中, 需要验证数控代码是否正确、是否会产生干涉, 对数控代码进行离线和在线仿真, 可以有效指导操作人员编制数控代码, 减少刀具干涉的机率, 为制造符合要求的产品提供保障。本文对车床数控代码的仿真进行了研究。

关键词:数控代码,查错,仿真

参考文献

[1] 广州数控设备有限公司.GSK980TD车床CNC使用手册[G].广州数控设备有限公司.

[2] 郝明晖, 宋芳, 郝双晖, 等.NC指令解释数控仿真系统的研究[J].机床与液压, 2007, 30 (10) :175~178.

上一篇:“营改增”对企业财务管理的影响与对策探讨下一篇:水泥熟料冷却过程换热模型的研究