您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2025/9/29 18:23:00发布17次查看
引言
数控技术结合传统机床技术与信息技术,是制造 工业现代化的重要基础。随着科技的发展,与传统封 闭式数控技术相比开放式全闭环数控更符合未来发展 趋势⑴。“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代码编译器能准确实现数据提取 与解析,完成加工信息的转换。该研究可为后续开放 式数控系统的开发与实现提供一定的借鉴作用。
本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product