|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 yalukie 于 2014-11-21 15:21 编辑
. y2 i$ W6 k& B5 e# }$ T
1 z- _ S8 w9 ]3 c/ l/ |+ S3 G P! eemastercam.com的后处理里面已经有在每个刀路开始加G5.1Q1,换刀之前加G5.1Q0的后处理了,且钻孔固定循环自动取消,但本人在所有用过的国产Fanuc系统机床上都无法使用。G5.1Q1的必要模态是在G49状态,而机床运行了G49依然无效,个人搞了很久都没找到原因。只好自己改了下后处理,只在程序头加上G5.1Q1,但是攻丝时会报警。于是就做进一步修改。代码如下:2 @6 _2 K8 @& @. e8 A; n
在psof$ 中加入以下代码,用杂项实变数1控制切换。
: w2 z+ e! w$ m, m) N# Z! q
; C6 h) N: w+ ?8 N if mr1$ = 6,/ [* l( j6 G9 F! D/ A: x
[
$ [. R2 H# f% y" u pbld, "G5.1Q1", e$
0 y6 M1 a% k1 h% d( m* f: w* o ] 6 w) k. I4 d' V7 E
`+ M, L6 S" ?' B
然后在换刀块ptlchg_com 中加入以下代码1 p# k' ^0 b, R+ u: t
* z6 c) E# j/ _5 l v
if (mr1$ = 6 & op_id$ <> last_op_id & ((opcode$ = 3 | opcode$ = 16) & (nextdc$ = 3 | nextdc$ = 9))) & mr1_flg <> 6,
4 V7 q" _; P4 o9 C- S) D9 r3 k9 V6 @ [) {, g6 l" ?- M1 p- O4 U, Z/ X
"G5.1Q0", e$: T( D% i+ s4 ~3 Y$ Y3 D* e* h
mr1_flg = 64 X6 f7 J4 u; Z9 S# X- o
]0 F5 d, U" } t+ O; t0 g, x, y
这样就可以程序头加上G5.1Q1,攻丝循环时自动输出G5.1Q0了0 `0 q$ |- M) o8 Z7 f8 A% v) M
2 i; S6 R& Y" I! p6 G* m
效果如图
- }' j2 h+ ^- y- l1 ^
- j& _' z: i! U$ V% h% n4 C
" G& F3 l+ {; B/ Q& |! l! o+ O8 g
但这不是我觉得的最理想的,我想的是在攻丝完成之后,再重新加上G5.1Q1,单从后处理上实现不难,但是机床重新加上的时候即使用上以下格式依然报警
# f( a, |6 |( o6 n$ M: t* IG49
+ g) G1 h+ _$ s, ?6 Y4 V) \G5.1Q1
, W. [$ s5 d+ {- _+ F% D7 _
. w% F% {# n& D* A我单独实验了一下G49的用法,发现这指令和G43的一样是一个运动指令,也就是G49后面还要跟一个坐标点,而这个坐标是取消刀补之后的绝对坐标点。那这就不好控制了,比如设置G49Z0,意思就是运动到取消刀补之后的绝对坐标Z0位置,而如果坐标偏置里面P0加上所用的G54或者其他坐标的Z为负值的话,那就会跑到机械坐标Z的正值去,也就是超程了。如果总的Z偏置为正的话,那就一定的危险性,如果正值过大,刀会跑到机械坐标的负Z值,也就是这个Z偏置足够的大,就会撞到工作台或者工件了。如果用G91G49Z0这机床的动作更神奇,直接是按刀长补的值向下降!!!!' J J5 c+ f1 h2 y: K( E
不知道可不可以有什么代码或者方式能让像G91Z0G28 那样来执行G49,既取消了刀长补,又返回机床原点,或者不动作也行。 |
|