作者 | 主题 |
---|---|
手机用户20210702456140 游民 经验值:68 发帖数:6 精华帖:0 |
楼主 2022-05-06 15:12:45
主题:浅谈FGROUP 和 FGREF的用法 想要了解FGROUP 和 FGREF的用法,首先要搞清楚几个概念: 1, 直线轴(Linear axis): X, Y, Z 2, 回转轴(Rotary axis): A,B,C 3, 轨迹轴(Path axis): 参与进给运算的轴,正常加工状态,仅有直线轴(X,Y,Z)为轨迹轴 4, 同步轴(synchronized axis): 从动轴,不参与进给运算,仅根据编程轨迹随动。 默认状态下,直线轴为轨迹轴。 回转轴为同步轴! FGROUP的用法: 简单来讲,FGROUP的作用是定义轨迹轴及同步轴,它既可以把回转轴转化为轨迹轴,也可以将直线轴转化为同步轴。 以下示例解释将回转轴转化为轨迹轴: 默认未启用FGREF指令(即计算进给速度时认为A轴的1°=1mm) 1, N10 G0 X0Y0Z0A0 N20 FGROUP(X,Y,Z,A) N30 G91 G1 X10 Y10 Z10 A100 F100 此程序段中,FGROUP的作用是把A轴转化为轨迹轴。 对F的影响: 无 FGROUP(X,Y,Z,A)时,N30中各轴的实际进给速度计算如下: 实际运动时间(min)=运动轨迹总长/进给=(10^2+10^2+10^2)^(1/2)/100=17.32/100=0.1732min=10.4s 各轴速度=距离/时间: sX=10/0.1732=57.73 mm/min sY=10/0.1732=57.73 mm/min sZ=10/0.1732=57.73 mm/min sA=100/0.1732=577.3 °/min 有 FGROUP(X,Y,Z,A)时,N30中各轴的实际进给速度计算如下: 实际运动时间(min)=运动轨迹总长/进给=(10^2+10^2+10^2+100^2)^(1/2)/100=101.5/100=1.015min=60.9s 各轴速度: sX=9.85 mm/min sY=9.85 mm/min sZ=9.85 mm/min sA=98.5 °/min 此例中可以看出,使用FGROUP可避免因回转轴距离过大,造成的回转速度过快 以下示例解释将直线轴转化为同步轴 2, N10 G0 X0Y0Z0 N20 FGROUP(X,Y) N30 G91 G1 X10 Y10 Z100 F100 此程序段中,FGROUP的作用是把Z轴转化为同步轴。 对F的影响: 有 FGROUP(X,Y)时,N30中各轴的实际进给速度 实际运动时间(min)=运动轨迹总长/进给=(10^2+10^2)^(1/2)/100=14.14/100=0.1414min=8.48s 各轴速度: sX=70.7 mm/min sY=70.7 mm/min sZ=707 mm/min 无 FGROUP(X,Y)时,N30中各轴的实际进给速度 实际运动时间(min)=运动轨迹总长/进给=(10^2+10^2+100^2)^(1/2)/100=101/100=1.01min=60.6s 各轴速度: sX=9.9 mm/min sY=9.9 mm/min sZ=99 mm/min FGREF的用法: 适用工况:仅适用于有回转轴参与运动的多轴联动情况。 作用:给回转轴设定参考半径,用于将回转轴角度转换为长度来计算各矢量进给。 举例: 1, N10 G0 X0Y0Z0A0 N20 FGROUP(X,Y,Z,A) N30 G91 G1 X10 Y10 Z10 A100 F100 N40 FGREF[A]=10 N50 G91 G1 X10 Y10 Z10 A100 F100 N30各轴的实际进给为: 各轴速度: sX=9.85 mm/min sY=9.85 mm/min sZ=9.85 mm/min sA=98.5 °/min N50各轴的实际进给为: 实际运动时间(min)=运动轨迹总长/进给=(10^2+10^2+10^2+(100*10*2PI/360)2)开根号/100=24.58/100=0.246min=14.75s PS: 10*2PI/360意为10mm半径的圆每度的长度。 各轴速度: sX=40.65 mm/min sY=40.65 mm/min sZ=40.65 mm/min sA=406.5 °/min 不很确定我的理解有没有问题,欢迎各位大神指正! |