译码方法、文件解析方法、解析器、系统及存储介质技术方案

技术编号:38813609 阅读:14 留言:0更新日期:2023-09-15 19:52
本发明专利技术实施例提供一种译码方法、文件解析方法、解析器、系统及存储介质,其中,所述译码方法,包括:获取通过对待译码数控程序进行预翻译后得到的中间代码;根据中间代码对应的目标指令类型生成与目标指令类型对应的目标编码格式,目标编码格式包括适用于多指令类型的基本格式和针对目标指令类型的目标扩展格式;利用目标编码格式对中间代码进行编译,生成待译码数控程序的指令文件,得到译码结果,指令文件用于进行译码后的解析操作。本发明专利技术实施例所提供的技术方案,通过使用具有针对于目标指令类型的目标扩展格式的目标编码格式,对中间代码进行编译,从而实现中间代码编译时指令类型的可扩展性,提高中间代码的编译扩展性和灵活性。活性。活性。

【技术实现步骤摘要】
译码方法、文件解析方法、解析器、系统及存储介质


[0001]本申请实施例涉及计算机
,具体涉及一种译码方法、文件解析方法、解析器、系统及存储介质。

技术介绍

[0002]数控机床可以通过执行数控程序完成对零件的加工,用户利用几何指令(Geometriefolge

Befehl,G代码)、辅助功能指令(Maschinenfunktion

Befehl,M代码)控制机床的运动,执行辅助操作。数控代码解析器可以对数控程序进行译码并解析,转化为可以控制数控机床进行零件加工的数控指令。
[0003]数控代码解析器是数控机床的数控系统的核心模块之一,数控代码解析器在进行译码的过程中,首先通过语义分析等手段对待译码数控程序进行预翻译,得到语义正确的中间代码,进而对中间代码进行解析得到译码结束后的数控指令;中间代码的应用与数控代码解析器的运行效率相关,而数控代码解析器的运行效率直接影响整个数控系统运行的稳定性。在此背景下,如何提供技术方案,以提高中间代码的编译扩展性和灵活性,进而提高数控代码解析器的运行效率成为了本领域技术人员亟需解决的技术问题。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种译码方法、文件解析方法、解析器、系统及存储介质,以提高中间代码的编译扩展性和灵活性,进而提高数控代码解析器的运行效率。
[0005]为实现上述目的,本专利技术实施例提供如下技术方案。
[0006]第一方面,本专利技术实施例提供一种译码方法,包括:获取中间代码,所述中间代码通过对待译码数控程序进行预翻译后得到;根据所述中间代码对应的目标指令类型生成与所述目标指令类型对应的目标编码格式,所述目标编码格式包括适用于多指令类型的基本格式和针对所述目标指令类型的目标扩展格式;利用所述目标编码格式对所述中间代码进行编译,生成所述待译码数控程序的指令文件,得到所述待译码数控程序的译码结果,所述指令文件用于进行译码后的解析操作。
[0007]第二方面,本专利技术实施例提供一种文件解析方法,包括:获取待译码数控程序对应的指令文件;对所述指令文件中的指令进行解析,得到解析后的数控指令,以控制数控机床加工,所述指令文件为第一方面所述的译码方法所生成。
[0008]第三方面,本专利技术实施例还提供了一种解析器,包括:数控代码编译模块,被配置为执行如第一方面所述的译码方法;文件解析模块,被配置为执行如第二方面所述的文件解析方法,用于对所述数控代码编译模块译码得到的指令文件进行解析,得到解析后的数控指令,以控制数控机床加工。
[0009]第四方面,本专利技术实施例还提供了一种数控系统,包括:如第三方面所述的解析器;数控机床,用于在所述解析器编译解析得到的数控指令的控制下运行,以对零件进行加工。
[0010]第五方面,本专利技术实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序被执行时实现如第一方面所述的译码方法,或实现如第二方面所述的文件解析方法。
[0011]本专利技术实施例提供了一种译码方法,包括:获取中间代码,所述中间代码通过对待译码数控程序进行预翻译后得到;根据所述中间代码对应的目标指令类型生成与所述目标指令类型对应的目标编码格式,所述目标编码格式包括适用于多指令类型的基本格式和针对所述目标指令类型的目标扩展格式;利用所述目标编码格式对所述中间代码进行编译,生成所述待译码数控程序的指令文件,得到所述待译码数控程序的译码结果,所述指令文件用于进行译码后的解析操作。可见,本专利技术实施例所提供的译码方法,在对中间代码进行编译的过程中,使用目标编码格式进行编译,由于目标编码格式是由中间代码确定的目标指令类型对应的扩展格式,和适用于多指令类型的基本格式组成,因此,可以基于中间代码的目标指令类型确定对应适用的目标编码格式,从而可以满足对于不同指令类型的中间代码的编译,提高中间代码编译过程中的指令类型可扩展性,同时增强编译中间代码时的灵活性。
附图说明
[0012]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0013]图1是解析器对数控程序进行编译解析的一流程示意图;图2是本专利技术实施例所提供的一种译码方法的一流程示意图;图3是本专利技术实施例所提供的译码方法中生成中间代码的一流程示意图;图4是本专利技术实施例所提供的译码方法的另一流程示意图;图5是本专利技术实施例所提供的译码方法中,目标编码格式的一结构示意图;图6是非逻辑控制指令的中间代码编译后生成的指令文件中的一指令格式示意图;图7是逻辑控制指令的中间代码编译后生成的指令文件中的一指令格式示意图;图8是本专利技术实施例所提供的文件解析方法的一流程示意图;图9是本专利技术实施例所提供的文件解析方法的另一流程示意图;图10是是本专利技术实施例所提供的文件解析方法的又一流程示意图;图11是本专利技术实施例所提供的解析器的一结构示意图;图12是本专利技术实施例所提供的数控系统的一结构示意图。
具体实施方式
[0014]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0015]数控机床可以在数控指令的控制下运行以对零件加工。由于数控机床不能够直接执行数控程序,因此需要数控代码解析器(以下简称“解析器”)对数控程序进行译码和解析,得到能够控制数控机床运行的数控指令。
[0016]为便于理解解析器的工作流程,请参考图1,图1是解析器对数控程序进行编译解析的一流程示意图。
[0017]图1中以针对于采用德国标准化协会(DIN,Deutsches Institut f
ü
r Normung)66025标准的数控系统和数控机床利用解析器实现零件加工为例进行说明。
[0018]如图1所示,该流程可以包括以下步骤:步骤S001,获取待译码数控程序。
[0019]所述待译码数控程序可以为采用DIN 66025标准下的数控机床编码指令体系编写的数字控制(NC,Numerical Control)程序。在针对于采用DIN 66025标准的数控系统和数控机床中,可以利用支持DIN指令体系的高性能的解析器实现数控程序的交互操作和交换。
[0020]DIN 66025标准下的数控机床编码指令体系(例如G代码和M代码),定义了数控机床的编码规则和格式,例如可以包括:程序格式:如指令名称、注释等;地址格式:如X、Y、Z坐标等;指令格式:如rapid positioning(G0)、linear interpolation(G1)等;参数格式:如速度、进给量等。
[002本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种译码方法,其特征在于,包括:获取中间代码,所述中间代码通过对待译码数控程序进行预翻译后得到;根据所述中间代码对应的目标指令类型生成与所述目标指令类型对应的目标编码格式,所述目标编码格式包括适用于多指令类型的基本格式和针对所述目标指令类型的目标扩展格式;利用所述目标编码格式对所述中间代码进行编译,生成所述待译码数控程序的指令文件,得到所述待译码数控程序的译码结果,所述指令文件用于进行译码后的解析操作。2.如权利要求1所述的译码方法,其特征在于,所述根据所述中间代码对应的目标指令类型生成与所述目标指令类型对应的目标编码格式,包括:从预定义的多个指令类型对应的扩展格式中,确定所述目标指令类型对应的目标扩展格式,将所述目标扩展格式与基本格式结合生成所述目标编码格式。3.如权利要求2所述的译码方法,其特征在于,所述预定义的多个指令类型包括逻辑控制指令和非逻辑控制指令,所述逻辑控制指令对应的扩展格式为目标地址字段;所述非逻辑控制指令对应的扩展格式为数据字段;所述基本格式至少包括指令名称字段,指令类型字段和指令长度字段。4.如权利要求3所述的译码方法,其特征在于,所述从预定义的多个指令类型对应的扩展格式中,确定所述目标指令类型对应的目标扩展格式,将所述目标扩展格式与基本格式结合生成所述目标编码格式,包括:当所述中间代码对应的目标指令类型为逻辑控制指令时,确定逻辑控制指令对应的目标扩展格式为目标地址字段,将所述目标扩展格式和所述基本格式结合生成逻辑控制指令对应的目标编码格式;当所述中间代码对应的目标指令类型为非逻辑控制指令时,确定非逻辑控制指令对应的目标扩展格式为数据字段,将所述目标扩展格式和所述基本格式结合生成非逻辑控制指令对应的目标编码格式。5.如权利要求4所述的译码方法,其特征在于,所述基本格式还包括编码描述字段,所述编码描述字段的字节长度固定,用于对所述数据字段和所述指令名称字段所对应的内容进行描述,或者对所述目标地址字段和所述指令名称字段所对应的内容进行描述。6.如权利要求5所述的译码方法,其特征在于,所述利用所述目标编码格式对所述中间代码进行编译,生成所述待译码数控程序的指令文件,得到所述待译码数控程序的译码结果,包括:如果所述中间代码的目标指令类型为所述逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件;如果所述中间代码的目标指令类型为所述非逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述非逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件。7.如权利要求6所述的译码方法,其特征在于,所述如果所述中间代码的目标指令类型为所述逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件,包括:
确定所述中间代码的指令内容中的指令名称,将所述指令名称对应的指令名称标识写入到所述目标编码格式的指令名称字段中,生成所述待译码数控程序的指令文件中的指令名称字段;将所述逻辑控制指令对应的指令类型标识,写入到所述目标编码格式的指令类型字段中,生成所述待译码数控程序的指令文件中的指令类型字段;确定所述中间代码的指令内容中的指令长度,将所述指令长度对应的字节数写入到所述目标编码格式的指令长度字段中,生成所述待译码数控程序的指令文件中的指令长度字段;确定所述中间代码的指令内容中的目标地址,将所述目标地址对应的地址长度写入到所述目标编码格式的目标地址字段中,生成所述待译码数控程序的指令文件中的目标地址字段。8.如权利要求7所述的译码方法,其特征在于,所述中间代码的指令内容中的指令名称包括跳转分支指令。9.如权利要求8所述的译码方法,其特征在于,所如果所述中间代码的目标指令类型为所述非逻辑控制指令,则将所述中间代码的指令内容和所述目标指令类型,写入到所述非逻辑控制指令对应的目标编码格式的字段中,生成所述待译码数控程序的指令文件,包括:确定所述中间代码的指令内容中的指令名称,将所述指令名称对应的指令名称标识写入到所述目标编码格式的指令名称字段中,生成所述待译码数控程序的指令文件中的指令名称字段;将所述非逻辑控制指令对应的指令类型标识,写入到所述目标编码格式的指令类型字段中,生成所述待译码数控程序的指令文件中的指令类型字段;确定所述中间代码的指令内容中的指令长度,将所述指令长度对应的字节数写入到所述目标编码格式的指令长度字段中,生成所述待译码数控程序的指令文件中的指令长度字段;确定所述中间代码的指令内容中的目标数据,将所述目标数据对应的数据内容写入到所述目标编码格式的数据字段中,生成所述待译码数控程序的指令文件中的数据字段。10.如权利要求9所述的译码方法,其特征在于,所述中间代码的指令内容中的指令名称至少包括辅助功能指令,集合指令,附加功能指令,进给速率指令,工具指令以及程序号指令。11.如权利要求1

10任一项所述的译码方法,其特征在于,所述中间代码通过对待译码数控程序进行预翻译后得到,包括:获取待译码数控程序;对所述待译码数控程序进行预翻译;对通过预翻译后的待译码数控程序的指令类型进行判断;如果预翻译后的待译码数控程序的指令类型为逻辑控制指令,生成逻辑控制指令的中间代码;如果预翻译后的待译码数控程序的指令类型为非逻辑控制指令,生成非逻辑控制指令的中间代码。12.如权利要求11所述的译码方法,其特征在于,所述如果预翻译后的待译码数控程序
的指令类型为非逻辑控制指令,生成非逻辑控制指令的中间代码的步骤之后,还包括:对生成的所述非逻辑控制指令的中间代码进行指令重排,...

【专利技术属性】
技术研发人员:方葵邱明勇李佳佳陈阁翁师道
申请(专利权)人:通用技术集团机床工程研究院有限公司上海分公司
类型:发明
国别省市:

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

1