嵌入式数控系统G代码解释器的设计与实现
嵌入式数控系统G代码解释器的设计与实现
I
T技术
嵌入式数控系统G代码解释器的设计与实现
吴运金
(中国船舶重工集团公司第七一。所
摘
湖北宜昌
443003)
要:本文在基于ARⅥ+DsP的一络化嵌入式数控系统的基础上,设计出一种流水线处理方式的G代码解释方法,以流水线的方式对加工代码进行稿译一解释,减少指令执行的时同,增强了嵌入式处理器的G代码处理能力。霞G代码解释器在ADsl.2墙译环境下调试
通过.移植在s3c44Bo芯片中,运行效秉良好。关键词:数控秉统代码解释器漉水线中图分类号:TP273.5文献标识码:A
文章编号:1674一098x(2008)Il(b)一0037一02
1引言
嵌入式系统是未来数控及运动控制产品发展的方向,它采用“量体裁衣”方式把所需功能嵌入到应用系统中,可克服基于通用PC机数控系统结构在体积功耗方面的缺陷,它具有强大的外围资源和通信功能.可运行实时多任务Lmux或者Wmdows操作系统,软件开发和移植容易,是当前数控系统精密化,网络化、智能化和集成化的发展方向…。
本文提出的嵌入式数控系统的中央数控单元不是工业计算机或者PC机系统,而是采用ARM+DSP的结构,具有运算能力强、成本低的特点。嵌入式数控系统的其他单元,如伺服控制单元、PLc单元、通信单元.显示单元、数据键入单元,也在嵌入式系统的基础上搭建。完整的嵌入式数控系统包括以下模块:人机接口模块、网络接口模块,系统管理模块、仿真显示模块、
G代码编译模块、插补模块、刀具补偿模
块.伺服控制模块、信号检测和故障诊断
图1
编译扫描流程
万方数据
模块等。
合大量程序加工和复杂的数据处理,但需
在嵌入式数控系统中,G代码解释模要占用系统较多资源。
块是核心模块。用户输入G代码后,由代在分析3种G代码解释嚣的基础上,本码解释器将代码翻译成数控系统能控制各
文提出的一种流水线处理方式的G代码解个电机的指令,包括G指令、M指令、S指释方法,是以流水线的方式对加工代码进
令和T指令等。当执行G指令时,系统调
行编译一解释,减少指令执行的时间,从而
用插补算法模块、补偿模块和位置控制模
增强了嵌入式处理器的处理能力…。这样,
块,直接控制进给电机的运动。G代码程
代码程序一段段读入,在“前置处理一数
序中的M指令、s指令和T指令等属于附据转换一后置处理”过程中,数据缓冲区
加指令,是数控系统实施外部操作的重要内不断得到处理,最后形成插补程序可以功能,如控制主轴电机的起停、冷却液的
识别的数据结构,象一条流水线一样进行开关、夹具的松夹、润滑的工作、防护门
工作。在加工零件时,程序输入、译码、插
的开关等。当G代码解释器执行到附加指补和位置控制4个过程在处理时间上是重
令时.它把控制代码送到PLc,由PLC译叠的,同时在译码过程中,各个子过程在处码辨别数控程序的操作要求,通过PLC程理时间上也是重叠的。G代码解释器的工
序控制外部电路执行12J。G代码解释器是作过程分为4个子过程:程序读入、语法检在ARM芯片中用软件实现的。
查,解释和刀具补偿。图l给出了编译扫一描过程的流程。
2嵌入式系统G代码解释器的实现方法
在考虑G代码程序的大小时,G代码程G代码解释器的实现一般有3种方法,
序是动态分配空间的,达是因为各个G代即解释法、编译法和编译解释法。解释法码程序的代码量差异很大,大程序可能达对零件加工程序逐条进行预解释、插补,
到几兆甚至是几十兆字节的空间,而有些控制,即在插补模块定时中断进行插补的小程序则只有几十个字节而已。如果按固同时解释程序预解释下一条程序,当本条定大小分配内存,为了满足大程序的需要,程序语句插补完成后,再将下条程序语句会浪费大量的空间,并且不能容纳大于所预解释的结果传递给插补模块。这种方法
定空间的程序。对于控制信息,则分配固类似BASIC程序的执行,各模块间的控制
定的宅间.其原因在于,控制结构一般不会是顺序的,加工效率低,易形成停顿与过出现在机器生成的程序中,而手工写的程切。编译法预先对需要加工的零件程序全序一般不会很大,其中的控制语句就不会部编译后,将结果放入缓冲区中,当开始加太多;为它分配固定大小的空间,可以方便
工时,直接启动插补中断程序,从缓冲区中程序处理,减少内存中的碎片,加快程序执
取出编译好的零件程序进行计算并控制程
行速度。为了克服传统数控系统程序组织
序加工。这种方法加工速度快,但需要较
方式的缺陷,采用了以下结构:每个文件可大的内存,类似C语言程序的执行。编译以包含多个程序,每个程序由多个程序块解释法在文献131中提出,它并不像一般的组成,程序在缓冲区中随机存放。程序被编译系统那样直接生成可执行的二进制目
执行前.只需要将部分需要解释的代码下
标代码,而是产生了一种中间代码之后再
载到内存缓冲区中,因为对嵌入式数控系
由解释程序解释执行。编译程序第一次扫统而言,其存储空间有限,不允许全文下
描加工代码时,主要进行格式、词法和语载,所以这里采用的策略是边传送边加工。
法分析,不处理相关的数据结构。如果加在嵌入式数控系统中,ARM中移植了工程序没有词法和语法上的错误,则进行
U—cosll实时多任务操作系统,在设计G代
第二次扫描,即进行译码和数据处理。编
码结实程序时,将上面4个过程定义成4个译解释法充分考虑了系统资源的配置,适
任务,各任务之间通过邮箱进行消息传递,
科技创新导报Science
and
Technology
InnovationHeraId
37
嵌入式数控系统G代码解释器的设计与实现
l
T技术
一旦CPU有空隙时间,译码任务即被激
活,依据不同的状态向各个任务发送消息,
INT8U
struct
ch—no#//通道号
task-ctrl—datal//解释任务控制
5结语
本文在基于ARM+DSP的网络化嵌入
执行对缓冲区的处理。当G代码解释器工作时,解释任务运行,根据实际情况分配数据缓冲区存放编译的中间结果。在译码任务启动的日’f候开辟译码缓冲区,在任务结束时释放,在整个泽码缓冲区生命期间,数据不断的写入、修改、读出和清除。缓冲区是预先分配的,无须动态分配。在本系统中,设置了6个缓冲区形成链表结构,如图2所示。在每个缓冲区设置一个标志位BufFlag,当BufFIag为0时表示缓冲区为空I当BufFlag为1时表示缓冲区I{l的数据需要进行一些数据处理,如刀具补偿、速度计算等l当BufFlag为2时,表示缓冲区中的内容已完成数据处理,可以传递给插补程序j空制电机的运动。
缓冲区
struct
式数控系统的基础上.设计出一种流水线
non—mod‘//非模态指令状态及
处理方式的G代码解释方法。该设计方法能减少指令执行的时间,增强 …… 此处隐藏:2634字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文




