基于UG宏程序后置处理的二次开发技术研究

2022-04-01 03:04谢正武周德民方振红
新技术新工艺 2022年2期
关键词:宏程序后置后处理

张 伟,刘 葵,谢正武,周德民,方振红

(中国兵器工业集团江山重工研究院有限公司,湖北 襄阳 441057)

Unigraphics NX[1-3](简称UG NX)是集CAD/CAE/CAM于一体的三维参数化软件系统,其在数控编程方面是目前市场上功能较强、使用非常广泛的集成系统,加工编程功能包含车削加工编程、线切割加工编程、3~5轴(多轴)铣削加工编程等,该系统包括前置处理和后置处理两大部分。由于机械产品千变万化,需要针对具体的对象在UG NX系统中的NX/Post后置处理器基础上,结合TCL脚本语言和UG/POST Builder后处理构造器进行二次开发,针对特定产品来设计出界面友好、功能强大、使用方便、格式规范、内容精简的NC程序式,即可定制各种TCL脚本语言命令,以满足所需的特殊NC指令。

1 UG宏程序后置处理二次开发相关界面及功能

1.1 UG NX的后置处理

UG NX的后置处理[4]是数控加工编程过程中一个重要的环节,其主要任务是利用NX/Post将UG NX系统生成的加工刀轨(前置处理部分)转换成特定机床可以接受的NC代码,以驱动机床运动,同时保证加工质量。根据制造需要,UG NX的后置处理可以实现个性化定制,这也是UG NX系统功能强大的重要体现之一。

1.2 UG/POST Builder后处理构造器和TCL脚本语言

UG/POST Builder后处理构造器是一个非常方便的可创建和修改后置处理的工具,用户可以交互式地灵活定义NC程序的格式和输出内容,以及程序开头和程序结尾、换刀、循环等每一个事件的处理方式。通过它来创建和修改事件处理文件,进行客户化后置处理。

TCL脚本语言[5]经常被用于快速原型开发、脚本编程、GUI和测试等方面。实际包含两部分:1个语言和1个库。具有如下特点:1)任何东西都是一条命令;2)任何事物都可以重新定义和重载;3)所有的数据类型都可以看作字符串;4)语法规则相当简单;5)代码紧凑,易于维护。

POST Builder后处理构造器使用TCL脚本语言作为其命令语言有三大好处:1)TCL提供了标准语法,一旦掌握了TCL就可以容易地发布命令给基于TCL的程序;2)TCL实现了很多功能,使创建和修改后处理变得方便;3)TCL可作为程序间的通信接口。

1.3 数控宏程序

数控程序[6-8]中含有变量的程序称为宏程序。它的基本原理是用户用变量作为数据进行编程,变量在编程中充当“媒介”作用,在后续程序中可以重新再赋值,原来内容被新赋的值所取代,利用系统对变量值进行计算和可以重新赋值的特性,使变量随程序的循环自动增加并计算,实现加工过程的自动循环(见图1)。

宏程序[9]具有如下几项特点:1)可以进行变量的算术运算、逻辑运算和函数的混合运算,还可以使用循环语句、分支语句和子程序调用语句;2)宏程序能依据变量,用事先指定的变量代替直接给出的数值,在调用宏程序或宏程序本身执行时,得到计算好的变量值;3)在数控编程中,宏程序编程灵活、高效、快捷,是加工编程的重要补充,宏程序可以实现像子程序那样功能,例如,型腔加工宏程序、固定加工循环宏程序、球面加工宏程序、锥面加工宏程序等。

变量分为局部变量、公共变量和系统变量,实际加工编程中最常用的是局部变量,变量号范围#1~#33。

宏程序的构成[10]:1)变量;2)算术或逻辑运算(=)的程序段;3)控制语句(例如:IF、GOTO、DO、END)的程序段;4)宏程序调用指令(G65、G66、G67或其他G代码,M代码调用宏程序)的程序段。

宏程序的适用加工范围和场合:形状类似但大小不同,大小相同但位置不同,特殊形状(椭圆、球等)。

2 UG宏程序后置处理的二次开发

在实际数控加工制造过程中,经常会遇到平面铣削恒定分层、重复有规律等的刀具路径,UG NX系统自带的后置处理编制的数控程序会因恒定、重复具有一定规律走刀的原因,导致NC程序容量大、语句反复出现、参数修改工作量大、易出错等问题。针对上述难题,笔者进行了思考,利用宏程序变量的特点和UG NX的后置处理个性化定制功能来实现系统的二次开发,即通过将宏程序变量、算术公式及条件转移等参数预先植入UG后处理构造器,对后处理构造器功能进行二次定义,使其在数控程序后置处理时系统内部就能自动完成逻辑运算、程序循环等,最终达到简化刀路、优化程序的目的。后置处理二次开发流程图如图2所示。

下面具体介绍创建UG NX宏程序后置处理开发全过程的方法和步骤。

1)新建UG后置处理文件(见图3)。注:UG后置处理文件名的命名一定要有特定性并配有注释,便于开发完成的宏程序后置处理技术的后期查阅。

注意:为了方便转换,且最大限度地保证UG NX系统中原有的后置处理功能的安全性、可靠性和完整性,每段定制命令开始前,都设置有激活和关闭二次开发宏程序后置处理功能选项的判断语句,如果条件满足,执行宏程序后置处理,否则退出。

global iii

set iii 0

global iii

if {iii==2} {

MOM_suppress Once Z FG_motion(“MOM”表示NXMOM事件;“mom”表示NX mom变量)

MOM_disable_address Z

globalmom_feed_approach_value(逼近移动的进给率)

globalmom_feed_engage_value(切削移动的进给率)

globalmom_mcs_goto(刀轨转至点将输出到一个CLSF)

globalmom_nxt_mcs_goto(绝对转至坐标中下一mcs转至的值)

globalkkk

setkkk [expr mom_mcs_goto(2)-mom_nxt_mcs_goto(2)]

if {kkk!=0} {

MOM_output_literal "#3=#1"

globalmom_seqnum

globalxzwn

setxzwn mom_seqnum

MOM_set_seq_on

MOM_output_literal "G00 Z [#1+[format "%.2f" kkk]]"

MOM_add_to_address_buffer F start "Z#1"

MOM_add_to_address_buffer F End "M08"

}

if {kkk==0} {

globalmom_seqnum

globalxzwn

setxzwn mom_seqnum

MOM_output_literal "G0 Z[ #1+3.0]"(循环起始位置)

MOM_set_seq_on(如果在定义文件中给出SEQUENCE说明符,则允许输出序号,在执行命令时返回序列设置)

MOM_output_literal "G1 Z#1 Fmom_feed_approach_value M08"

(开始下刀以及定义逼近移动的进给率和打开M08)

}

globalmom_pos

globalxzwx

globalxzwy

setxzwx mom_pos(0)

setxzwy mom_pos(1)

}

globalmom_Instruction

globaliiijjj

set jjj [string match #?=* mom_Instruction](判断用户定义事件是否输入)

set iii [expr iii+jjj]

MOM_output_literal "mom_Instruction"(将用户定义事件中的文字作为单行输出)

global iii

if {iii==2} {

globalmom_last_pos

globalxzwzz

setxzwzz mom_last_pos(2)

globalmom_mcs_goto

global xzwzz2

set xzwzz2 mom_mcs_goto(2)

MOM_forceOffG_motion G

}

global iii

if {iii==2} {

globalxzwn

globalxzwzz xzwzz2

globalddd

set ddd [expr xzwzz2-xzwzz]

if {ddd>0} {

MOM_output_literal "Z[#1+[format "%.2f" ddd]]"

}

globalxzwxxzwy

MOM_output_literal "X[format "%.3f" xzwx] Y[format "%.3f" xzwy]"(返回循环X方向和Y方向的起始位置)

MOM_output_literal "#1=#1-#2"(将文字“#1=#1-#2”作为单行输出)

globalmom_pos

MOM_output_literal "IF[#1>=[format "%.2f" xzwzz]] GOTO[format"%.f" xzwn]"

MOM_output_literal "G0 Z[format "%.2f" mom_pos(2)]"(Z方向退刀)

}

3 UG宏程序后置处理的二次开发应用实例

1)新建一个UG加工文档(见图4)。

2)定义进刀量:机床控制→开始刀轨事件→【Insert】选项卡输入(见图5)。#1=-0.5,为初始进刀量;#2=0.5,为每刀进刀步距。

3)选定制作的UG后置处理如图6所示。

4)验证自制后置处理的结果如图7所示。

5)实例验证,UG NX系统自带后置处理与UG NX系统二次开发后的宏程序后置处理制作的数控程序效果对比如图8所示。

4 结语

本文介绍了UG NX系统中宏程序后置处理的二次开发技术的研究与运用,在不破坏原程序的基础上,利用宏程序编程原理,将后置处理进行二次挖掘,通过自动判断语句,激活或关闭宏程序后置处理的定制事件,促使刀具路径直接转化为NC宏程序,NC程序基本不用修改,可直接传输到机床使用。后置处理器的二次开发后生成的NC程序具有语句简短、格式规范、查找方便、自动运算等特点,解决了原有NC程序容量大、语句反复出现、参数修改工作量大、出错率高等多项短板,这在实际制造过程中具有较强现实意义,在数控制造领域具有一定的创新性和推广性。

猜你喜欢
宏程序后置后处理
车身接附点动刚度后处理方法对比
低剂量薄层螺旋CT平扫及后处理重建在不同胖瘦体型患者输尿管结石中的应用研究
椭球槽宏程序编制及其Vericut仿真
从随形走向赋意——以《人物拼贴》为例的主题后置式儿童美术教学策略
浅谈初中英语后置定语
气氛及后置催化剂对平朔烟煤热解特性的影响
Traveling back in time in Singapore
宏程序在加工中心生产中的应用
数控车编程教学中宏程序嵌套的应用
轻型柴油机后处理系统性能评估