|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 yalukie 于 2014-11-21 15:21 编辑
- w$ N& ]4 P0 @, b2 J' [% U2 P7 m* n3 B6 `3 b
emastercam.com的后处理里面已经有在每个刀路开始加G5.1Q1,换刀之前加G5.1Q0的后处理了,且钻孔固定循环自动取消,但本人在所有用过的国产Fanuc系统机床上都无法使用。G5.1Q1的必要模态是在G49状态,而机床运行了G49依然无效,个人搞了很久都没找到原因。只好自己改了下后处理,只在程序头加上G5.1Q1,但是攻丝时会报警。于是就做进一步修改。代码如下:) _, F/ K4 _, {# R
在psof$ 中加入以下代码,用杂项实变数1控制切换。
1 X% P8 p* v1 D) |' g+ u
" \1 R) G9 q4 U2 P C4 Z! g* g
if mr1$ = 6,
! \2 X* O3 n1 Y+ _ [9 D9 f! J' u$ e/ X! e& i% w
pbld, "G5.1Q1", e$
1 e) w$ U# X& m! z& P0 g: v ] 2 ^) P$ l. e/ D+ P7 k7 I7 R
" c0 q, Q4 J0 [0 ?" X2 f
然后在换刀块ptlchg_com 中加入以下代码$ X0 s9 E# m5 U
5 E$ l7 g% K6 y; Z+ ?/ }2 P
if (mr1$ = 6 & op_id$ <> last_op_id & ((opcode$ = 3 | opcode$ = 16) & (nextdc$ = 3 | nextdc$ = 9))) & mr1_flg <> 6,
! V ]! L* }" s# a [7 P" ~% ]$ j k+ K8 n
"G5.1Q0", e$
" }: u, v% E. E; w3 S4 B. S mr1_flg = 6
% l% h* E% m4 E0 I) A( A ]
. _5 c) r; [! T这样就可以程序头加上G5.1Q1,攻丝循环时自动输出G5.1Q0了/ T7 l4 y$ V5 E Z. g8 g `
, y2 i6 D# S/ e& j) w+ x3 K效果如图
, k# i% O2 a0 Y5 k/ f2 z, w7 P
6 s7 b% w. W# Y7 O& ~ q$ X9 ]" I; [8 X$ s0 M: D
但这不是我觉得的最理想的,我想的是在攻丝完成之后,再重新加上G5.1Q1,单从后处理上实现不难,但是机床重新加上的时候即使用上以下格式依然报警8 b8 t1 A6 b5 Z4 ^. P
G49
8 P6 s/ O" g* e2 B. V2 iG5.1Q1
, D# d1 c4 s( J- M: j. \' K a {1 j* N. Q' e- Q
我单独实验了一下G49的用法,发现这指令和G43的一样是一个运动指令,也就是G49后面还要跟一个坐标点,而这个坐标是取消刀补之后的绝对坐标点。那这就不好控制了,比如设置G49Z0,意思就是运动到取消刀补之后的绝对坐标Z0位置,而如果坐标偏置里面P0加上所用的G54或者其他坐标的Z为负值的话,那就会跑到机械坐标Z的正值去,也就是超程了。如果总的Z偏置为正的话,那就一定的危险性,如果正值过大,刀会跑到机械坐标的负Z值,也就是这个Z偏置足够的大,就会撞到工作台或者工件了。如果用G91G49Z0这机床的动作更神奇,直接是按刀长补的值向下降!!!!7 P3 s$ X2 \7 I- j$ Y4 U4 U
不知道可不可以有什么代码或者方式能让像G91Z0G28 那样来执行G49,既取消了刀长补,又返回机床原点,或者不动作也行。 |
|