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代码字符集中增加激光轴标识符J和M21、 M53等激光、夹具控制指令。所设计的G代码编译器 词法分析步骤如下:
(1) 以程序段为单位对G代码逐行读取,将程序 段存至临时字符串数组中。从程序段中读取一个字 符,忽略其大小写,判断该字符是否在定义的数控系统 G代码字符集中。若不在,则标记错误类型以及错误 位置,并跳出编译循环提示用户错误信息;若存在,提 取该字符后的数据信息。
(2) 根据读取的字符类型将其数据进行转换。根 据字符的类型调用函数atm()或者at〇f()将数据转换 为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
N的G03 X-46.72 Q39.S988 1-6.的12 J13.S702
N0860 G的 K-17.灿88 Q68.87 121.1403 J8.13的
N0870G03X1.4522〇76.699I5.3308J13.8602
N0880 G02 ^42.8478 120.6978 J-9.199
N0890 G03 K61.7488 Q68.87 113.5702 J6.0312
N0900G02K91.02〇39.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代码编译器能准确实现数据提取 与解析,完成加工信息的转换。该研究可为后续开放 式数控系统的开发与实现提供一定的借鉴作用。
本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!