论文部分内容阅读
由于虚拟数控仿真技术在数控代码检验和数控教学方面具有较大的应用优势,数控仿真技术逐渐受到研究和开发人员的重视。数控程序解释器负责解释数控程序并提取加工信息,是虚拟数控仿真系统中重要的部分。由于现在流行的数控系统较多,每一个数控系统都具有自己的编程规范,所以针对不同的数控系统要开发不同的数控程序解释器。一般虚拟数控仿真系统都会集成多个数控系统的仿真,另外开发解释器需要应用编译原理的知识,这样极大的增加了数控程序解释器的开发工作量和开发难度。为了解决这一问题,数控程序解释器正朝着开放性和通用化方向发展。在实现数控程序解释器的通用性上,提出了很多方法,但只有基于规则定制的方法能够实现解释器真正意义上的通用化。但由于缺少一种完善的数控语言规则的描述方法,基于规则定制的数控程序解释器的通用性上受到了极大的限制。所以开发一种能够描述大部分数控语言规则的规则描述方法和这种规则描述的利用方式是实现解释器通用化的关键。本文应用基于规则定制的方法开发一个应用于Siemens802D数控教学仿真系统的数控程序解释器。该解释器具有一定的扩展性和兼容性,以方便将其扩展为其它数控系统的解释器。本文首先分别对数控程序的词法,语法的结构特点进行分析,并总结不同数控系统之间的语法结构差异,为数控语言规则描述方法的研究提供依据。然后借鉴编译原理中对高级程序设计语言文法的规则描述方法,提出了适合于数控程序语言的词法规则、语法规则和其特有的规则的描述方法。为了同时实现解释器的可扩展性和兼容性,将解释器开发为解释器前端(解析器)和解释器后端(虚拟机)。解释器前端利用数控语言的规则描述库对数控程序进行解析并生成中间代码,实现了解释器的扩展性;解释器后端将解析器与虚拟机床环境分开,实现了解释器的兼容性。为了对解释器进行测试,建立了一个解释器的运行环境,通过对Siemens802D数控程序的解释测试检验了解释器的性能,并通过对规则库的修改使其向FANUC Series 0i Mate-TC系统解释器扩展的测试检验了解释器的扩展能力。