欢迎光临前沿数控新媒体!

如何编写大螺距圆弧螺纹宏程序?

发布时间:2019-07-16
来源:网络
阅读量:5436

做数控车的师傅遇到大螺距螺纹,圆弧螺纹,异性螺纹的编程,往往束手无策,因为普通的G指令(G32,G92,G76)很难实现这类零件的加工。

 

那么,遇到这类零件如何编程呢?

 

很棒的方法就是利用宏程序,那么我给你讲三点,让你明白此类零件的宏程序编程思路。


一、三角函数


先回顾下数学中的三角函数(如下图)


1.png


如上图,已知夹角a, sin a=BC/AC    cos a=AB/AC    tan a=BC/AB 那么知道夹角以及一边数值,很容易推出另外一条边的数值。


二、利用三角函数计算轮廓线上的坐标


为什么需要计算出轮廓线上坐标点?


2.png


因为不论是圆弧、还是曲线,它都是由无数个小点组成的,然后点与点之间用小线段连接起来,从而构成了圆弧或者曲线。如果点的位置相互紧密,那么加工出来的轮廓就光滑。


比如梯形螺纹。


3.jpg


比如半圆形螺纹。


4.jpg


是的,但和三角函数有什么关系?

 

比如半圆,在半圆上绘制直角三角形,并在轮廓上设置了任意B点,如下图。


5.jpg


那么根据三角函数,B点的X和Z坐标如下:


BC=AB*SINθ  (X方向)

AC=AB*COSθ (Z方向)


好了,有了三角函数公式,如何计算出BC和AC的数值?


是不是 知道夹角θ以及一边AB数值,很容易推出另外一条边的数值。

 

是的,先说AB,是不是你要加工的半圆形圆弧牙深?加工的图纸上就有,属于已知尺寸。

 

再说夹角θ 角度。


6.jpg


仿形车螺纹,刀具沿圆弧逐次进,角度从0开始,180度结束,那么你还记得我多次强调过的变量自增运算和WHILE语句吗?

 

比如定义角度θ变量为#3,那

变量#3自增运算格式如下:


#3=0

#3=#3+0.1


0.1为角度的增量,通过变量自增,从而计算出轮廓线上的n多个数据。

 

WHILE 语句格式如下:


WHILE[#3LE180]DO1

程序

END1

通过WHILE语句判断半圆弧是否切削完。


三、如何利用计算出的BC和AC来编写宏程序?


理论是一回事,把理论用于实践是另一回事,那么至少考虑下面两个问题。

 

第一:编程原点


利用勾股定理计算出的X,Z(比如下图) ,是以圆弧圆心为坐标原点。


6.jpg


而实际编程原点:Z方向原点大多设在零件表面Z=0处,X在零件回转中心上。


那么利用勾股定理计算出BC,AC数值还需换算。比如内螺纹底孔为D42,(X方向)换算后应为:D42+2*BC ,也就是底孔直径加上2倍的BC。


第二:刀具,比如刀具圆角


如仿形车螺纹(刀具沿圆弧逐次进刀)由于刀具存在圆弧R,刀具沿着螺纹轮廓实际轨迹应该是:螺纹圆弧半径-刀具圆角半径


7.jpg


好了,分析到这有点基础的该明白了,我直接上程序以供大家参考。

%

O0001

G54G00X100.Z50.

M03S100

G00X42

Z15.

#1=3(螺纹圆弧R)

#2=2 (刀具圆弧R)

#3=0  (角度初始变量)

WHILE[#3LE180]DO1 (如果没有切削完一个半圆弧继续循环1)

#5=[#1-#2]*SIN[#3](计算X坐标)

#6=[#1-#2]*COS[#3]  (计算Z坐标)

(这是根据勾股定理推算出来的)

G0Z[5+#6](螺纹切削循环起点)

G92X[42+2*#5]Z-80. F10(螺纹切削)

(D42是螺纹底孔直径,由于#5我计算的是X方向单边值,要换算成直径,所以需要乘以2)

#3=#3+10(角度每次递增10°)

END1(循环1结束)

G00Z50.

M30

%

全部评论(0)
评论 点赞 收藏
微信扫码登录 其他方式登录
完善资料
点击图片设置头像
昵称
性别
 
您尚未登录!