CN102540964B - 单电机驱动多轴的数控系统加工程序解释器实现方法 - Google Patents

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

Info

Publication number
CN102540964B
CN102540964B CN 201010580759 CN201010580759A CN102540964B CN 102540964 B CN102540964 B CN 102540964B CN 201010580759 CN201010580759 CN 201010580759 CN 201010580759 A CN201010580759 A CN 201010580759A CN 102540964 B CN102540964 B CN 102540964B
Authority
CN
China
Prior art keywords
code
processing program
interpreter
control system
axle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201010580759
Other languages
English (en)
Other versions
CN102540964A (zh
Inventor
胡希
杨东升
刘荫忠
张亮
崔满
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Institute of Computing Technology of CAS
Original Assignee
SHENYANG HIGH-END COMPUTER NUMERICAL CONTROL TECHNOLOGY Co Ltd
Shenyang Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENYANG HIGH-END COMPUTER NUMERICAL CONTROL TECHNOLOGY Co Ltd, Shenyang Institute of Computing Technology of CAS filed Critical SHENYANG HIGH-END COMPUTER NUMERICAL CONTROL TECHNOLOGY Co Ltd
Priority to CN 201010580759 priority Critical patent/CN102540964B/zh
Publication of CN102540964A publication Critical patent/CN102540964A/zh
Application granted granted Critical
Publication of CN102540964B publication Critical patent/CN102540964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

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

Description

单电机驱动多轴的数控系统加工程序解释器实现方法
技术领域
本发明涉及到数控机床系统领域,具体地讲是一种单电机驱动多轴的数控系统加工程序解释器实现方法
背景技术
随着现代数控技术的不断发展,为了满足不同的需求,数控机床系统也朝着多样化、个性化的方向发展。
数控程序解释器是数控系统中重要的功能模块之一,解释器的效率和质量,关系到数控代码的灵活性和可扩展性,同时也是数控机床加工效率和精度的控制环节之一。解释器的主要功能是以程序段为单位处理用户加工程序,将其中零件的轮廓信息(如起点、终点、直线或圆弧)、工艺参数和其他辅助功能信息,翻译成实际的机床操作命令序列,以使后续的加工部件完成机床的实际动作。
如果数控机床中采用一台伺服电机控制两个或多个进给轴的运动,传统的加工解释器解释出的加工指令无法适用于此类机床。为了满足当前数控机床系统的要求,急需对传统解释器进行改进适应数控机床的设计要求。
发明内容
针对现有技术中数控程序解释器存在的无法解释单轴运动指令的不足之处,本发明要解决的技术问题是提供一种能够解释单轴运动指令的单电机驱动多轴的数控系统加工程序解释器实现方法。
为解决上述问题,本发明采用的技术方案是:
本发明单电机驱动多轴的数控系统加工程序解释器实现方法包括如下步骤:
读取加工程序代码,对各加工程序代码进行语法分析,得到符合语法内部格式要求的加工程序数据;
对上述加工程序数据进行解释,得到数控系统能够识别的命令格式。
对各加工程序代码进行语法分析包括:打开加工程序或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代码指令(如直线快移G0、直线进给G1和固定循环命令G81~G89)进行了特殊处理,也就是说,针对每一个运动轴都会先行判断是否与解释器状态中的当前轴一致,如果一致,则解释出一条直线运动命令,指示当前轴的运动;否则,解释成两条命令:选择轴命令和直线运动命令,先使机床切换到新的目标轴,再进行单轴运动,此时解释器的当前轴状态更新为新的目标轴,按照这样的方式处理完一个轴指令后再接着处理下一个,直到一行程序段中的所有轴指令都被解释完为止。一条G代码可能会解释出多条命令,由解释器依次挂入命令队列中,从而这一组命令序列完成了一条G代码指令。
在一行包含运动G代码的加工程序段中,如果轴指令数多于一个,会出现频繁的切换轴动作,考虑到机床从某个轴切换到其它不同轴所花费的时间代价不同,如果合理的安排解释器解释出的换轴命令的顺序,是可以明显改善代码的执行效率,提高机床的加工速度的。由此,本解释器不再按照指令中的先后顺序来下发换轴命令,采用优化处理算法对各轴的执行顺序进行优化,以优化后切换代价小的命令序列执行切换轴操作。假设一个单电机驱动六轴的数控机床,其六个运动轴为X、Y、Z、B、U、W,每两个轴之间切换的代价权值如下表所示:
  X   Y   Z   B   U   W
  X   0   10   15   10   16   20
  Y   5   0   12   7   15   10
  Z   6   13   0   11   16   14
  B   15   8   10   0   13   12
  U   9   8   9   15   0   9
  W   8   8   7   13   14   0
从当前轴位置开始,依次经过一行程序段中出现的每个轴恰好一次,其中权值之和最小的那组排序即为所求,该问题可以抽象描述如下:设G=(V,E)是一个具有边成本的连通图,V代表图中的各个结点,V={1,2,...,n},n>1;E代表图中的各条边,其中每一边(i,j)∈E都有一非负整数耗费Cij(即边上的权记为Cij,i,j∈V)。要找出G的一条最小代价路径(即从某一点出发,经过图中每个点恰好一次的路线,该路线上所有边的权值之和最小)。
求解最短路径可以有多种方法,但由于一行加工程序段中的轴指令不能重复,考虑到此类问题规模较小,本发明采用动态规划方法的思想求解。其基本原理是假设周游路线是开始于某一点并终止于该点的简单路径,则每一条周游路线都是由一条边<l,k>和一条由结点k到结点l的路径所组成,其中k∈V-{l};而这条由结点k到结点l的路径通过V-{l,k}的每个结点各一次。如果这条周游路线是最优的,那么这条由k到l的路径必定通过V-{l,k}中所有结点的由k到l的最短路径。设g(i,S)是由结点i开始,通过S(S为连通图G中的结点)中的所有结点,在结点l终止的一条最短路径长度。g(1,V-{l})是一条最优的周游路线长度。动态规划算法的一般表达式为:
g(i,S)=min{cij+g(j,S-{j})}    其中j∈S
如果使g(i,Ф)=0,结点l代表当前轴,那么由g(1,V-{l})可得一条最短路径长度。如果对每个g(i,S),保留使表达式右边取最小值的那个j值,可得优化后的切换轴命令序列。例如,一行指令G0X_Y_Z_W,假设当前轴是X轴,则经过算法所得切换轴的优化路径为X-Y-W-Z,权值之和为27,而如果采用顺序的方式解释所得序列为X-Y-Z-W,权值之和为36,可见优化后提高了切换轴的效率。
解释器通过优化算法,尽可能的找到最小代价序列,尽量减少切换轴的次数、降低切换轴所花费的代价,从而节约运行时间,提高加工效率。
在机床运行过程中,加工可能被中断,或者由于系统中出现某些异常,如硬件无法运动到正确位置等,此时会调用到解释器的同步操作。解释器同步作为一种解释器与外部机床沟通的手段,在解释器的执行过程中起着非常重要的作用,同步的主要目的是使解释器的内部信息与当前机床的实际状态保持一致。在外部机床状态有可能发生改变的情况下都要调用解释器同步,比如模式切换、机床启动、急停、复位、错误处理等操作都会触发同步。同步操作会更新解释器中当前各轴的坐标点位置、进给速度、主轴转速、快移速率、修调开关、主轴状态,当前轴,当前挡位等信息,使解释器做出实时的改变。解释器在解释加工指令时会根据当前状态做出判断,因而同步操作是解释器能正确执行的必要条件。
上述给出了本发明的一个具体实施方式,本发明是为单电机驱动多轴的数控机床系统所开发的加工程序解释器,适用于任何采用单电机控制两个或多个进给轴的数控机床。针对单电机驱动多轴的特性,在处理加工指令时解释器采取了相应的措施,改变了传统G代码的处理方式和产生的命令序列,经过实践证明,本解释器实现了对数控机床各种指令和功能的正确解释,可以满足系统的要求。

Claims (8)

1.一种单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于包括如下步骤:
读取加工程序代码,对各加工程序代码进行语法分析,得到符合语法内部格式要求的加工程序数据;
对上述加工程序数据进行解释,得到数控系统能够识别的命令格式;
对加工程序数据进行解释过程如下:
判断加工程序数据对应的代码类型,当加工程序数据对应的代码为G代码时,判断其为运动G代码还是非运动G代码,如果为运动G代码,分别确定各运动G代码的格式是否符合规范;
对符合规范的G代码判断G代码中对应的轴数是否为单轴,不是单轴则采用优化算法生成切换轴优化序列;
判断优化序列中的待处理的轴是否为当前轴,如果是,则直接下发直线执行命令;
判断各轴是否处理完,如果各轴没有处理完,则返回判断下一轴是否为当前轴步骤,直到所有轴都处理完;
当所有轴都处理完时,如果包含当前G代码的NC代码处理完成则结束加工程序中一行指令的解释,返回语法分析步骤中读取加工程序代码的读入一行NC程序步骤。
2.按权利要求1所述的单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于:
对各加工程序代码进行语法分析包括:打开加工程序或MDI方式下输入一行加工代码;
读入一行加工代码中的一行NC程序,进行格式化处理并转换为符合内部格式要求的格式进行存储;
对内部格式进行语法检查,判断是否有语法错误;
如果没有语法错误,则接续判断代码类型步骤。
3.按权利要求1所述的单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于:
所述优化算法为:处理一行包含多个轴指令的运动G代码中各轴的执行顺序,以切换时间代价之和最小的序列依次执行换轴操作。
4.按权利要求1所述的单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于:
如果优化序列中的待处理的轴是不为当前轴,则下发换轴命令进行换轴操作,再下发直线执行命令,接续判断各轴是否处理完步骤。
5.按权利要求4所述的单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于:是否为当前轴的判断过程为:提出当前轴的概念,加入一组分配轴的新的内部命令;
解释器中维持当前轴的状态,在解释一行运动G代码指令时,针对每一个运动轴进行单独处理;
如果要处理的运动轴为当前轴,则直接下发一条直线运动指令,否则在下发直线运动命令前先下发一条切换轴命令,指示机床先切换到目标轴后再执行该轴的运动操作,按照这样的方式处理一行程序段中的每个轴指令,从而一条G代码会被解释成多条命令顺序挂入命令队列中。
6.按权利要求1所述的单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于:
当G代码中对应的轴数为单轴时,则接续直接判断是否为当前轴步骤。
7.按权利要求1所述的单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于:
当G代码为非运动G代码时,进入各非运动G代码的处理,生成执行指令,或设置解释器的内部状态。
8.按权利要求1所述的单电机驱动多轴的数控系统加工程序解释器实现方法,其特征在于还包括以下步骤:
在外部机床出现异常或加工被中断时,通过同步操作实时更新内部状态信息,使解释器与机床当前的实际状态保持一致。
CN 201010580759 2010-12-09 2010-12-09 单电机驱动多轴的数控系统加工程序解释器实现方法 Active CN102540964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010580759 CN102540964B (zh) 2010-12-09 2010-12-09 单电机驱动多轴的数控系统加工程序解释器实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010580759 CN102540964B (zh) 2010-12-09 2010-12-09 单电机驱动多轴的数控系统加工程序解释器实现方法

Publications (2)

Publication Number Publication Date
CN102540964A CN102540964A (zh) 2012-07-04
CN102540964B true CN102540964B (zh) 2013-08-21

Family

ID=46348058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010580759 Active CN102540964B (zh) 2010-12-09 2010-12-09 单电机驱动多轴的数控系统加工程序解释器实现方法

Country Status (1)

Country Link
CN (1) CN102540964B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133421A (zh) * 2014-08-01 2014-11-05 南京埃斯顿自动化股份有限公司 一种基于流程控制的运动控制代码解析方法
CN106681275B (zh) * 2015-11-05 2019-04-09 中国科学院沈阳计算技术研究所有限公司 一种数控加工程序段的前瞻预取方法
CN108874394A (zh) * 2018-04-17 2018-11-23 上海达野智能科技有限公司 机器人用户程序的解释方法及解释装置
CN110837248B (zh) * 2018-08-17 2023-02-21 沈机(上海)智能系统研发设计有限公司 机床健康度测评方法、系统、综合系统及数控机床

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936746A (zh) * 2006-10-12 2007-03-28 武汉理工大学 基于arm的嵌入式数控系统g代码解释器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007241399A (ja) * 2006-03-06 2007-09-20 Fanuc Ltd Gコード形式のncプログラムを得る方式及び該プログラムの実行方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936746A (zh) * 2006-10-12 2007-03-28 武汉理工大学 基于arm的嵌入式数控系统g代码解释器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种开放式数控系统NC代码解释器设计与实现;张庆等;《控制与检测》;20100228(第2期);第59-61、65页 *
多过程数控系统解释器及 RTCP 功能的设计与实现;赵薇;《中国科学院硕士学位论文》;20080531;第10-22页 *
张庆等.一种开放式数控系统NC代码解释器设计与实现.《控制与检测》.2010,(第2期),第59-61、65页.
赵薇.多过程数控系统解释器及 RTCP 功能的设计与实现.《中国科学院硕士学位论文》.2008,第10-22页.

Also Published As

Publication number Publication date
CN102540964A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
CN103699056B (zh) 高速高精度数控加工的小线段实时平滑过渡插补方法
CN102540964B (zh) 单电机驱动多轴的数控系统加工程序解释器实现方法
CN109388107B (zh) 控制装置
CN100428096C (zh) 数字控制器
CN103765334A (zh) 用于模拟机床上加工过程的方法及系统
CN104281096B (zh) 数控代码编译器的构造方法
EP2677379B1 (en) Control method, control program and controller of numerical control machine tool
CN100461053C (zh) 数字控制器
CN103941647A (zh) 用于嵌入式数控设备的柔性加减速控制插补方法
CN107153404A (zh) 能够增加程序指令的解析位数的数值控制装置
CN105302061A (zh) 左手坐标系对应的数值控制装置
CN104865899A (zh) 一种自动单边补偿的数控加工方法
CN101271323A (zh) 能够在路径表操作中执行g代码命令的数字控制器
CN104865898A (zh) 数控机床中处理微小路径段的方法及设备
CN102393669B (zh) 一种在plc中加入数控语言的方法
CN101174144A (zh) 具备继续加工功能的数值控制装置
CN108829032B (zh) 一种高精度控制的插补方法
CN102650862A (zh) 可编程逻辑控制器的电子凸轮控制系统及方法
CN104272201A (zh) 时间图制作装置、控制器、机械元件控制系统、时间图制作方法、程序以及信息存储介质
US9823644B2 (en) Numerical control device and numerical control system
CN111316178B (zh) 用于运行数控生产系统的方法及其生产系统
CN110045681B (zh) 一种基于位置预测的数控机床位置相关型误差的外置补偿方法
US11320800B2 (en) Optimization device
US11194313B2 (en) Numerical controller
EP3907053A1 (en) Method for optimizing the movement of a machine for working panels and system thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Free format text: FORMER OWNER: SHENYANG HIGH-END COMPUTER NUMERICAL CONTROL TECHNOLOGY CO., LTD.

Effective date: 20150819

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150819

Address after: 110171 Liaoning Province, Shenyang Hunnan New District Nanping Road No. 16

Patentee after: Shenyang Institute of computing technology, Chinese Academy of Sciences

Address before: 110171 Liaoning Province, Shenyang Hunnan New District Nanping Road No. 16

Patentee before: Shenyang Institute of computing technology, Chinese Academy of Sciences

Patentee before: Shenyang High-End Computer Numerical Control Technology Co., Ltd.