五轴数控机床的后置处理算法与软件实现
五轴数控机床的后置处理算法与软件实现 该文以一种主轴复合摆动的五轴数控机床为对象, 在分析了坐标系统之后, 给出了联动时刀 位轨迹的后置处理算法。文中采用面向对象编程技术得到了五轴后置处理系统。 一、引言 床的各种运动都是执行特定数控指令的结果,完成一次加工过程需要连续执行一连串的 数控指令,即数控程序。在 CAM,计算机辅助制造过程中,将 CAD设计的模型,通过 CAM软 件模块计算产生刀位轨迹的整个过程称为前置处理。在前置处理中,按照相对运动原理,将 刀位轨迹计算统一在工件坐标系中进行, 而不考虑具体机床结构及指令格式, 从而简化系统 软件。即在 CAM软件系统中进行刀位轨迹编程时,总假定工件是固定不动的,所以刀位文件 (CLF)中给出的是在工件坐标系中刀具的位置数据,包括刀心点和刀轴矢量。前置处理产 生的是刀位文件(Cutter Location File) ,而不是数控程序。因此,要获得数控机床加工 程序, 还需要将前置计算所得的刀位轨迹数据转换成具体机床的程序代码, 该过程称为后置 处理(Post-Processing) 。 数控机床是加工复杂零件的现代化设备, 多样化的结构是其发展的必然趋势。 由于五轴数 控加工的复杂性,后置处理程序是必不可少的。对于不同类型运动关系的数控机床,其后置 处理又是不同的, 因此有必要针对不同结构的机床建立其有效的后置处理程序。 本文作者以 德马吉(DMG)DMU200P数控加工中心为对象,分析了它的机床结构和后置处理方法,并采 用面向对象编程方法实现了其后置处理程序。 二、机床的坐标系统 ISO的规定,数控机床采用右手直角坐标系,其中平行于主轴的坐标轴定义为 z 轴,绕 x 、 y 、z 轴的旋转坐标分别为 A 、B 、C 。上述各坐标轴的运动可由工作台,也可以由刀具的运动 来实现,但方向均以刀具相对于工件的运动方向来定义。通常五轴联动是指 x 、y 、z 、A 、B 、 C 中任意 5 个坐标的线性插补运动。 图 1 DMU200P机床运动坐标系 如图 1 所示的是 DMU200P机床的运动坐标系。该机床的五轴由 x 、y 、z 、B 、C 组成,其 中 B 、C 方向都为刀具相对于工件运动的方向,C轴旋转是由工作台旋转实现的,故 C 轴的 实际运动方向相反; B 轴为主轴复合摆动, 主轴在摆动过程中同时实现两个方向的摆动运动。 在图 1 中,β =45°,B 轴可以实现 0°~180°摆动。在正常状态下,机床的刀轴指向与 z 轴平行,B 轴旋转 180°后,刀轴方向与 y 轴平行。 二、机床运动学求解 在多轴数控编程时, CAD/CAM软件生成的刀位文件由工件坐标系的 X 、 Y 、 Z 和刀轴矢量 i 、 j 、 k 构成。后置处理中的运动求解,主要包括转动角度计算和经过转动后的 X 、Y 、Z 值求解。 其中, 转动角度计算就是把工件坐标系中的刀轴矢量分解为机床两个转动坐标。 假设工件坐 标系 Owxyz在加工开始运动前 (B =0,C=0 )与机床 标系 Oxyz平行,则工件上任意点的刀心位置在工件坐标系中的坐标为 (xw,yw,zw) ,刀轴 矢量为――工件坐标系中的单位矢量,设。如图 2中的 ON 表示任意刀轴经过平移后,在机床坐标系中的矢量。 图 2 DMU200P角度计算 1.转动角度的计算 若将图 2 中的刀轴单位矢量 ON 首先绕 Z 轴旋转, 再将旋转后的 ON0单位矢量绕 OP 旋转, 其 中,N 点和 N0 两点旋转过程分别形成的两个圆有交点 M 。那么,刀轴矢量 ON 旋转到与 Z 轴 方向一致时,需要经过以下两次旋转: (1 )绕 Z 轴旋转到 OM; (2 )绕 OP 轴(B 旋转轴)旋 转 B 角度与 Z 轴重合。根据图 2 中的向量关系,则有: (1 ) (2 )由(1 ) 、 (2 )两式向量关系得到: (3 ) (4 ) 同时根据向量关系,有: (5 ) 因此,DMU200P运动角度为: (6 ) (7 )直角坐标计算 随着五轴数控机床控制系统的研究与发展, 已经实现了对旋转坐标转动之后的对刀具刀心点 相对于工件位置的保持,即刀具中心管理功能(TCP) 。在 DMU200P数控机床的 HEIDENHAIN TNC430控制系统中,已经提供了实现该功能的 M 代码,从而由控制系统来给出经过 B 、C 轴 旋转之后的 X 、Y 、Z 坐标值。此外,刀具中心管理功能的优点在于,可以减少因加工时装夹 不同而造成的重复后置等问题。 三、后置处理程序的实现与应用 后置处理的主要内容包括: 数控指令的输出、 格式转换输出和机床运动学求解处理等方面的 内容。其中,数控系统控制指令的输出涉及到机床种类、机床配置、机床的定位、插补、主 轴、进给、暂停、冷却、刀具补偿、固定循环、程序头尾输出等方面的控制;格式转换输出 包括数据类型转换、 字符串处理和输出地址字符等方面的内容; 运动学算法处理即后置处理 算法设计,主要针对多坐标加工时的坐标转换、机床运动学定义、跨象限处理和进给速度控 制等几何运动变换计算。 后置处理过程原则上是解释执行, 即每读出刀位数据文件中的一个完整的记录行, 就根据所 选机床进行坐标变换或文件代码转换, 生成一个完整的数控程序段, 并写到数控程序文件中, 直到刀位数据文件结束。 采用面向对象技术, 建立了记录刀位文件信息的数据结构和处理格 式转换输出的方法,从而实现了后置处理系统,后置处理流程如图 3 所示。 图 3 后置处理流程 后置处理程序由 6 个模块组成:刀位文件读入、后置参数设置、后置方式判断、数据转换、 加工程序输出和数据显示模块组成。其中,后置处理方式判断模块,实现对刀位文件是何种 加工方式的判断; 刀位文件读入模块则要根据刀位文件的特性, 逐条读入刀轨中刀具中心的 坐标值和刀轴向量值, 以及刀位文件中所包含的其他信息; 数据转换模块实现了后置处理算 法中的角度计算以及必要的直线坐标值的计算。 基于面向对象的技术, 使得我们在增加新的多轴后置处理系统时, 只要对其中的数据转换模 块进行变化,即可实现了多台多轴数控机床的后置处理的快速建立,实现了代码重用性。图 4 给出了采用该后置处理系统在 DMU200P数控机床上进行的应用,在窗口左侧显示的是刀位 文件,右侧显示的是经过后置处理的 NC 数据文件。 标牌制作 图 4 后置处理系统应用 四、结论 (1 ) 本文围绕一种运动形式复杂的五轴数控机床的后置处理, 进行了较为详细的运动学算 法论述,并且实现了该机床的五轴后置处理的程序。在该设备上的应用表明,采用该方法实 现的后置处理系统是可靠有效的。 (2 ) 采用面向对象技术实现的后置处理系统, 能够满足工厂新增设备多轴后置处理系统的 快速配置开发。