学术论文投稿/征稿

欢迎您!请

登录 注册

手机学刊吧

学刊吧移动端二维码

微信关注

学刊吧微信公众号二维码
关于我们
首页 > 学术论文库 > 理工论文 基于 MLT980Ma的免编程钻攻系统的设计实现论文

基于 MLT980Ma的免编程钻攻系统的设计实现论文

12

2023-02-14 10:14:27    来源:    作者:lvyifei

摘要:摘要 :在数控系统编程过程中, 如何更方便 、更快速地进行钻攻加工程序的编制, 是当前数控机床应用中面临的一个重要难点。 常用的钻铣床数控系统中采用 G 代码的方式进行钻攻编程加工, 代码参数多, 编程繁琐, 效率低下 。为了解决这种加工编程中的 痛点, 通过对不同品牌钻铣床数控系统钻攻功能的分析, 归纳出常用钻攻编程的 ISO G 代码编程指令参数规律, 总结出借助宏变量 指定, 设计一种使用图形参数式的编程方法, 可以实现免编程的钻攻加工功能 。通过这种方法, 操作者无须编程,

  摘要:在数控系统编程过程中,如何更方便、更快速地进行钻攻加工程序的编制,是当前数控机床应用中面临的一个重要难点。常用的钻铣床数控系统中采用G代码的方式进行钻攻编程加工,代码参数多,编程繁琐,效率低下。为了解决这种加工编程中的痛点,通过对不同品牌钻铣床数控系统钻攻功能的分析,归纳出常用钻攻编程的ISO G代码编程指令参数规律,总结出借助宏变量指定,设计一种使用图形参数式的编程方法,可以实现免编程的钻攻加工功能。通过这种方法,操作者无须编程,只需在相关页面中按提示选择孔型、加工方式,输入相关的尺寸数据、加工工艺数据等,即可实现线性孔、圆弧孔、错位孔等常见孔型的钻孔工艺,以及镗孔和攻牙的自动加工工艺。此设计思路也可用于数控系统中类似专用加工的设计,具有实用价值。

  关键词:免编程;钻孔;镗孔;攻牙

  0引言

  数控编程是数控加工中非常重要的环节,常用的有手工编程和自动编程两种方式。手工编程要求操作人员熟练掌握数控编程语言,编程效率低,容易出错。随着数控机床应用的普及,如何降低数控系统的编程难度,提升编程效率就成为了实际操作中的客观需求[1-2]。因此,研究一种免编程的设计方案具有非常重要的实用价值。

  本文以中山迈雷特数控技术有限公司开发的MLT980Ma铣床数控系统[3]为基础进行免编程钻攻系统开发,如图1所示,MLT980Ma最多可控制5个进给轴、2个主轴,最小分辨率0.1μm,具备1路USB-HOST接口。该系统具备通用钻铣床系统的标准G代码,可实现钻、铣、镗以及攻丝等控制。同时支持宏程序功能、内置式软PLC功能及IO接口功能的二次开发等。该系统功能丰富、性能稳定,为当前市场的主流应用产品。

搜狗截图23年02月14日1006_27.png

  1传统钻攻功能的实现

  钻铣床数控系统中常用ISO标准G代码编程,针对不同的钻攻需求定义不同的指令格式,如表1所示。

  利用G代码,以及不同的指令格式,在数控系统中编制对应G代码程序,实现钻攻功能。本文以G81为例说明利用G代码进行普通钻孔的编程方法。G81普通钻孔指令格式如下:G98/G99 G81 X_ Y_ R_ Z_ F_指令各参数说明如表2所示。

  根据不同的指令参数,可以实现不同的加工轨迹,从而适应不同的加工要求。根据G81的指令格式,可实现两种不同的轨迹形式。如图2、图3所示。

  根据G81指令格式,编制下表3程序可以完成钻孔功能,钻孔示意图如图4所示。

  2免编程钻攻数控系统方案设计

  根据以上传统G代码钻攻编程方法,通过归纳总结,不同的G代码数据代表不同的孔加工方式,不同的X、Y、Z以及R代码数据代表加工位置,F代码数据代表速度。因此考虑借用MLT980Ma的宏变量功能来指代各代码后面的数据,从而简化钻攻加工的编程。

  根据宏变量指代代码数据的思路,基于MLT980Ma的基本功能,开发组态界面,引入图参式辅助编程思想[4-6],最终实现免编程。操作人员只需在相关页面中按提示选择、输入相关的孔型参数及工艺数据后,即可完成线性孔、圆弧孔、错位孔等常见孔型的钻、镗及攻丝等自动加工功能。为方便配置,每一种孔类型对应一个专用页面。总体界面结构如图5所示。

  2.1总体方案

  为了实现免编程功能,在设计过程中需要利用宏程序变量引用编程数据,同时编程数据需要能够在界面灵活输入。因此,在软件设计过程中主要包括不同孔型的宏编程处理以及组态界面开发两部分。宏编程处理包括变量规划,控制流程设计等。组态界面开发主要完成软件底层界面模块设计,组态工具软件的开发,实现不同孔类型的专用页面数据编辑,完成类型选择、孔参数据及加工工艺数据等的选择及输入。

  2.2变量规划

  为便于专用页面设计,根据MLT980Ma中相关指令格式参数、加工工艺数据以及定义孔型数据等,对变量进行了规划。主要分为孔尺寸参数、工艺参数、孔型选择参数、加工方式选择参数、返回平面选择参数及其他参数等6大类。同时,为了相关数据在断电后仍能被记忆,采用了非易失性的宏变量,如表4所示。

  2.3程序控制设计

  程序控制设计是免编程钻攻系统的控制核心,分为主程序模块和各子程序模块,主程序模块完成数据状态的初始化、数据合法性检测及各子模块的调度。子程序模块实现各孔型的控制执行,包含线性孔处理模块、圆弧孔处理模块、环形孔处理模块、棋盘孔处理模块、错位孔处理模块及异常处理模块6大模块[7-8]。程序控制流程如图6所示。

  2.3.1各模块的规划

  基于前述的流程规划,对各程序模块功能进行了表5所示的规划。

  3.2主程序模块

  主程序模块的文件名为O0001.CNC,完成数据状态的初始化、数据合法性检测及各子模块的调度。其程序主要框架内容如下:

  O0001(主程序模块)

  #113=#0(变量初始化)

  #114=#0(变量初始化)

  #115=#0(变量初始化)

  #116=#0(变量初始化)

  …

  …

  #100=#4001(第1组G代码模态保存)

  #515

  #514

  #513

  #511

  #518

  模块实现各孔型的控制执行,包含线性孔处理模块、圆弧孔处理模块、环形孔处理模块、棋盘孔处理模块、错

  #101=#4002(第2组G代码模态保存)

  #103=#4005(第3组G代码模态保存)

  #104=#4007(第7组G代码模态保存)

  #105=#4014(第14组G代码模态保存)

  #106=#4016(第16组G代码模态保存)

  #107=#4109(F代码模态保存)

  #108=#4119(S代码模态保存)

  #109=#4120(T代码模态保存)

  IF[#520 EQ 3]THEN#113=1

  IF[#520 EQ 4]THEN#114=1

  IF[[#113 OR#114]NE 1]GOTO101(主轴旋向数据非法检测,若非法,则报警提示)

  IF[#524 EQ 98]THEN#115=1

  IF[#524 EQ 99]THEN#116=1

  IF[[#115 OR#116]NE 1]GOTO102(返回平面选择数据非法检测,若非法,则报警提示)

  …

  …

  IF[#530 EQ 1]GOTO1(如果当前选择了线性孔加

  工,则跳转至线性孔处理模块)

  IF[#530 EQ 2]GOTO2(如果当前选择了圆弧孔加

  工,则跳转至圆弧孔处理模块)

  IF[#530 EQ 3]GOTO3(如果当前选择了环形孔加

  工,则跳转至环形孔处理模块)

  IF[#530 EQ 4]GOTO4(如果当前选择了棋盘孔加

  工,则跳转至棋盘孔处理模块)

  IF[#530 EQ 5]GOTO5(如果当前选择了错位孔加

  工,则跳转至错位孔处理模块)

  GOTO6(如果当前孔型非线性孔、圆弧孔、环形孔、棋盘孔、错位孔中的一种,则进入异常处理模块)

  N1 M98 P9001(进入线性孔处理模块)

  GOTO100

  N2 M98 P9002(进入圆弧孔处理模块)

  GOTO100

  N3 M98 P9003(进入环形孔处理模块)

  GOTO100

  N4 M98 P9004(进入棋盘孔处理模块)

  GOTO100

  N5 M98 P9005(进入错位孔处理模块)

  GOTO100

  N6 M98 P9006(进入异常处理模块)

  …

  …

  N100

  G[FUP[#100]](第1组G代码模态恢复)

  G[FUP[#101]](第2组G代码模态恢复)

  G[FUP[#103]](第3组G代码模态恢复)

  G[FUP[#104]](第7组G代码模态恢复)

  G[FUP[#105]](第14组G代码模态恢复)

  G[FUP[#106]](第16组G代码模态恢复)

  F#107(F代码模态恢复)

  S#108(S代码模态恢复)

  T[FUP[#109]](T代码模态恢复)

  M30(主程序结束)

  N101 G65 H99 P1(/主轴旋向未指定或指定值错误)

  N102 G65 H99 P2(/返回平面选择未指定或指定值错误)

  …

  …

  2.3.3线性孔处理程序

  线性孔处理程序名为O9001.CNC,其根据选择的加工方式,进入对应的处理子模块进行加工控制。程序如下:

  O9001(线性孔处理模块)

  M#520 S#521(启动主轴,置主轴速度)G0 X#500 Y#501(快速定位至线性孔加工起点)

  IF[#519 EQ 81]GOTO81(若加工方式为普通钻孔,则跳转至普通钻孔处理)

  IF[#519 EQ 85]GOTO81(若加工方式为镗孔循环,则跳转至镗孔循环处理)

  IF[#519 EQ 82]GOTO82(若加工方式为镗阶梯孔,则跳转至镗阶梯孔处理)

  IF[#519 EQ 73]GOTO83(若加工方式为高速深孔加

  工,则跳转至高速深孔加工处理)

  IF[#519 EQ 83]GOTO83(若加工方式为深孔加工,则跳转至深孔加工处理)

  IF[#519 EQ 74]GOTO84(若加工方式为正向攻丝,则跳转至正向攻丝处理)

  IF[#519 EQ 84]GOTO84(若加工方式为反向攻丝,则跳转至反向攻丝处理)

  IF[#519 EQ 76]GOTO87(若加工方式为精密镗孔,则跳转至精密镗孔处理)

  IF[#519 EQ 87]GOTO87(若加工方式为孔底停镗,则跳转至孔底镗处理)

  N81 G#524 G#519 X#509 Y#510 Z#502 R#503 L#511 F#522

  GOTO999

  N82 G#524 G#519 X#509 Y#510 Z#502 R#503 P#523 L#511 F#522

  GOTO999

  N83 G#524 G#519 X#509 Y#510 Z#502 R#503 Q#515 L#511 F#522

  GOTO999

  N84 G#524 G#519 X#509 Y#510 Z#502 R#503 Q#515 L#511 F#517

  GOTO999

  N87 G#524 G#519 X#509 Y#510 Z#502 R#503 Q#516

  P#523 L#511 F#517

  GOTO999

  N999 G80(退出循环模态)

  M5 S0(停主轴)

  M99(返回总调度模块)

  2.3.4其他模块处理程序

  圆弧孔、圆环孔、棋盘孔、错位孔及异常处理程序的框架与线性孔基本一致,受限于篇幅,此文对处理程序不做详细描述。

  2.4组态界面设计

  根据实际需求,通过PC端组态工具TPKDesigner[9]进行组态界面的设计。首先在PC端根据需求及变量规划,确定了以各孔型为子功能菜单,各页面以图形、控件相结合的方式进行组态设计[10]。再通过USB设备导入到MLT980Ma系统中。组态界面总体规划布局[11]如图7所示。

  2.4.1加工孔类型选择项设计

  为便于选择、区分,当前加工孔型设计采用了“组合框”+“分组框”控件组合方式[12]。加工孔类型选择项组态定制过程如图8所示,实际呈现效果如图9所示。

搜狗截图23年02月14日1010_35.png

  2.4.2加工方式选择/返回平面选择项设计

  加工方式有钻孔、镗孔及攻丝等大类,返回平面选择有返回初始平面、返回R平面等两种选择。因此,组态界面设计时采用了“单选框”+“分组框”控件组合方式。

  2.4.3孔参/其他参数/工艺参数项设计

  孔参、工艺参数及其他参数类数据,实际使用中会设定、修改,因此,组态界面设计时采用了“输入框”+“分组框”控件组合方式。

  2.4.4常用孔参/加工工艺参数快捷软功能键设计

  对于加工过程中经常要更改的孔型数据、工艺数据,专门组态定制了快捷软功能键,便于操作人员修改配置。快捷软功能键组态定制过程如图10所示,实际呈现效果如图11所示。

  组态界面完成后实际呈现的页面效果如图12~17所示

  2.5设计方案的界面展示

  通过组态工具配合数控系统的程序设计,可定制出不同孔型的专用界面,在各界面中,根据实际的加工需求,输入相应的数据后,启动运行即可完成零件的自动加工。整个过程无须编程,提高了编程便利性,降低了编程难度,提升了数控系统的综合性能。该免编程钻攻系统已在客户处成功应用,目前一直在可靠稳定运行,图参化辅助编程的设计思想得到了用户的认可。

  3结束语

  本文根据传统G代码进行钻攻编程的应用出发,通过归纳G代码编程特点,结合MLT980Ma钻铣床数控系统宏变量功能,总结归纳出利用图形界面参数指定的一种免编程钻攻设计方法。可以通过仅设置图形参数,而不用编程即可完成钻攻加工。此思路可以方便快捷地完成各专用钻攻加工界面设计,显示直观、操作便捷,降低了操作人员的工作难度和出错率,提高了工作效率。不仅适合文中提及的线性孔、圆弧孔、棋盘孔等孔型的钻孔、镗孔及攻牙等孔型零件的加工,也适用于数控机床的其他各种专用加工应用中,此种免编程钻攻加工设计方法在实际数控系统中得到了验证,具有实用价值。

  参考文献:

  [1]黄海龙,狄金叶.数控冲床CAM系统的研究与开发[J].机床与液压,2017,45(1):104-107.

  [2]赵鑫.激光沉积曲面零件表面成形辅助编程系统研究[D].沈阳:航空航天大学,2018.

  [3]中山迈雷特数控技术有限公司.MLT980Ma铣床数控系统用户使用手册[Z].2021.

  [4]杨洋.计算机编程语言辅助下的生成设计[J].赤子(上中旬),2017(4):107.

  [5]周毅.840D扩展辅助功能的编程与应用[J].装备维修技术,2016(4):33-38.

  [6]汪传生,井浩,刘明召.计算机辅助数控铣床自动编程系统的开发[J].机械制造,2018,56(1):53-56.

  [7]于嘉鹏,路永辉,姜博宏,等.基于UG NX的航空发动机离心叶轮数控加工自动编程系统的研究[J].航空制造技术,2020(4):88-95.

  [8]陈强,杨爽.数控加工编程辅助编辑器设计与实现[J].内蒙古科技与经济,2020(3):59-60.

  [9]中山迈雷特数控技术有限公司.TPKDesigner使用说明书[Z].2019.

  [10]王茂青.基于加工特征的数控辅助编程系统研究与开发[D].武汉:华中科技大学,2017.

  [11]云良.计算机辅助数控加工与计算机辅助编程[J].黑龙江科技信息,2009(17):132.

  [12]曹永宁.沉孔镗削的计算机辅助编程[J].装备制造技术,2015(5):23-24.