广告招募

当前位置:全球工厂网 > 技术中心 > 所有分类

特种复合加工中心数控系统G代码编译器设计

2025年04月16日 09:41:36      来源:东莞市宇匠数控设备有限公司 >> 进入该公司展台      阅读量:1

分享:

引言

数控技术结合传统机床技术与信息技术,是制造 工业现代化的重要基础。随着科技的发展,与传统封 闭式数控技术相比开放式全闭环数控更符合未来发展 趋势⑴。PC +NC (运动控制器),’型开放式数控系 统[2-]具有很好外部扩展性、适应性和灵活性,能根据 用户要求定制特种复合加工系统。自主研发的钣金刻 铣与激光切割复合加工中心结构上为PC + NC型开 放式数控系统,即运动控制器为主体,PC作为上位机 运行系统控制软件处理非实时性任务[4],如响应用户 消息、G代码的编译[5]等。

数控加工代码是指导数控系统加工的关键信息。 目前,对数控代码进行处理的方式主要有两种:解释和 编译[6-]。解释需要将代码表示成某种中间形式再加 以执行,译码效果有限;编译则直接将代码转换成为计
算机上可执行的数据流,由控制器直接读取执行,译码 效果理想。在
PC +运动控制器”型开放式数控系统 中,上位机PC负责将G代码编译成为可供运动控制 器直接读取的目标程序格式,完成加工信息与非加工 信息分离和有效管理。

针对自主研发的钣金刻铣与激光切割复合加工数 控系统要求在同一机床坐标系下既要实现铣削功能还 要完成激光切割的特点,设计一种G代码编译器,实 现对加工G代码的检错、译码及数据管理。

1 G代码编译器总体设计

G代码编译器是数控系统连接上PC)运动控 制器)位机的重要模块[8],该模块主要完成对符合标 准或特定格式要求的G代码进行编译,然后以结构体 形式存放在上位机申请的动态数组中等待打包下发给 运动控制器。所设计编译器整体流程如图1所示,在编译器内部实现对G代码的词法、语法分析和指令模 态下传,并对存在问题的程序段进行错误提示。

2 G代码编译器的实现

自主研发的数控系统控制对象为特种复合加工中 心,该设备的结构包括通用三轴铣削数控加工中心部 分、激光轴部分和专用夹具部分。因此,G代码编译器 设计时除了满足常规数控标准G代码指令译码要求 外,还需识别激光轴和专用夹具控制指令。

2.1词法分析程序的实现

数控加工代码由字母与数字数据组成,对其进行 词法分析需完成数据分离、提取和格式转换工作。根 据特种复合加工中心的结构特点,在词法分析程序定 义的G代码字符集中增加激光轴标识符JM21 M53等激光、夹具控制指令。所设计的G代码编译器 词法分析步骤如下:

(1) 以程序段为单位对G代码逐行读取,将程序 段存至临时字符串数组中。从程序段中读取一个字 符,忽略其大小写,判断该字符是否在定义的数控系统 G代码字符集中。若不在,则标记错误类型以及错误 位置,并跳出编译循环提示用户错误信息;若存在,提 取该字符后的数据信息。

(2) 根据读取的字符类型将其数据进行转换。根 据字符的类型调用函数atm()或者atf()将数据转换 为int型或float型。当出现非常规数字(如出现两个 正负号或一个以上小数点),则标记错误类型以及错

位 , 环 示用户 。

2.2语法分析程序的实现

词法分析仅对G代码程序字进行检测,但无法确 保程序段语法的正确性。因此,需要对词法分析所识 别出的功能字和数据按照标准G代码数控指令的规 则和语法进行检查。针对特种复合加工中心的主轴与 激光轴的移动位于同一方向的结构特点,在程序段语 法分析时增加了对进给轴的互锁检查。G代码编译中 对程序段进行如下语法分析#

(1) 程序段号检查#将当前程序段号与前一段对 比,若不符合递增规律,则标记错误类型;

(2) 程序段模态指令检查:标记程序段中同组模 态指令出现次数。当该程序段同时存在多个同组指


令,如G02 G03 X100,则标记错误类型;

(3) 冗余指令检查:判断程序中是否出现冗余指 令或字符,如同一行中出现两个X坐标字,则标记错 误类型;

(4) 指令数据和进给轴行程范围检查:若存在数 值超程,如主轴转速超过上限10000 r/min则标记错

(5) 进给轴互锁检查:若程序段中同时存在主轴 和激光轴的运动指令,则标记错误类型。

当语法分析过程中错误类型标记不为空,则跳出 编译循环并提示用户错误信息和程序段位置。词法、 语法分析程序实现流程见图2。


2.3指令模态下传的实现

G代码中有一些模态功能)940」指令,如G00 G01等。这类指令将 会保持有效直到被下 一条具有相同模态功 的 指 换, 调用函数 CheckSen ()实现程序段间的模态 传递。具体实现流程 见图3,其中SenEr/是模态下传时出现错 的 记。

3编译数据存储

译码过程中需对取的代据进行存储,因此设计 结构体GC0DE保存G代码程序段编译完成后所得数据并以动态数组存储G 代码文件的全部译码数据GCODE结构体如下

struct GCODE

i

unsigned char n; //.了数

unsigned char m; //辅助功能代码

unsigned char t;//刀具号

unsigned char g;//G 功能代码

Ratf;//F代码(进给速率)

int s;//S代码(主轴转速)

float x;//X轴坐标

float y;//Y轴坐标

float z;//Z轴坐标

float q;//J轴坐标

float i;//圆弧插补参数

float j;//圆弧插补参数

float k;//圆弧插补参数

float w;//螺距参数

float p;//延时参数

}

4实验验证

以钣金刻铣与激光切割复合加工中心开放式数控 系统为实验平台通过图形仿真与实例加工来验证所 设计G代码编译器的可行性

绘制加工零件并生成对应G代码将该G代码导人 钣金刻铣与激光切割复合加工中心数控系统上位机控制 软件导人的部分G代码如图4所示经过编译代码后的 轨迹仿真和实例加工的样例分别如图5a和图5b所示。

N0820 G01 X-68.15 F936

N0830 G03 X-68 Q0 10 J0.15

NO840 G02 X-S4.S49 Q20.6978 122.6S J0

NG03 X-46.72 Q39.S988 1-6.12 J13.S702

N0860 G K-17.88 Q68.87 121.1403 J8.13

N0870G03X1.452276.699I5.3308J13.8602

N0880 G02 ^42.8478 120.6978 J-9.199

N0890 G03 K61.7488 Q68.87 113.5702 J6.0312

N0900G02K91.0239.5988 I8.1309J-21.1403

N0910 G03 X98.849 Q20.6978 113.8602 J-5.33

N0920 G02 Q-20.6978 1-9.199 J-20.6978

N0930 GQ3 X91.02 Q-39.S988 16.0312 J-13.S702

H09l|0G02}{61.7li88Q-68.87 I-21.1li03J-8.1309

H0950 G03 X42.8478 Q-76.699 1-5.3308 J-13.8662

H0960 G02 X1.U522 1-20.6978 J9.199

H0970 G03 X-17.IIU88 q-68.87 1-13.5702 J-6. 12

N0980 G02 X-U6.72 Q-39.5988 1-8.1309 J21.1403

N0990 G03 X-54.5II9 Q-20.6978 1-13.8602 J5.3308

N1000 G02 X-68 QB 19.199 J20.6978

N1010 G03 X-68.15 Q0.15 1-0.15 JO

N1030 M83

N1040 M52

N185Q M30


(a)加工前的仿真轨迹b)加工后的实物照片

5结束语

针对自主研发的开放式数控系统具有钣金刻铣与 激切割复合加工的特点设计出一种既满足一般通 用又满足刻铣与激切割复合加工要求的G代码 编译器该编译器能够对G代码进行词法和语法分 析并提示译码过程中的错误信息实际加工实验结 果表明所开发的G代码编译器能准确实现数据提取 与解析完成加工信息的转换该研究可为后续开放 式数控系统的开发与实现提供一定的借鉴作用

本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!

版权与免责声明:
1.凡本网注明"来源:全球工厂网"的所有作品,版权均属于兴旺宝装备总站,转载请必须注明兴旺宝装备总站。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。