欢迎来到天天文库
浏览记录
ID:7287536
大小:29.52 KB
页数:12页
时间:2018-02-10
《基于vc的数控g代码解释器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于VC的数控G代码解释器的设计与实现胡志祖(洛阳矿山机械工程设计研究院有限责任公司,河南471039)摘要:对数控G代码解释器的功能、结构进行了详细分析。论述了在VC编译环境下如何采用结构体缓冲区的方法编写G代码解释器程序。给出了解释器的总体流程图和自动单段模块程序的流程图。给出了部分解释器的核心算法程序。关键词:解释程序;数控机床;计算机控制/开放式数控系统中图分类号:TP273+.5文献标识码:ADesign&RealizationofNCGCodeInterpreterBasedHUZhizuAbstract:Thefunctionandbuffer
2、structureonVCofNCGcodeinterpreterhavebeenanalyzedindetail.HowtousestructureareamethodtowriteGcodeinterpreterprogramunderthecircumstanceofVCcompilinghasalsobeendis‘cussed.Overallflowchartoftheinterpreterandflowchartofautomaticsingleofsomeinterpretershavebeengiven.moduleaswellascorea
3、lgorithmroutineKeywords:interpretationprogram;NCmachinetool;computercontrol/openNCcontrolsystem代码解释器是数控系统中一个很重要的模块。本文将研究如何使用VC编写对数控G代码译码的解释器程序。由于不同数控机床生产商所采用G代码互有差异,要和所有这些系统兼容比较困难,我们选择指令较多,功能较强的SIE—MENS系统G代码作为实现目标。1代码处理方法分析在数控系统中,零件的加工程序是以G代码、M代码等组成的一段段代码程序,每段程序表示一个零件外形几何线条的加工或进行一些
4、辅助功能的操作。无论是自动生成还是手工编制的G代码程序,在输入机床的控制系统之前,都需要检查程序的正确性,以确保机床能够安全地加工出所需的零件。虽然人工检查可以完成一部分工作,但对于较复杂的程序,检查效率极低且易出错。如果用计算机程序自动对G代码程序进行检查,则可以大大提高检查的效率和准确性。对程序进行译码的方式主要有两种:编译和解释。(1)解释控制方法对零件加工程序逐条进行预解释、插补、控制,即在插补模块定时中断进行插补的同时,解释程序预解释下一条程序,等本条程序插补完成后,再将下条程序预解释的结果交插补模块。这种方法实现简单,但各模块间的控制是顺序的,串
5、行的,加工效率低,不易处理各程序段间的转接,易形成停顿与过切。(2)编译控制方法编译程序预先对要加工的零件程序全部编译,将结果放人缓冲区中,当开始加工时,直接启动插补中断程序,从缓冲区中取出编译好的零件程序,进行计算并控制程序加工。这种方法加工速度快,效率高,但需要较大的内存,并且编译与加工之间存在时间间隔。当利用小直线段进行插补或零件程序较为复杂时,极容易造成系统资源紧张,降低系统总体性能。编译系统速度快,结构复杂;解释系统速度慢,结构简单。因为数控系统虽然是一个对系统的实时性要求比较高的应用程序,但其主要的实时性任务是插补及位置控制,译码并不需要非常快的
6、速度,尽管速度越快越好。目前,绝大多数的数控系统都采用解释方式对数控加工程序进行译码。考虑到实际情况和简化结构的需要,我们采用解释方式进行译码,相应的程序称为G代码解释器,系统的软件开发平台采用MICROSOFTVC31万方数据++6.0可充分保证其移植性和运行的稳定性。2程序解释的功能分析在整个数控系统中,解释器作为一个单独的模块,其输入是G代码文件,输出是刀补及插补程序可以识别的数据流。它需要实现以下功能:(1)语法检查。语法检查的任务主要是进行程序格式的检查。如查看同组代码段是否出现在同一行上,程序中括号是否匹配,控制关键字是否一致等。(2)数据格式转
7、换。将读入的程序行转化为加工块结构,并将从加工块中提取的运动信息按一定的顺序发送给刀补程序。(3)处理变量表达式。含有变量和表达式是宏程序的基本特征,这可以给用户以极大的方便。变量可以采用多次间接寻址方式。(4)控制结构处理。解释器需要根据具体条件选择合适的执行路径以实现预定的控制逻辑。(5)处理固定循环。固定循环是机床厂为方便用户而预先设定的功能。固定循环中的仿形加工循环程序块需要若干后续程序块的信息,并且需要根据这些信息进行路径规划,这是个难点。(6)处理子程序和宏程序调用。子程序和宏程序可以实现软件的重用,节省用户编写程序的时间。解释器在遇到这些调用时
8、,应该能够选择合适的入口及出口,对这些语句转换处理。
此文档下载收益归作者所有