一种电火花线切割3B代码解码算法与QT实现
2021-07-02李丹
李 丹
(湖南科技职业学院,长沙 410118)
电火花线切割机床是一种特种加工机床。它的加工精度和加工性价比较高,在各类高精密零部件加工方面应用广泛[1]。由于成本等因素的限制,目前我国大部分电火花线切割机床采用单板机作为控制器,而单板机多年未更新,且人机交互性能差[2-5]。
QT具有优秀的跨平台界面反馈和设计功能[6-7]。本文基于QT平台,验证电火花线切割3B加工指令的解码算法,并通过图形方式显示用户导入的3B程序对应的加工图形,可供用户直观检验3B代码对应的零件形状是否符合加工要求,增强了人机交互性,节约了时间成本。
1 电火花线切割3B代码解码算法
1.1 电火花线切割3B代码格式
3B代码的格式是BXBYBJGZ[8]。代码中,3个B表示数据的分隔符;X、Y、J、G和Z代表5个必要的参数。其中:B为分隔符,用于区分隔离X、Y和J等数码,B后的数字若为0,则可省略不写;X、Y为直线的终点坐标值或圆弧的起点坐标值,编程时均取绝对值,单位为μm;J为计数长度,单位为μm;G为计数方向,分Gx或Gy,可按x方向或y方向计数,工作台在该方向每走1 μm即计数累减1,当累减到计数长度J=0时,表示这段程序加工完成;Z为加工类型,分为直线L和圆弧R两大类。直线按照走向和终点所在象限,分为L1、L2、L3、L4,如图1所示。圆弧按照第一步进入的象限及其走向的顺圆或逆圆,分为SR1、SR2、SR3、SR4及NR1、NR2、NR3、NR4,如图2所示。
图1 直线所在象限情况
图2 圆弧所在象限情况
1.2 电火花线切割直线3B代码解码
根据读入的直线3B代码,结合直线的加工类型(L1~L4),可确定直线终点坐标所在象限。如果当前直线3B代码为程序首行,则起点坐标(X0,Y0)为(0,0),否则当前直线的起点坐标为上一段的终点坐标。由于直线3B代码中的X和Y值是相对于起点坐标的绝对值,则可通过区分的象限确定直线3B代码中的X和Y的符号,从而获得直线的终点坐标。
通过式(1)可求得直线的长度Lz:
1.3 电火花线切割圆弧3B代码解码
根据圆弧3B代码,可得圆弧的绝对值起点坐标(X,Y)及计数长度J,通过式(2)计算圆弧半径R:
假设圆弧上一线段的终点坐标为(Xe,Ye),可结合圆弧起点所在象限求得圆心坐标。如果圆弧起点所在象限为SR1或NR1,则圆心坐标(Xc、Yc)计算方法分别为:
则对应的圆弧起始角α为:
如果圆弧起点所在象限为SR2或者NR2,则圆心坐标(Xc、Yc)的计算方法为:
则对应的圆弧起始角α为:
根据以上方法可推算出圆弧起点在第3象限和第4象限时,圆弧的圆心坐标(Xc、Yc)和起始角α。
整圆的判定方法为圆弧3B代码中计数长度J是否与4R相等,若相等则为整圆。整圆的终点坐标和终止角与起点坐标和起始角保持一致。
当圆弧不为整圆时,则需通过判断起点所在象限(L1~L4)、顺圆(SR1~SR4)或逆圆(NR1~NR4)、短轴上投影的长度J,确定圆弧终点所在象限及该象限的短轴长度Jn,再得出圆弧的终点坐标(Xn,Yn)与终止角β。
具体方法:当X为短轴即Gx且圆弧为起点在第1象限或第2象限的顺圆即SR1或者SR3时,先判断式(9)的值:
J<R-Y(9)
当式(9)的值为真时,可得起始角α和终止角β在同一象限,则圆弧终点坐标(Xn,Yn)的绝对值可通过式(10)和式(11)求得:
结合式(12)中得到的象限数N,通过式(13)可得圆弧终点所在象限的短轴投影长度Jn:
当圆弧终点在第1象限、第3象限时,|Xn|=Jn;当圆弧终点在第2象限、第4象限时,|Xn|=R-Jn。根据圆弧解析式,结合式(11),可得|Yn|的值。由圆弧终点所在象限,可知|Xn|、|Yn|的正负符号。根据终点坐标所在象限,结合式(5)、式(8)等,可求得圆弧的终止角β。其他的起点象限或者Y为短轴,都以此类推求出圆弧的终点坐标(Xn,Yn)和终止角β。需要说明的是,以上所述的圆弧起始角α和终止角β均为弧度。
圆弧的弧长Lc为:
式中,圆弧终止角β减去起始角α为圆弧弧度。
2 3B代码图形界面的QT设计过程
在电火花线切割过程中,按照阐述的直线或圆弧解码算法,对加工图形生成的3B代码进行解码,再通过人机交互界面将3B代码程序所对应的加工图形在电火花线切割数控系统进行显示,方便操作人员实时查看加工图形的形状。
采用QT开发电火花线切割的加工图形界面,绘制直线的指令为DrawLine(起点坐标X0,起点坐标Y0,终点坐标Xz,终点坐标Yz),绘制椭圆指令为DrawEllipse(椭圆边框左上角X坐标,椭圆边框左上角Y坐标,椭圆边框宽度,椭圆边框高度),则整圆绘制指令为DrawEllipse(圆心Xc坐标-半径R,圆心Yc坐标-半径R,直径D,直径D)。弧线绘制指令为DrawArc(椭圆矩形左上角X坐标,椭圆矩形左上角Y坐标,椭圆的矩形宽度,椭圆的矩形高度,从X轴到弧线起始点沿顺时针方向度量的角(以1/16度为单位),从StartAngle参数到弧线结束点沿顺时针方向度量的角(以1/16度为单位))。由此可知,绘制圆弧段的指令为DrawArc(圆心Xc坐标-半径R,圆心Yc坐标-半径R,直径D,直径D,起始角度*16,终止角度*16)。
3 3B代码图形界面的QT实现
经过3B代码图形界面的QT设计过程,可通过如下步骤直观查看电火花线切割零件加工图形:
(1)使用AutoCAD绘制要加工的二维零件图;
(2)将加工零件图导入AutoCut或CAXAWEDM等软件,生成3B代码;
(3)将生成的3B代码存储到文本文档;
(4)在如图3所示的图形界面中,通过“文件”菜单导入3B代码文本文档,则显示对应的加工零件图。
图3 基于QT的3B代码加工图形交互界面
以下为具体示例,每一条指令及功能如下:
N1: B0 B24900 B24900 GYL2;0.000,24.900//往Y轴正方向移动24.9 mm;
N2: B 0 B 24900 B 49800 GX NR2;-0.000,-24.900//以当前点Y-24.9 mm为圆心,以24.9 mm为半径,
逆时针绘制一个在X轴上投影为49.8 mm的圆弧(即半圆);
N3: B 56757 B 0 B 56757 GX L1;56.757,-24.900//往X轴正方向移动56.757 mm;
N4: B 43243 B 24900 B 149800 GY NR3;56.756,24.898//以当前点(X+43.243 mm,Y+24.9 mm)为圆心,49.9mm为半径,逆时针绘制一个在Y轴上投影为149.8 mm的圆弧
N5: B 56756 B 2 B 56756 GX L2;0.000,24.900//往X轴反方向走56.756 mm
N6: B 0 B 24900 B 24900 GY L4;0.000,0.000//往Y轴反向方走24.9 mm,回到起点
N7: DD//结束停机
通过以上的3B指令的功能解析可知,它的加工轨迹与图3的图形一致,可知本文介绍的3B解析算法能够有效在QT平台进行加工图形的显示,既增加了人机交互性能,也为基于QT的电火花线切割数控系统跨平台应用奠定了基础。
4 结语
为了加快我国快走丝线切割行业的自动化发展,借助于QT良好的跨平台性能,依据本文的3B指令解码算法,研发了基于QT的3B指令图形界面,能够有效提取3B程序文档中的信息,并转换成对应的零件加工图形,帮助线切割行业操作人员直观了解加工信息,提高人机交互性能。