罗 威
(上海优集工业软件有限公司,上海 201203)
为适应集成电路装备精密零部件快速报价和加工的模式,某半导体设备精密零部件生产企业急需实施虚拟机床仿真,通过虚拟机床仿真定制,实现在将生产任务送到车间之前,减少大型复杂零件的编程和运行时间,降低成本的目的。通过对五轴数控机床的仿真定制,达成预期目标,实现基于数据驱动的G代码机床仿真,用于检查干涉、碰撞和机床行程,在仿真界面可进行NC程序编译,在图形界面显示机床运动和实体切削,切削的过程工件IPW可以和模型进行比对测量,以图谱形式显示过切和欠切余量,仿真结束后输出虚拟机床仿真报告。
虚拟机床仿真结构图如图1所示,CAM操作部分是在CAM软件中编制工件加工刀路轨迹,CAM POST部分可以把生成的刀路轨迹转化成机床加工需要的NC代码,图1中所示的NC代码是西门子840D格式的NC代码,仿真驱动部分可以把NC中的运动指令和辅助指令转换成各个轴的运动,从而驱动机床运动模型,仿真和验证NC程序的正确性。
图1 虚拟机床仿真结构图
软件中编制的工序,通过定制的机床后处理生产NC文件,在软件中调入虚拟机床,设定加工坐标系,调入数据库中刀具加工用到的工装夹具和需要仿真的NC文件,在图形窗口开始虚拟机床仿真。这样的结构保证编程、后处理生成NC文件、机床仿真的流程和车间进行编程、后处理、数控设备加工的流程一致。
通过机床后置处理定制可以把刀位数据文件转换成指定数控机床能执行的数控程序,使用西门子NX CAM提供的后处理构建器Post Builder创建机床后处理,定义时选择后处理输出单位、机床类型、控制器型号、线性轴行程限制值、线性轴运动精度及回零位置点,机床旋转轴旋转平面、线性插值及最大进给率,创建完成后采用TCL语言对后处理细节进行调整和编辑。
对于机床厂家定义的特殊指令,比如机床厂家基于Heidenhain iTNC 530开发的特殊指令CYCL DEF 398 ADVANCE 3D ROT,需要根据机床说明书中的定义进行定制。
为了仿真的准确性,虚拟机床模型需要按实际机床1∶1进行建模,建模时需要对机床组件进行分解,比如X轴机床组件、Y轴机床组件、Z轴机床组件、B轴机床组件和旋转工作台C轴组件,利用软件装配功能对绘制好的模型组件进行装配。如图2所示,以DMU125P机床为例,首先对实际机床进行测量,测量结束后绘制X轴、Y轴和C轴机床组件,绘制摆头B轴组件和旋转工作台C轴组件,绘制机床床身组件,对于不参与仿真运动的模型进行处理,对于影响仿真的组件要进行细节处理,确保关键部件是1∶1建模,建模结束后进行模型装配,确保装配后的模型和实际数控设备完全一致,模型正确了仿真时的干涉碰撞检查才有意义。
图2 虚拟仿真机床视图
机床运动模型的建立是为了搭建机床运动链,定义虚拟仿真机床的各个线性轴和旋转轴。用机床生成器(Machine Tool Builder,MTB)建立DMU125P机床运动模型,定义机床的运动组件、运动轴、运动轴方向、运动组件行程、运动组件加速度等数据,定义的数据会在CSE驱动中进行映射使用,其中运动轴上限、运动轴下限、运动轴初始值、运动轴软上限和运动轴软下限用来定义各个运动轴的行程,这个值越准确,虚拟仿真时行程检查的效果越真实,如NC程序中有超程的程序语句,可以在上机床加工前仿真出来,避免工件在机床加工时因为行程问题而进行调整位置或切换加工机床。定义的最大速度、最大加速度、最大加加速度、最大减速度和跳跃速度等轴动态属性要根据实际机床设定的参数进行定义,这些值的定义会影响虚拟机床仿真输出的加工时间。
对于虚拟机床仿真中的机器代码模拟,需要解析和执行 NC 程序,这些任务由 NX Manufacturing 的通用仿真引擎(CSE)执行,通过 CSE 的机床配置文件、控制器配置文件和Python脚本文件,来定制机器模拟行为。CSE 的机床配置文件、控制器配置文件和Python脚本文件将解析器的代码语言输出映射到引擎可以执行的命令和方法上。
机床配置文件和控制器配置文件采用机床配置器进行定制开发,根据不同数控设备控制器进行不同的配置,DMU125P机床使用的是Heidenhain iTNC 530系统,要根据NC代码中的指令,参照Heidenhain iTNC 530控制器对该指令的解析进行定制,比如NC程序中7 TOOL CALL 6.2 Z S4000 F1350 DL+0.1 DR-0.5DR2+0.03的程序行,7是行号,在刀具轴Z 调用6 号刀具,主轴转速为4 000 r/min,进给速率为1 350 mm/min。编程刀具长度和刀具半径均为2 时必须为其分别编程0.1 mm和0.03 mm 的正余量,刀具半径必须编程0.5 mm 的负余量。在仿真驱动定制时,需要定义TOOL CALL仿真指令,使虚拟仿真时执行TOOL CALL指令可以调用对应刀号的刀具到虚拟机床模型的主轴上,执行刀具调用的同时需要取出刀具的长度参数,在执行Z向值时把刀具长度参数补偿进来,保证刀具Z向位置的正确性。虚拟机床在调用刀具时需要回换刀安全点,在定制换刀指令时进行换刀安全点设置。定制转速SpindleSpeed,当SpindleSpeed为0时,仿真进行报错提示,当设定值大于机床最高转速时,也需要停止仿真进行报警。定制Feed指令,当Feed值为0或Feed值大于设定的最高值时,进行报警提示。按照Heidenhain iTNC 530机床说明书种对指令的定义,在机床仿真定制时对相应指令进行解析,最终实现在虚拟仿真时机床的运动轨迹和实际机床一致。
对于虚拟机床仿真中的特殊专用指令,需要根据机床说明书进行定制,比如对于机床厂家重新定义的Heidenhain iTNC 530中的CYCL DEF 398 ADVANCE 3D ROT~指令,机床厂家对斜面加工指令基于Heidenhain iTNC 530进行了客户化定制,指令如下:
CYCL DEF 398 ADVANCE 3D ROT~
Q1496=+0.000;Q1497=+0.000;Q1498=+0.000;Q1499=+2;Q1500=+54.736;Q1501=+0.000;Q1502=-45.000;Q1503=+1;Q1504=+1;Q1505=+1;Q1506=+0;Q1507=+0;Q1508=+1;Q1509=+0;Q1510=+0;Q1511=+0;Q1512=+0;
需要对斜面加工指令CYCL DEF 398 ADVANCE 3D ROT进行特殊专用指令定制,针对Q1496至Q1512的Q参数,进行解析,使机床虚拟仿真在执行CYCL DEF 398 ADVANCE 3D ROT时可以进行加工坐标系转换,使刀具垂直于要加工的斜面,做这个指令定制时要考虑刀具随着主轴进行摆角度时对刀长的影响。
在定制虚拟仿真时,客户提出加工工件时会使用大量角度头,由于角度头作为刀具安装至机床时,改变了刀轴方向,角度头的仿真在虚拟仿真软件时需要专门定制。角度头安装至机床主轴时存在X+、X-,Y+、Y-四个方向的安装位置,给虚拟机床仿真带来很大的技术难度。角度头种类多,安装方式存在4种情况,需要使用角度头的设备存在三轴、四轴、五轴立式机床、五轴卧式机床,考虑诸多情况后,没有参照以前项目上的经验,而是重新构建定制了角度头仿真指令,重新构建后的指令可以适应不同安装方向,不同结构的数控设备。考虑到不断购进增加的角度头,在仿真驱动中没有采用固定的角度头在各个轴方向的偏差值,而是采用函数进行调用读取,这样当客户购进新的角度头时,只需要在外部按照规则配置,就可在仿真时调用新加的角度头而进行正确的角度头仿真。
角度头仿真指令的定义解决了编程人员使用角度头时无法验证的状况,使用角度头加工时,很多情况下角度头深入零件内部,如果没有虚拟机床仿真,在实际机床上进行加工时无法从零件外部观察到角度头在零件内部的位置,当NC程序存在碰撞风险时无法通过观察进行检查和预防。使用角度头虚拟机床仿真后,在NC程序下放车间前,可以对要加工的NC程序进行验证,出现干涉、超程、碰撞风险时可以通过虚拟机床仿真检查出来,把加工风险降到最低。
测试时以图3的工件为例,加工工件采用虎钳夹持,调入虚拟机床,如图4所示。
图3 虚拟仿真测试工件
图4 仿真中的虚拟机床
1)将已经生成刀路的测试工件经过机床后处理生成NC文件simulation_test.h,调入需要仿真的虚拟机床,比如前面定义的DMU125P,步骤如下:在GENERIC_MACHINE上点编辑,在弹出界面上选择从库中调用机床,选择DMU125P虚拟机床,通过装配的方式把机床和工装进行装配。
2)调入机床后,在机床导航视图中制定加工的工件、加工毛坯几何体和工装夹具,检查NC程序中用到的刀具是否齐全,如有问题新建或编辑刀具,并根据车间现场实际情况配置相同的刀柄。
3)选择机床仿真图标,进入机床仿真环境,选择外部程序仿真,选择NC文件simulation_test.h,首先在机床轴位置界面检查各个轴的方向和行程是否正确,保证各个轴的运动方向和行程和实际机床完全一致。
4)点击播放按钮,检查机床仿真的NC文件刀路轨迹和操作中的刀路轨迹完全一致。在虚拟仿真过程中,可以设置断点、播放、停止等操作对仿真过程进行控制,也可以对仿真界面通过缩放、平移以及旋转操作来全方位观察仿真过程并及时发现加工中存在的安全隐患,通过设置可以检查刀具、机床主轴、机床工作台、工件和工装夹具间的干涉碰撞,如果存在干涉碰撞机床仿真将暂停,并把干涉碰撞处标红处理,在该状态下可以修改NC程序,直至NC程序安全无误。
5)仿真结束后可以生成仿真过程工件IPW,在IPW上可以用图谱样式显示过切和欠切,并对过切和欠切位置进行测量。
为了方便客户在虚拟机床仿真后对仿真结果进行记录和保存,对客户需求详细调研后开发了虚拟机床仿真报告。虚拟机床仿真报告见表1,仿真报告可细化至单个工步,用来记录每个工步加工时间,虚拟机床仿真出来的加工时间准确性高于95%,可用于工件加工前的成本核算和工时评估。
表1 虚拟机床仿真报告(仿真机床:DMU125P)
仿真过程中遇到机床组件和工件、工装碰撞干涉,在工步对应表格中记录碰撞对,同样,如果存在过切,在对应表格中记录过切对。仿真结束后对于工时、过切、碰撞和超程可以做综合评估。