|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 yalukie 于 2014-11-21 15:21 编辑 % P5 r. e) W5 V0 l- _
+ s! d8 }, ?. `
emastercam.com的后处理里面已经有在每个刀路开始加G5.1Q1,换刀之前加G5.1Q0的后处理了,且钻孔固定循环自动取消,但本人在所有用过的国产Fanuc系统机床上都无法使用。G5.1Q1的必要模态是在G49状态,而机床运行了G49依然无效,个人搞了很久都没找到原因。只好自己改了下后处理,只在程序头加上G5.1Q1,但是攻丝时会报警。于是就做进一步修改。代码如下:' |% J' h/ Z9 |3 E# k
在psof$ 中加入以下代码,用杂项实变数1控制切换。
l; S9 G- w, _. z0 K' |
3 D, z* ~+ {7 i2 y1 _7 C
if mr1$ = 6,) n2 S( X; _, \+ X# D' V5 o" J
[1 ]7 c P$ G3 N3 r2 r) o" E/ e" ?) U' R
pbld, "G5.1Q1", e$
3 c) y* Z3 m4 G ]
# S9 Q3 j8 b. v) E# F( i; I- Q$ C2 a; f1 U `1 A
然后在换刀块ptlchg_com 中加入以下代码% ^1 G/ _/ {, k2 p4 V# ^4 ^! f
/ L3 s9 }3 J4 ]) o9 C. j( G4 |+ a$ |' Q
if (mr1$ = 6 & op_id$ <> last_op_id & ((opcode$ = 3 | opcode$ = 16) & (nextdc$ = 3 | nextdc$ = 9))) & mr1_flg <> 6, % K- I% T i2 r$ b
[9 q) E' f6 e6 |4 U! a
"G5.1Q0", e$0 y* H* R M |( }, L: d& O
mr1_flg = 6
6 g- w9 E+ @2 f* { ]9 O1 V$ A5 o, p% a' C. H
这样就可以程序头加上G5.1Q1,攻丝循环时自动输出G5.1Q0了7 g) G+ a' x' J! A# [
$ K, D* L( t. I) Q$ F0 p效果如图
( h/ Y* V3 L% {$ K1 W, k
, ]" I0 Y3 U6 V! E: O
" E4 X# ]# }/ O; D) Z# ?. T' j但这不是我觉得的最理想的,我想的是在攻丝完成之后,再重新加上G5.1Q1,单从后处理上实现不难,但是机床重新加上的时候即使用上以下格式依然报警 g5 r4 j9 q" t7 r9 |* U D
G49/ O, U. ?7 ~4 i& b% ?7 U3 r
G5.1Q14 `& _, Z T4 @
6 O, T+ X" E' N- F
我单独实验了一下G49的用法,发现这指令和G43的一样是一个运动指令,也就是G49后面还要跟一个坐标点,而这个坐标是取消刀补之后的绝对坐标点。那这就不好控制了,比如设置G49Z0,意思就是运动到取消刀补之后的绝对坐标Z0位置,而如果坐标偏置里面P0加上所用的G54或者其他坐标的Z为负值的话,那就会跑到机械坐标Z的正值去,也就是超程了。如果总的Z偏置为正的话,那就一定的危险性,如果正值过大,刀会跑到机械坐标的负Z值,也就是这个Z偏置足够的大,就会撞到工作台或者工件了。如果用G91G49Z0这机床的动作更神奇,直接是按刀长补的值向下降!!!!
" Y6 g# ]5 B" q+ Z9 C _- H4 ^# M不知道可不可以有什么代码或者方式能让像G91Z0G28 那样来执行G49,既取消了刀长补,又返回机床原点,或者不动作也行。 |
|