本发明属于数控指令解析领域,尤其涉及一种面向数控加工仿真的数控指令统一解析及匹配方法。
背景技术:
1、随着航天、航空、汽车等领域的飞速发展,数控加工仿真由于其效率高、成本低、准确可靠等优势已经得到广泛应用。数控加工仿真主要包括机床建模、图形渲染、数控指令解析、模型切削仿真以及碰撞检测等技术。其中,数控指令解析是仿真的关键步骤。由于数控指令在参数提取、语法解析、逻辑判断以及宏指令匹配等方面存在明显差异,导致难以保证数控指令解析的准确性,进而影响了仿真数控系统的通用性。
2、为了提高数控指令解析的兼容性和准确度,国内外学者围绕数控指令的统一解析、宏指令匹配方法开展了大量研究。在数控指令解析方面,沙智华等提出了系统定制和面向对象的设计方法,从理论上建立了一种数控指令解析方法;li jie等采用可拓展的关键字信息表,提高了词法解析的灵活性;伍抗逆等采用lex、yacc以及gret工具进一步完成了数控指令的语法解析,提高了译码的效率和兼容性;洪海涛等将解释器结构划分为词法、语法和解释执行3个模块,提升了模块间的独立性;赵炎等对上述3个模块进行了详细设计;林砺宗等对包含分支控制、固定循环以及子程序等特殊指令进行了分类处理。虽然上述学者提出了相对完整的指令的词语、语法解析方法,但是在参数提取方面上考虑较少。目前缺乏一种灵活的参数提取和调用方法,导致部分参数未被准确提取。此外,尚未将数控指令的数学和逻辑解析应用到数控加工仿真之中。
3、在宏指令匹配方面,颜丙凯针对不同数控指令的专用格式,提出了基于中间代码的虚拟控制系统的匹配方法;高鑫等针对宏程序中指令种类繁杂的问题,构建了标准化的加工过程控制宏指令方法;张建等探究了数控加工程序与机床控制系统的匹配方法。虽然上述研究考虑了数控指令与仿真宏指令之间的匹配问题,但其解决方法仅限于指令的一对一映射和文本信息匹配,并未涉及复杂指令的一对多映射和参数匹配等问题。
技术实现思路
1、针对现有技术存在的问题,本发明提供一种面向数控加工仿真的数控指令统一解析及匹配方法。
2、本发明的一种面向数控加工仿真的数控指令统一解析及匹配方法,包括以下步骤:
3、步骤1:规则定义:规则定义为解析和匹配过程的提供判断依据。通过分析不同数控系统的特点,定义仿真数控系统下的规则库,该规则库包含词法、功能、语法和匹配规则;其中,词法规则定义指令的文本信息,功能规则定义指令的数控功能信息,语法规则定义指令的逻辑关系,匹配规则定义指令的映射关系。
4、步骤2:基于规则的nc指令和参数解析:基于规则完成对不含数学或逻辑运算的一般nc指令进行解析,指令和参数的提取过程随规则改变而改变,并依据规则对提取结果分类存储,形成指令集和参数集,以供匹配调用。
5、步骤3:基于规则的数学和逻辑运算解析:基于规则对含有数学或逻辑运算的特殊nc指令进行解析,采用递归原理实现计算表达式的求解,再将逻辑语句分解为简单语句,化简后再进行nc指令和参数解析。
6、步骤4:基于规则的仿真宏指令匹配:完成上述3个步骤后,基于匹配规则将无序的指令集和参数集匹配到仿真宏指令,形成仿真宏指令流,通过执行统一的仿真宏指令流实现对繁杂数控指令的具体执行。
7、进一步的,步骤1的规则定义具体为:
8、(1)nc指令词法解析规则定义。
9、词法规则是定义数控指令关键字的文本信息。为了实现对数控指令中所有关键字的高效解析,首先定义词法优先级,常用关键字优先参与解析,从而大幅减少词法解析时间。其次定义词法类型,对庞杂的关键字进行分类管理;此外,词法规则根据需要进行拓展,在理论上实现对所有字符的包含。
10、(2)nc指令功能解析规则定义。
11、功能规则是进一步定义关键字的数控功能信息,例如群组、模态、模式等。为了准确表达关键字在数控系统中的含义,将具备相似功能的指令划分为一个群组;将指令在执行完后是否继续生效定义为指令的模态信息;将同一指令具备不同的插补运动模式定义为指令的模式。该规则可定义任意关键字的数控功能,具备拓展性。
12、(3)nc指令语法解析规则定义。
13、语法规则是定义指令的规律和关系,为检查其是否符合数控编程要求提供依据。将数控系统中的语法按常见类型进行分类并解释,使语法规则更加完整和便于检查;其次使用regex正则表达式对每一类语法的具体内容进行定义,其语法表达式是检查的直接依据。
14、(4)仿真宏指令匹配规则定义。
15、仿真宏指令是仿真数控系统执行数控功能的最小命令单位;仿真宏指令匹配规则是建立nc指令与仿真宏指令的映射关系,只有二者的指令和参数完全匹配时,它们的映射关系才是完整且有效的;因此对指令的匹配关系进行定义,依据匹配关系定义一对一和一对多匹配类型;为了使指令可以在匹配过程中被准确调用,将其进行唯一编号,基于编号建立“匹配关系”,“匹配关系”是完成指令的对应、替换以及转换直接依据;同理,参数的匹配关系也适用上述编号映射的方法,但是对于复杂参数的匹配过程,需要将几个nc参数通过计算转换才能与仿真宏指令参数相匹配,即“计算匹配”。
16、进一步的,步骤2中基于规则的nc指令和参数解析具体为:
17、(1)nc指令解析。
18、基于已定义的解析规则,将nc程序作为输入,经过预处理后读入并处理nc程序,形成“原始nc”;然后将关键字的文本信息进行对比,对比通过后形成“文本组合”;接着进行数控功能信息的判断,判断后形成“功能组合”;最后对“功能组合”进行语法检错,进而形成无参且无序的“指令集”。
19、(2)nc参数解析。
20、根据关键字信息,当解析算法识别到参数需要被提取时,解析算法会自动创建与该参数名称一致的容器,并从nc程序中提取与之名称对应的参数,同时还将该参数存入名称一致的容器中,存储后形成参数集。这意味着参数解析的过程可以随着规则的变化而变化,而不是识别和存储固定的参数。此外,在参数调用过程中,仅需要参数的名称即可调用对应的参数值,实现了对任意参数的灵活提取和调用。
21、进一步的,步骤3中基于规则的数学和逻辑解析具体为:
22、(1)数学运算解析。
23、由于部分nc程序中包含变量、三角函数以及公式计算等形式,需采用数学运算解析的方式对其进行处理,该方式通过递归原理进行实现。在数学运算解析前,需根据运算符的优先级对计算类型进行分类;并基于公式递归的原理,当涉及到数学计算时,首先提取nc程序中的计算表达式,表达式中若含有未知变量,需对未知变量赋值传参,形成一个只含数值和运算符号的表达式;再调用公式递归算法并计算出表达式值;最后将计算后的参数存储至容器,形成参数集;数学运算解析将nc程序中的特殊计算表达式处理为只含参数的普通情况。
24、(2)逻辑运算解析。
25、逻辑运算解析是基于寄存器赋值和数量关系判断的方法,对含有逻辑运算关系的nc指令解析;通过判断逻辑语句的类型,调用不同的逻辑函数;再判断逻辑语言的开始和结束条件,并执行nc程序的行号跳转、指令循环以及具体的数控指令。
26、进一步的,步骤4中基于规则的仿真宏指令匹配具体为:
27、仿真宏指令匹配是基于匹配关系,将解析后的指令集和参数集匹配到仿真宏指令,通过仿真宏指令的指令匹配和参数匹配,最终形成系统可以直接执行的仿真宏指令流。
28、本发明的有益技术效果为:
29、1、本发明对nc指令的语法、功能、词法以及匹配规则进行了全面定义。基于该规则,提出了依据解析关键字对指令和参数进行自适应调整的解析方法。该方法可以将定义的规则有效地参与解析过程,保证了nc指令的提取和存储过程随着规则的改变而改变,提高了解析模块的兼容性。
30、2、本发明通过分析nc程序中的数学运算和逻辑运算,将含有表达式、分支、循环、跳转的复杂nc转换为简单nc。并通过指令和参数的编号映射方法,实现了nc指令到仿真宏指令的匹配,进而实现了对nc指令统一执行。
31、3、本发明最后进行了仿真实验,利用该方法设计了规则定义的数据库及交互界面,解析了s试件的nc程序,并基于数控加工仿真软件完成了对零件的加工,验证了解析方法的准确性和兼容性。
1.一种面向数控加工仿真的数控指令统一解析及匹配方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种面向数控加工仿真的数控指令统一解析及匹配方法,其特征在于,所述步骤1的规则定义具体为:
3.根据权利要求1所述的一种面向数控加工仿真的数控指令统一解析及匹配方法,其特征在于,所述步骤2中基于规则的nc指令和参数解析具体为:
4.根据权利要求1所述的一种面向数控加工仿真的数控指令统一解析及匹配方法,其特征在于,所述步骤3中基于规则的数学和逻辑解析具体为:
5.根据权利要求1所述的一种面向数控加工仿真的数控指令统一解析及匹配方法,其特征在于,所述步骤4中基于规则的仿真宏指令匹配具体为:
