教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 政务民生 >

嵌入式数控系统G代码解释器的设计与实现

来源:网络收集 时间:2026-10-03
导读: 嵌入式数控系统G代码解释器的设计与实现 I T技术 嵌入式数控系统G代码解释器的设计与实现 吴运金 (中国船舶重工集团公司第七一。所 摘 湖北宜昌 443003) 要:本文在基于ARⅥ+DsP的一络化嵌入式数控系统的基础上,设计出一种流水线处理方式

嵌入式数控系统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字,全部文档内容请下载后查看。喜欢就下载吧 ……

嵌入式数控系统G代码解释器的设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/978837.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)