基于工控机的g代码编译程序设计

基于工控机的g代码编译程序设计

ID:32882498

大小:86.00 KB

页数:4页

时间:2019-02-17

基于工控机的g代码编译程序设计_第1页
基于工控机的g代码编译程序设计_第2页
基于工控机的g代码编译程序设计_第3页
基于工控机的g代码编译程序设计_第4页
资源描述:

《基于工控机的g代码编译程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于工控机的G代码编译程序设计刘冲杨代华张晓婷(中国地质大学(武汉)机电学院,湖北武汉430074)摘要:对数控编译程序的功能进行了分析与说明,提出了一种在工控机平台上设计编译程序的方法。设计实现了一个基于工控机的G代码编译程序,并通过实践对其可行性进行了验证。关键词:工控机;G代码;编译程序;数控系统IPC-basedDesignofG-codeCompilerLiuChong,YangDai-Hua,ZhangXiao-Ting(FaultyofMachineryandElectronic,ChinaUniversityofGeosciences,Wuhan4300

2、74)Abstract:ThefunctionsofNCcompilerareanalyzedandintroduced.AmethodtodesignG-codecompilerbasedonIPC(IndustrialComputer)isadvanced.AnIPC-basedG-codecompilerisdesignedandimplemented,anditsfeasibilityisverifiedinpractice.Keywords:IndustrialComputer-based;G-code;Compiler;NumericalControlSys

3、tem数控代码的译码是数控系统中一个关键的部分,对CPU而言,它的工作量甚至比真正的插补还要大,特别是运动轨迹计算和F值计算部分,涉及到运算精度及实时性,是难度最大的一部分[1]。对数控代码进行译码的方式主要有两种:解释和编译[2]。解释是对代码进行逐行的译码,速度较慢,结构简单,对代码边解释边执行;编译是先将加工代码转换为一定格式的数据流,再由控制系统直接进行对其读取,执行速度快,结构复杂。传统数控系统由于受软件(包括编程语言选择、算法实现、计算精度等)和硬件(包括CPU运行速度、程序存储器和数据存储器的空间等)的限制,较难实现对数控代码真正意义的编译,大多数采用的是

4、解释方式来进行译码,其译码效果十分受限。考虑到本项目设计是基于现代数控系统,硬件采用的是工控机系统,操作系统是Windows平台,程序采用了编译的方式完成对数控代码的译码。1.数控编译程序的功能在数控系统的整体结构中,编译程序是一个独立的模块,它主要完成加工前对代码的处理,实现对代码正确性的检查验证、译码输出等操作;其输入的是数控G代码文件,输出的是可被运动控制卡提供的函数调用的参数数据流。编译程序主要完成以下功能:(1)词法、语法检查主要任务包括对数控代码进行组词规则、程序格式、是否关键字、字符是否合法等规则的检查,识别出代码中的各个基本语法单位,删除无用的空白字符、

5、与输入介质相关的非实质性字符、注释等。(2)语义分析语义分析是对数控代码的逻辑合理性、正确性进行分析,需要对各个参数的合法性和有效性进行检查,并尽可能地实现智能化地检查错误,如是否超出行程、加工路线是否干涉等。完整的语义分析在编译系统中是相当复杂的。(3)中间代码生成中间代码为了能够在译码时以统一的格式进行处理而设计的一种代码格式。它是根据输入的数控代码生成的,只在程序中提供给其它函数使用,不会输出到目标代码,只是一种中间的数据交换。(4)译码译码主要完成对代码各个功能的解释,并将中间代码生成目标代码格式的数据流。其输出格式与目标代码相同,但只保存在内存中。(5)输出目

6、标数据为方便其它程序调用译码结果,应将编译完成的数据输出到硬盘或其它存储介质中,输出时可以以文本文件或其它数据流格式输出。1.数控编译程序的实现方法在对数控代码译码之前,必须先对其进行词法、语法和语义的检查,只有检查无误的代码才能进行译码,否则将返回出错信息,并提示用户进行修改。通过上述的检查后,为便于译码程序调用,需将数控代码转成统一的中间代码格式。译码程序直接对中间代码进行处理,并输出为统一的目标数据格式。程序的流程图如图1所示。2.1词法、语法分析程序的实现待处理的G代码一般都是以文件格式存储的,这不便于在程序中的处理使用,更好的方法是将其读入内存。为实现上功能,

7、程序中设计了一个类CGAttribute,用于将G代码读入到内存中,以便于对代码进行处理。该类除完成代码的读入外,还将代码以关键字分类(如G、F、X、Y等)的方式分隔存储,这种分类给后面的处理带来了很大方便。由于本系统是基于工控机开发的,机器内存高达256M,所以不必担心文件过长而引起内存不足,处理时可将代码一次全部读入。对代码进行词法、语法检查时,程序会根据设定的规则对代码进行处理。首先要去除其中无效字符,如注释信息、程序段中的空格、N指令等。然后再按G代码的组词规则对其进行逐个检查,包括代码中的字符是否合法、代码的参数是否合理等。图1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。