摘要:研究了数控车削仿真的关键技术。根据数控车削加工过程的特点,实现了加工轨迹仿真、加工过程实时仿真和加工过程的干涉碰撞检查,探讨了数控车削NC坐标信息处理方法.对数控车削仿真系统中文本和图形显示功能进行了开发.提出了实现各种刀具轨迹仿真的可行算法。 |
1 引言
2 数控车削加工仿真流程
图1 数控车削加工仿真系统的工作流程 |
3 NC程序的编译解释
- NC程序格式
- 数控程序是由数控指令组成的,一般一条数控指令完成一个操作功能,NC程序是由若干条数控指令按照一定的结构构成的。一个完整的数控加工程序是由若干程序段组成的。常用的程序段格式有:固定顺序程序段格式、有分隔符的固定顺序程序段格式和字地址程序段格式。目前常采用字地址程序段格式,国际标准化组织制定了字地址程序段格式ISO-6983-1-1 982标准,其形式为
- N… G… X±… Z±… I±… J±… K±… M… S… T… F…
- 其中G指令、M指令及F、S、T指令代码描述数控机床的运动方式、加工类型、主轴状态、冷却液的开关、进给速率、主轴转速的设置和刀具的选择等。X、Z、I、J、K为坐标指令字,分别描述刀心位置坐标值及加工轨迹中圆弧的圆心坐标等。
- NC程序词法和语法分析
- 对NC程序解释编译是按照数控程序的书写规则进行的。词法和语法分析的实质是将NC程序与ISO数控程序标准进行匹配检查,针对FUNAC数控系统设置了20多条检查规则,例如:
- NC程序有效字符:%,N, G, M, T, F, S, X, Y, Z, I, J, K, R, 0~9, (,), /;
- 第一行必须是%或注释行;
- G代码后必须是两位数字,并且一定是有效代码.如G00、G01、G02、G50、G92等;
- 同组G代码在同一段中不能同时存在,如G01与G02或G03等不能同时出现在同一程序段内;
- M代码后必须是两位数字,并且一定是有效代码,如M01、M02、M08等:
- T代码后必须是数字,且符合TXXYY格式,其中XX值不能大于刀库容量,YY竹值不能大于刀具补偿号容量;
- S代码后必须是数字,且必须在主轴转速范围之内;
- …
- 对NC程序解释编译是按照数控程序的书写规则进行的。词法和语法分析的实质是将NC程序与ISO数控程序标准进行匹配检查,针对FUNAC数控系统设置了20多条检查规则,例如:
- NC程序编译解释
- NC 程序的编译过程是先建立一个与数控代码程序段格式相对应的Vbuffer类对象,把此对象作为一个临时缓冲区,将程序段中的数控加工信息依次读出,经解释变换后写入NC坐标信息文件中,该文件是刀具轨迹仿真的驱动数据。系统采用数据缓冲区的方法逐行顺序读人数控代码,故系统支持坐标字和数控指令字续效代码的处理。
图2 刀具运动轨迹仿真算法流程 - NC 程序的编译过程是先建立一个与数控代码程序段格式相对应的Vbuffer类对象,把此对象作为一个临时缓冲区,将程序段中的数控加工信息依次读出,经解释变换后写入NC坐标信息文件中,该文件是刀具轨迹仿真的驱动数据。系统采用数据缓冲区的方法逐行顺序读人数控代码,故系统支持坐标字和数控指令字续效代码的处理。
4 仿真行为
- 刀具轨迹的动态加工仿真
- 刀具轨迹动态仿真是根据要进行仿真的数控代码,在计算机屏幕上动态显示刀具轨迹,以运动轨迹的方式来直观显示零件具体的加工过程;进行刀具轨迹动态仿真时,顺序读入NC坐标信息文件,获取数控指令(直线、圆弧指令等)和命令参数(起点、终点和圆心坐标等),然后执行相应的轨迹处理:对于直线和圆弧命令,则要根据其起止运动坐标,进行直线和圆弧的插补运算,得到运动过程中离散的中间点的坐标值,然后动态显示刀具运动轨迹。刀具运动轨迹仿真算法流程如图2所示。
- 为了清楚地表达刀具的轨迹运动过程,仿真画面将显示零件毛坯、零件外形轮廓、夹具、起刀点、刀具运动轨迹、退刀点和辅助加工信息等。并用不同的颜色来表示不同的刀具运动轨迹。刀具轨迹加!:仿真的优点是可以简单直观地检测刀具运动轨迹的正确性,计算机处理数据较少,显示速度快,故可获得很好的动态显不效果。#p#分页标题#e#
- 零件加工过程动态仿真
(a)
(b)图3 加工过程动态仿真车削加厂模型 - 为了实时显示加工刀具的形状和运动过程,需建立一个刀具切削加工模型。为简化建模过程,对于车削刀具,将标准(ISO)刀具和非标准刀具统一成标准的切削模型,图3a为粗、精车刀和螺纹刀,图3b为切槽刀其中kr为主偏角,kr'为副偏角,Er为刀尖角,tw为槽刀宽度;同时建立一加工刀库配置文件来管理各种刀具的几何与物理描述数据在进行加工过程仿真时,根据数控代码中的指令,在刀库配置文件中选择相应的刀具,在夹具资源库中选择相应的夹具和夹紧方式,真实地反映加工过程,以观察刀具和夹具的干涉和碰撞情况。
- 加工过程动态仿真算法流程和刀具运动轨迹仿真算法流程是一致的(图2所示),不同的是刀具运动轨迹仿真是用“运动点”来动态显示刀具轨迹,而加工过程动态仿真算法是用“刀具模型”显示刀具轨迹,并实时显示毛坯的去除过程。根据切削加工模型,当刀具处于切削加工运动时,用背景色填充刀具切削部分来进行加工过程仿真:该方法只适用于二维车削的平面仿真情况,与毛坯的形状无关,亦不需额外的判断和计算过程,对汁算机的性能要求不高,微机的显示速度完全可以满足实时性的要求。
- 零件加工过程干涉碰撞检查
- 二维车削加工干涉碰撞是指,由于数控指令错误或刀具参数选择不当而造成的刀具与工夹具之间及刀具和己加工表面或待加工表面发生干涉碰撞的情况。干涉碰撞检查算法是,在任一加工时刻,将切削刀具包围轮廓和静止件(机床和夹具等)包围轮廓作二维布尔运算,如有相交情况,则说明该加工工步位置有碰撞清况发生,需修改加工指令。
图4 加工过程中刀具的干涉碰撞检查示意图
图5 干涉检查算法流程- 具体的干涉碰撞检查算法,是在插值点将加工刀具的主偏角和副偏角与直线倾斜角度比较,对于圆弧段轮廓,则与该插值点在圆弧轮廓的切线的倾斜角进行比较,并区分顺圆和逆圆两种情况。以右车刀切外轮廓为例,其对于直线和圆弧的干涉检查如图4所示。检查结果将写入一个干涉报告中,图4中,kr为主偏角.kr'为副偏角,Er为刀尖角,A为与切削加工方向相反的倾斜角,B为与切削加工方向相同的倾斜角。当A>kr时,刀具副切削刃和零件表面发生干涉,当180°+B<180°-kr时,刀具的主切削刃和零件表面发生干涉,这时将发生过切现象二对于不同的加工方向和加工轮廓,上述判别式应进行相应的调整。
- 零件加工过程干涉碰撞检查的算法流程如图5所示。
- 二维车削加工干涉碰撞是指,由于数控指令错误或刀具参数选择不当而造成的刀具与工夹具之间及刀具和己加工表面或待加工表面发生干涉碰撞的情况。干涉碰撞检查算法是,在任一加工时刻,将切削刀具包围轮廓和静止件(机床和夹具等)包围轮廓作二维布尔运算,如有相交情况,则说明该加工工步位置有碰撞清况发生,需修改加工指令。