Sub 偏差计算()
偏差 = Abs(x终点) × z动点 - x动点 × Abs(z终点)
End Sub
Sub 插补()
Dim c As Integer
Select Case 象限标志
Case 1: '第一象限插补
Do Until x动点 + z动点 >= 总步数
If 偏差 >= 0 Then
x动点 = x动点 + 1:
Line -Step(0, x步长), vbRed
Else
z动点 = z动点 + 1:
Line -Step(z步长, 0), vbRed
End If
偏差计算
Loop
Case 2: '第二象限插补
c = x终点: x终点= z终点: z终点= -c
c = x步长: x步长 = z步长: z步长 = -c
Do Until x动点 + z动点 >= 总步数
If 偏差 >= 0 Then
x动点 = x动点 + 1:
Line -Step(x步长, 0), vbRed
Else
z动点 = z动点 + 1:
Line -Step(0, z步长), vbRed
End If
偏差计算
Loop
Case 3: '第三象限插补
x步长 = -x步长: z步长 = -z步长
Do Until x动点 + z动点 >= 总步数
If 偏差 >= 0 Then
x动点 = x动点 + 1:
Line -Step(0, x步长), vbRed
Else
z动点 = z动点 + 1:
Line -Step(z步长, 0), vbRed
End If
偏差计算
Loop
Case 4: '第四象限插补
c = x终点: x终点= -z终点: z终点 = c
c = x步长: x步长 = -z步长: z步长 = c
Do Until x动点 + z动点 >= 总步数
If 偏差 >= 0 Then
x动点 = x动点 + 1: Line -Step(x步长, 0), vbRed
Else
z动点 = z动点 + 1: Line -Step(0, z步长), vbRed
End If
偏差计算
Loop
End Select
End Sub
华科数控车床-G代码 这个是我在数控模拟的软件里弄出来的,我也学过数控车床G代码
代码名称-功能简述
G00------快速定位
G01------直线插补
G02------顺时针方向圆弧插补
G03------逆时针方向圆弧插补
G04------定时暂停
G05------通过中间点圆弧插补
G07------Z 样条曲线插补
G08------进给加速
G09------进给减速
G20------子程序调用
G22------半径尺寸编程方式
G220-----系统 *** 作界面上使用
G23------直径尺寸编程方式
G230-----系统 *** 作界面上使用
G24------子程序结束
G25------跳转加工
G26------循环加工
G30------倍率注销
G31------倍率定义
G32------等螺距螺纹切削,英制
G33------等螺距螺纹切削,公制
G53,G500-设定工件坐标系注销
G54------设定工件坐标系一
G55------设定工件坐标系二
G56------设定工件坐标系三
G57------设定工件坐标系四
G58------设定工件坐标系五
G59------设定工件坐标系六
G60------准确路径方式
G64------连续路径方式
G70------英制尺寸 寸
G71------公制尺寸 毫米
G74------回参考点(机床零点)
G75------返回编程坐标零点
G76------返回编程坐标起始点
G81------外圆固定循环
G331-----螺纹固定循环
G90------绝对尺寸
G91------相对尺寸
G92------预制坐标
G94------进给率,每分钟进给
G95------进给率,每转进给
G00—快速定位
格式:G00 X(U)__Z(W)__
说明:(1)该指令使刀具按照点位控制方式快速移动到指定位置。移动过程中不得对工件
进行加工。
(2)所有编程轴同时以参数所定义的速度移动,当某轴走完编程值便停止,而其他
轴继续运动,
(3)不运动的坐标无须编程。
(4)G00可以写成G0
例:G00 X75 Z200
G0 U-25 W-100
先是X和Z同时走25快速到A点,接着Z向再走75快速到B点。
G01—直线插补
格式:G01 X(U)__Z(W)__F__(mm/min)
说明:(1)该指令使刀具按照直线插补方式移动到指定位置。移动速度是由F指令
进给速度。所有的坐标都可以联动运行。
(2)G01也可以写成G1
例:G01 X40 Z20 F150
两轴联动从A点到B点
G02—逆圆插补
格式1:G02 X(u)____Z(w)____I____K____F_____
说明:(1)X、Z在G90时,圆弧终点坐标是相对编程零点的绝对坐标值。在G91时,
圆弧终点是相对圆弧起点的增量值。无论G90,G91时,I和K均是圆弧终点的坐标值。
I是X方向值、K是Z方向值。圆心坐标在圆弧插补时不得省略,除非用其他格式编程。
(2)G02指令编程时,可以直接编过象限圆,整圆等。
注:过象限时,会自动进行间隙补偿,如果参数区末输入间隙补偿与机床实际反向间隙
悬殊,都会在工件上产生明显的切痕。
(3)G02也可以写成G2。
例:G02 X60 Z50 I40 K0 F120
格式2:G02 X(u)____Z(w)____R(+\-)__F__
说明:(1)不能用于整圆的编程
(2)R为工件单边R弧的半径。R为带符号,“+”表示圆弧角小于180度;
“-”表示圆弧角大于180度。其中“+”可以省略。
(3)它以终点点坐标为准,当终点与起点的长度值大于2R时,则以直线代替圆弧。
例:G02 X60 Z50 R20 F120
格式3:G02 X(u)____Z(w)____CR=__(半径)F__
格式4:G02 X(u)____Z(w)__D__(直径)F___
这两种编程格式基本上与格式2相同
G03—顺圆插补
说明:除了圆弧旋转方向相反外,格式与G02指令相同。
G04—定时暂停
格式:G04__F__ 或G04 __K__
说明:加工运动暂停,时间到后,继续加工。暂停时间由F后面的数据指定。单位是秒。
范围是0.01秒到300秒。
G05—经过中间点圆弧插补
格式:G05 X(u)____Z(w)____IX_____IZ_____F_____
说明:(1)X,Z为终点坐标值,IX,IZ为中间点坐标值。其它与G02/G03相似
例: G05 X60 Z50 IX50 IZ60 F120
G08/G09—进给加速/减速
格式:G08
说明:它们在程序段中独自占一行,在程序中运行到这一段时,进给速度将增加10%,
如要增加20%则需要写成单独的两段。
G22(G220)—半径尺寸编程方式
格式:G22
说明:在程序中独自占一行,则系统以半径方式运行,程序中下面的数值也是
以半径为准的。
G23(G230)—直径尺寸编程方式
格式:G23
说明:在程序中独自占一行,则系统以直径方式运行,程序中下面的数值也是
以直径为准的。
G25—跳转加工
格式:G25 LXXX
说明: 当程序执行到这段程序时,就转移它指定的程序段。(XXX为程序段号)。
G26—循环加工
格式:G26 LXXX QXX
说明:当程序执行到这段程序时,它指定的程序段开始到本 段作为一个循环体,
循环次数由Q后面的数值决定。
G30—倍率注销
格式:G30
说明:在程序中独自占一行,与G31配合使用,注销G31的功能。
G31—倍率定义
格 式:G31 F_____
G32—等螺距螺纹加工(英制)
G33—等螺距螺纹加工(公制)
格式:G32/G33 X(u)____Z(w)____F____
说明:(1)X、Z为终点坐标值,F为螺距
(2)G33/G32只能加工单刀、单头螺纹。
(3)X值的变化,能加工锥螺纹
(4)使用该指令时,主轴的转速不能太高,否则刀具磨损较大。
G54—设定工件坐标一
格式:G54
说明:在系统中可以有几个坐标系,G54对应于第一个坐标系,其原点位置数值在机床
参数中设定。
G55—设定工件坐标二
同上
G56—设定工件坐标三
同上
G57—设定工件坐标四
同上
G58—设定工件坐标五
同上
G59—设定工件坐标六
同上
G60—准确路径方式
格式:G60
说明:在实际加工过程中,几个动作连在一起时,用准确路径编程时,那么在进行
下一 段加工时,将会有个缓冲过程(意即减速)
G64—连续路径方式
格式:G64
说明:相对G60而言。主要用于粗加工。
G74—回参考点(机床零点)
格式:G74 X Z
说明:(1)本段中不得出现其他内容。
(2)G74后面出现的的座标将以X、Z依次回零。
(3)使用G74前必须确认机床装配了参考点开关。
(4)也可以进行单轴回零。
G75—返回编程坐标零点
格式:G75 X Z
说明:返回编程坐标零点
G76—返回编程坐标起始点
格式:G76
说明:返回到刀具开始加工的位置。
G81—外圆(内圆)固定循环
格式:G81__X(U)__Z(W)__R__I__K__F__
说明:(1)X,Z为终点坐标值,U,W为终点相对 于当前点的增量值 。
(2)R为起点截面的要加工的直径。
(3)I为粗车进给,K为精车进给,I、K为有符号数,并且两者的符号应相同。
符号约定如下:由外向中心轴切削(车外圆 )为“—”,反这为“+”。
(4)不同的X,Z,R 决定外圆不同的开关,如:有锥度或没有度,
正向锥度或反向锥度,左切削或右切削等。
(5)F为切削加工的速度(mm/min)
(6)加工结束后,刀具停止在终点上。
例:G81 X40 Z 100 R15 I-3 K-1 F100
加工过程:
1:G01进刀2倍的I(第一刀为I,最后一刀为I+K精车),进行深度切削:
2:G01两轴插补,切削至终点截面,如果加工结束则停止:
3:G01退刀I到安全位置,同时进行辅助切面光滑处理
4:G00快速进刀到高工面I外,预留I进行下一 步切削加工 ,重复至1。
G90—绝对值方式编程
格式:G90
说明:(1)G90编入程序时,以后所有编入的坐标值全部是以编程零点为基准的。
(2)系统上电后,机床处在G状态。
N0010 G90 G92 x20 z90
N0020 G01 X40 Z80 F100
N0030 G03 X60 Z50 I0 K-10
N0040 M02
G91—增量方式编程
格式:G91
说明:G91编入程序时,之后所有坐标值均以前一个坐标位置作为起点来计算
运动的编程值。在下一段坐标系中,始终以前一点作为起始点来编程。
例: N0010 G91 G92 X20 Z85
N0020 G01 X20 Z-10 F100
N0030 Z-20
N0040 X20 Z-15
N0050 M02
G92—设定工件坐标系
格式:G92 X__ Z__
说明:(1)G92只改变系统当前显示的坐标值,不移动坐标轴,达到设定坐标
原点的目的。
(2)G92的效果是将显示的刀尖坐标改成设定值 。
(3)G92后面的XZ可分别编入,也可全 编。
G94—进给率,每分钟进给
说明:这是机床的开机默认状态。
G20—子程序调用
格式:G20 L__
N__
说明:(1)L后为要调用的子程序N后的程序名,但不能把N输入。
N后面只允许带数字1~99999999。
(2)本段程序不得出现以上描述以外的内容。
G24—子程序结束返回
格式:G24
说明:(1)G24表示子程序结束,返回到调用该子程序程序的下一段。
(2)G24与G20成对出现
(3)G24本段不允许有其它指令出现。
例:通过下例说明在子程序调用过程中参数的传递过程,请注意应用
程序名:P10
M03 S1000
G20 L200
M02
N200 G92 X50 Z100
G01X40 F100
Z97
G02 Z92 X50 I10 K0 F100
G01 Z-25 F100
G00 X60
Z100
G24
如果要多次调用,请按如下格式使用
M03 S1000
N100 G20 L200
N101 G20 L200
N105 G20L200
M02
N200 G92 X50 Z100
G01X40 F100
Z97
G02 Z92 X50 I10 K0 F100
G01 Z-25 F100
G00 X60
Z100
G24
G331—螺纹加工循环
格式:G331 X__ Z__I__K__R__p__
说明:(1)X向直径变化,X=0是直螺纹
(2)Z是螺纹长度,绝对或相对编程均可
(3)I是螺纹切完后在X方向的退尾长度,±值
(4)R螺纹外径与根径的直径差,正值
(5)K螺距KMM
(6)p螺纹的循环加工次数,即分几刀切完
提示:
1、每次进刀深度为R÷p并取整,最后一刀不进刀来光整螺纹面
2、内螺纹退尾根据沿X的正负方向决定I值的称号。
3、螺纹加工循环的起始位置为将刀尖对准螺纹的外圆处。
例子:
M3
G4 f2
G0 x30 z0
G331 z-50 x0 i10 k2 r1.5 p5
G0 z0
M05
直线插补就是只能用于实际轮廓是直线的插补方式(如果不是直线,也可以用逼近的方式把曲线用一段段线段去逼近,从而每一段线段就可以用直线插补了).首先假设在实际轮廓起始点处沿x方向走一小段(一个脉冲当量),发现终点在实际轮廓的下方,则下一条线段沿y方向走一小段,此时如果线段终点还在实际轮廓下方,则继续沿y方向走一小段,直到在实际轮廓上方以后,再向x方向走一小段,依次循环类推.直到到达轮廓终点为止.这样,实际轮廓就由一段段的折线拼接而成,虽然是折线,但是如果我们每一段走刀线段都非常小(在精度允许范围内),那么此段折线和实际轮廓还是可以近似地看成相同的曲线的--------这就是直线插补.欢迎分享,转载请注明来源:内存溢出
评论列表(0条)