单电机驱动多轴的数控系统加工程序解释器实现方法技术方案

技术编号:7600304 阅读:209 留言:0更新日期:2012-07-22 02:17
本发明专利技术涉及一种单电机驱动多轴的数控系统加工程序解释器实现方法,包括如下步骤:读取加工程序代码,对各加工程序代码进行语法分析,得到符合语法内部格式要求的加工程序数据;对上述加工程序数据进行解释,得到数控系统能够识别的命令格式;对各加工程序代码进行语法分析包括:打开加工程序或MDI方式下输入一行加工代码;读入一行加工代码中的一行NC程序,进行格式化处理并转换为符合内部格式要求的格式进行存储;对内部格式进行语法检查,判断是否有语法错误;如果没有语法错误,则接续判断代码类型步骤。利用本发明专利技术方法提高了机床的执行效率;在外部机床状态可能发生改变的情况下,通过解释器同步实时更新解释器内部的状态信息,保证解释器正确高效的运行。

【技术实现步骤摘要】

本专利技术涉及到数控机床系统领域,具体地讲是一种
技术介绍
随着现代数控技术的不断发展,为了满足不同的需求,数控机床系统也朝着多样化、个性化的方向发展。数控程序解释器是数控系统中重要的功能模块之一,解释器的效率和质量,关系到数控代码的灵活性和可扩展性,同时也是数控机床加工效率和精度的控制环节之一。解释器的主要功能是以程序段为单位处理用户加工程序,将其中零件的轮廓信息(如起点、 终点、直线或圆弧)、工艺参数和其他辅助功能信息,翻译成实际的机床操作命令序列,以使后续的加工部件完成机床的实际动作。如果数控机床中采用一台伺服电机控制两个或多个进给轴的运动,传统的加工解释器解释出的加工指令无法适用于此类机床。为了满足当前数控机床系统的要求,急需对传统解释器进行改进适应数控机床的设计要求。
技术实现思路
针对现有技术中数控程序解释器存在的无法解释单轴运动指令的不足之处,本专利技术要解决的技术问题是提供一种能够解释单轴运动指令的。为解决上述问题,本专利技术采用的技术方案是本专利技术包括如下步骤读取加工程序代码,对各加工程序代码进行语法分析,得到符合语法内部格式要求的加工程序数据;对上述加工程序数据进行解释,得到数控系统能够识别的命令格式。对各加工程序代码进行语法分析包括打开加工程序或MDI方式下输入一行加工代码;读入一行加工代码中的一行NC程序,进行格式化处理并转换为符合内部格式要求的格式进行存储;对内部格式进行语法检查,判断是否有语法错误;如果没有语法错误,则接续判断代码类型步骤。对加工程序数据进行解释过程如下判断加工程序数据对应的代码类型,当加工程序数据对应的代码为G代码时,判断其为运动G代码还是非运动G代码,如果为运动G代码,分别确定各运动G代码的格式是否符合规范;对符合规范的G代码判断G代码中对应的轴数是否为单轴,不是单轴则采用优化算法生成切换轴优化序列;判断优化序列中的待处理的轴是否为当前轴,如果是,则直接下发直线执行命令;判断各轴是否处理完,如果各轴没有处理完,则返回判断下一轴是否为当前轴步骤,直到所有轴都处理完;当所有轴都处理完时,如果包含当前G代码的NC代码处理完成则结束加工程序中一行指令的解释,返回语法分析步骤中读取加工程序代码的读入一行NC程序步骤。所述优化算法为处理一行包含多个轴指令的运动G代码中各轴的执行顺序,以切换时间代价之和最小的序列依次执行换轴操作。如果优化序列中的待处理的轴是不为当前轴,则下发换轴命令进行换轴操作,再下发直线执行命令,接续判断各轴是否处理完步骤。是否为当前轴的判断过程为提出当前轴的概念,加入一组分配轴的新的内部命令;解释器中维持当前轴的状态,在解释一行运动G代码指令时,针对每一个运动轴进行单独处理;如果要处理的运动轴为当前轴,则直接下发一条直线运动指令,否则在下发直线运动命令前先下发一条切换轴命令,指示机床先切换到目标轴后再执行该轴的运动操作, 按照这样的方式处理一行程序段中的每个轴指令,从而一条G代码会被解释成多条命令顺序挂入命令队列中。当G代码中对应的轴数为单轴时,则接续直接判断是否为当前轴步骤。当G代码为非运动G代码时,进入各非运动G代码的处理,生成执行指令,或设置解释器的内部状态。在外部机床出现异常或加工被中断时,通过同步操作实时更新内部状态信息,如当前各轴的位置、加工速度、当前轴状态等使解释器与机床当前的实际状态保持一致。本专利技术具有以下有益效果及优点1.利用本专利技术方法在解释一行包含多个轴指令的运动G代码时,对生成的切换轴命令序列采用动态规划方法的思想进行优化,以期减少切换轴时间,提高机床的执行效率; 在外部机床状态可能发生改变的情况下,通过解释器同步实时更新解释器内部的状态信息,保证解释器正确高效的运行。附图说明图1为本专利技术加工程序解释器实现方法流程图。具体实施方式下面结合附图对本专利技术做出进一步详细的说明。解释器在处理一行加工程序时,主要经过语法分析和解释执行这两个阶段。具体来说,解释器在读入一行加工代码后,要完成读取信息、格式化、错误检查、保存为内部格式等工作,为进一步的处理做准备。数控机床通常使用G代码来描述机床的加工信息,如走刀轨迹、坐标系选择等,此外还包括M、F、S、T等辅助信息码,将G代码解释为数控系统能够识别的命令格式是加工程序解释器的主要功能。图1为本专利技术流程图,实现过程如下读取加工程序代码,对各加工程序代码进行语法分析,得到符合语法内部格式要求的加工程序数据;对上述加工程序数据进行解释,得到数控系统能够识别的命令格式。在上述步骤基础上,本专利技术还可以包括以下步骤在外部机床出现异常或加工被中断时,通过同步操作实时更新内部状态信息,使解释器与机床当前的实际状态保持一致。对各加工程序代码进行语法分析包括打开加工程序或MDI方式下输入一行加工代码;读入一行加工代码中的一行NC程序,进行格式化处理并转换为符合内部格式要求的格式进行存储;对内部格式进行语法检查,判断是否有语法错误;如果没有语法错误,则接续判断代码类型步骤。对加工程序数据进行解释过程如下判断加工程序数据对应的代码类型,当加工程序数据对应的代码为G代码时,判断其为运动G代码还是非运动G代码,如果为运动G代码,分别确定各运动G代码的格式是否符合规范;对符合规范的G代码判断G代码中对应的轴数是否为单轴,不是单轴则采用优化算法生成切换轴优化序列;判断优化序列中的待处理的轴是否为当前轴,如果是,则直接下发直线执行命令;判断各轴是否处理完,如果各轴没有处理完,则返回判断下一轴是否为当前轴步骤,直到所有轴都处理完;当所有轴都处理完时,如果包含当前G代码的NC代码处理完成则结束加工程序中一行指令的解释,返回语法分析步骤中读取加工程序代码的读入一行NC程序步骤。所述优化算法为处理一行包含多个轴指令的运动G代码中各轴的执行顺序,以切换时间代价之和最小的序列依次执行换轴操作。如果优化序列中的待处理的轴是不为当前轴,则下发换轴命令进行换轴操作,再下发直线执行命令,接续判断各轴是否处理完步骤。是否为当前轴的判断过程为提出当前轴的概念,加入一组分配轴的新的内部命令;解释器中维持当前轴的状态,在解释一行运动G代码指令时,针对每一个运动轴进行单独处理;如果要处理的运动轴为当前轴,则直接下发一条直线运动指令,否则在下发直线运动命令前先下发一条切换轴命令,指示机床先切换到目标轴后再执行该轴的运动操作, 按照这样的方式处理一行程序段中的每个轴指令,从而一条G代码会被解释成多条命令顺序挂入命令队列中。当G代码中对应的轴数为单轴时,则接续直接判断是否为当前轴步骤。当G代码为非运动G代码时,进入各非运动G代码的处理,生成执行指令,或设置解释器的内部状态。本实施例在解释器中引入了当前轴的概念,在解释器内部会保存当前轴状态,并根据解释出的新的命令或解释器同步操作实时更新当前轴状态;为了实现切换轴的动作, 定义了一组新的内部命令——换轴命令,指示机床从当前轴切换到新的目标轴,将运动控制G代码指令(如直线快移GO、直线进给Gl和固定循环命令G81 G89)进行了特殊处理, 也就是说,针对每一个运动轴都会先行判断是否与解释器状态中的当前轴一致,如果一致, 则解释出一条直线运动命令,指示当前轴的运动;否则,解释成两条命令选择轴命令和直线运动命令,先使本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:胡希杨东升刘荫忠张亮崔满
申请(专利权)人:中国科学院沈阳计算技术研究所有限公司沈阳高精数控技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术