耿文剑
(科德数控股份有限公司,辽宁 大连 116600)
通用数控加工设备日渐同质化,具备专用或特殊功能的加工设备需求逐渐迫切。目前,市面常用的数控系统自动加工编程方式通常采用G代码编程方式;高端数控系统支持图形化编程,以基本特征为程序单元,对工序特征参数进行编辑后生成一行循环程序,如孔、螺纹、矩形槽、圆形槽、矩形凸台和圆形凸台等。以上为大部分数控系统常规功能,本文不再赘述。
对于制造同一类型、不同尺寸型号零件的应用场景,手动编程时工作量巨大,软件编程又繁琐,稍有修改就需要全盘重新操作,且无法保证每道工序参数设置的正确性及与上下关联工序的逻辑合理性[1],对编程及操作人员的技能、经验要求必然很高,人力成本及时间成本没有优势,因此,需要简单化、直观化这些编程过程,将若干工序甚至一类零件的完整加工封装成一个循环功能,并集成到数控系统中,编程人员仅需输入或设置所需的尺寸、角度、逻辑等参数即可自动生成一行加工程序[2],快捷高效且不易出错。
此方案必须基于开放式数控系统进行开发,开放式数控系统提供相应的开发工具和环境,用户可把自己的或任何第三方的思想或需求融入到系统中去[3],本文以科德数控GNC62五轴联动数控系统(以下简称“GNC62系统”)为实施平台进行论述。GNC62系统对于操作者是开放的:可以采用先进的图形交互方式支持下的建议编程方法,使得数控机床的操作更加容易;对于机床制造商是开放的:允许机床制造商在系统软件的基础上开发专用的功能模块及用户操作界面[4]。
GNC62系统已内置了本文论述方法所需的全部API接口,专用功能开发可分3步:修改配置文件、绘制释义图片和编辑宏程序,机床厂应用人员或制造厂有一定宏程序编程经验的工艺人员可直接在系统厂家提供的demo功能基础上进行编辑、修改,快速封装专用功能。
1.1.1 存放位置
“GNC62Hmi ceditor_cfg”,该目录下的文件夹目录即为HMI显示时的功能目录,文件夹中的配置文件,即为该目录下的所有循环功能,如图1所示;此规则操作简单且灵活,不需要专业人员对系统界面进行繁琐的配置。
图 1 文件夹目录与数控系统界面功能目录同步
1.1.2 配置文件说明:
文件头说明
type=“CDEF“ --输出程序的关键字
subtype=“600“ --循环功能序号
endmark=“END “ --程序行结束标志
title=“钻孔“ --循环功能的名称
控件配置格式说明
…
{createEditLine(“A“,{“H“,“5“,“深度“},“ FunA “)}
…
生成一个编辑框控件,“A”代表此控件参数的地址符(GNC62系统以A、B、C…ES、ET作为参数地址符,A、B、C依次代表#800、#801、#802,以此类推);“H”代表该参数的符号;“5”代表参数默认值;“深度”为该参数的文字说明;“FunA”代表该参数变动时触发的函数名,可在该函数中检查参数的正确性、设置参数的释义图片等。
1.2.1 存放位置
“GNC62Hmiimages ceditor_cfgCDEF” ,文件名称默认为每个参数的索引字母,例如“A.jpg”,当光标移动到A参数的编辑框时,会自动显示该图片。
1.2.2 绘图要点
能够直观地说明参数的含义,可搭配文字进行图文说明,必要时可使用动态图进行说明,要说明的参数需在图片中高亮显示(例如加粗、加亮字体),如图2所示。
图 2 光标焦点位于Y0编辑框时显示的图片
1.3.1 宏程序概念
宏程序是一种可进行表达式计算和条件跳转的NC程序语言,包括宏变量、指令及内建函数。通常可以与G代码混合编程,用来实现有计算和人机交互需求的加工循环和程序测量相关的功能操作。
1.3.2 存放位置
“GNC62CycPrgs”,文件名为“C**.nc”,“**”为该功能的系统索引号。
1.3.3 主程序格式
在主程序中插入定制的专用功能,经过编辑、设置参数后输出的专用循环程序格式为“CDEF99 A3 B4 C5 D6 … END”,且在系统程序编辑器中,禁止以文本形式编辑,防止误操作,只能通过“编辑工序”按钮进入该功能的图形化编程界面进行编辑、设置。
1.3.4 数据传递
如主程序为“CDEF99 A3 B4 C5 D6 … END”,根据上文说明,在专用宏程序中得到的数据为#800=3、#801=4、#802=5、#803=6…,根据所封装的工序,使用这些数据进行编程即可。
1.3.5 注意事项
专用宏程序开始执行前,必须加入保存当前模态信息的指令,模态信息主要包括当前的编程方式(绝对方式/相对方式)、进给方式(切削G1/快进G0)、工件坐标系等,专用宏程序执行完毕后必须还原模态信息,以保证主程序上下文的连贯性;在编辑宏程序过程中,大部分变量均使用#变量进行索引,同一#变量在整个宏程序中会参与多次实时运算或赋值并多次被引用,由于变量值的变化具有实时性的特点,与数控系统多段预读并预处理功能矛盾,因此我们需要在#变量的实时运算或赋值之前停止预读及预处理,待实时运算或赋值执行完成后再恢复预读及预处理,保证#变量参数值的正确且有效[5]。
本文所述的将复杂工艺或多道工序封装为系统专用功能的方法适用于如下特点的加工场景:
(1)相同类型但不同尺寸、特征(加工工艺路线)相似的产品,如汽车轮毂、增压器壳体和钻头铣刀等。
(2)多个相同特征且每个特征工艺复杂,如航空发动机多级转子叶轮加工及修磨等。
(3)多个相同特征按一定规律(圆周、框架和矩阵等)排列的工件,主要用于维修使用,例如多刃刀具修磨、螺旋桨修复等。
笔者以一种典型的汽车零部件冲压滑台模具为例,说明本方法的优势。假设该类型模具有3个典型特征:基座长度L(尺寸)、滑台倾角α(角度)和滑轨类型(逻辑)。如图3所示,“→”左侧是我们根据零件工艺及工序特征快速设计的专用图形化编程界面,将3个参数按需求设置不同的数值,可以得到完全不同的两种零件加工程序(程序格式:“CDEF991 /*冲压模具-A型*/ A100 B30 C0 D2 E2500 F3 H6000 I4 J8000 END”),如图中“→”右侧程序模拟加工后的仿真结果。
本例中仅集成了3个典型的加工特征,还可以集成更多的尺寸、角度和逻辑特征,每道工序使用的刀具编号、主轴转速以及进给速度等等,当然集成的特征越多,后台的宏程序会越复杂,但是在加工编程或操作者角度是完全感知不到的。
为了验证本方法的可行性及效果,以某用户滑块类零件进行测试,该类零件共7种型号,且随时可能改型或增加型号,原工艺方案为每种零件一个加工程序,由工艺人员通过UG加工模块进行刀路设计并利用后处理文件生成,该后处理文件会将部分圆弧、轮廓等特征打散为微小线段[6],每个加工程序约1 900~2 400行代码,代码维护量非常大,而且修改程序时必须从编程软件上执行,生成代码后再复制程序到数控系统存储空间中,操作繁琐、不灵活。
由于这一类工件的大部分形状特征是相似的,因此其使用的刀具、切削用量基本一致,在我们统计、分析该类零件所有型号图纸之后,总结出8个特征参数,包括尺寸、角度和槽孔类型等[7],其中有2个特征需额外附带两个切削用量参数,总计14个参数。
图 3 同一功能,不同参数加工出尺寸及形状不同的零件。
该功能的设计、开发及实施均由制造工厂工艺编程人员完成,数控系统厂家仅对其进行了简单的培训,如功能图片及配置文件等存放位置、配置文件格式、图形化编程界面参数传递规则等,提供了典型应用功能的demo,工艺编程人员仅在1天之内就完成了该类零件的专用加工功能封装,并无缝集成到GNC62系统中。用户操作工在5种型号中任选其一,经过向导式的图形化编程,几乎是在2 min之内就完成了该工件的专用加工程序,因为仅需按图纸要求输入几个参数而已,经首件试加工检测合格,此程序已开始在用户多台设备上应用并批产,如图4所示。
图 4 客户产品应用
本文所论述的基于开放式数控系统,利用二次开发功能及宏编程将同一类型不同规格零件的加工过程封装并集成到数控系统中的思路及方法有两方面优势,首先,在开放式数控系统平台上,不必动用系统厂家的研发人员开发、修改系统核心代码,仅需有数控系统宏程序编程经验的工程师,即可轻松完成,数控系统厂家不必单兵作战,可有效利用社会资源来丰富、完善数控系统功能;其次,对制造工厂的操作者能力要求大幅降低,只要认字识图,即可完成复杂工艺或工序的加工,解决了一部分无技术或无经验的普通人员找工作难、数控加工厂招工难的问题,具备一定的社会效益,一定会被市场广泛认可并接受。