|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 yalukie 于 2014-11-21 15:21 编辑
: c* r( b& k' G, X. N9 m
+ a7 b6 M( z; l2 d. R3 ?% w8 \emastercam.com的后处理里面已经有在每个刀路开始加G5.1Q1,换刀之前加G5.1Q0的后处理了,且钻孔固定循环自动取消,但本人在所有用过的国产Fanuc系统机床上都无法使用。G5.1Q1的必要模态是在G49状态,而机床运行了G49依然无效,个人搞了很久都没找到原因。只好自己改了下后处理,只在程序头加上G5.1Q1,但是攻丝时会报警。于是就做进一步修改。代码如下:4 R% Y) q0 E0 \, i* [$ n) }' s+ R. ~
在psof$ 中加入以下代码,用杂项实变数1控制切换。4 j7 x2 L# J: b* Y Q' B k4 _
; }- a4 V) N# N0 E2 v if mr1$ = 6,$ S1 c4 l* P: c2 G& |
[
6 T* n9 \' g# F9 V pbld, "G5.1Q1", e$) z& U* n1 ?" a) y
] - a; T' Y: }! _, P4 j
d' ]* m7 g- k5 D# L5 w: F" O然后在换刀块ptlchg_com 中加入以下代码
. @6 ^6 F: d7 a
( l4 m5 j8 V# e3 z1 E6 q- J* m: ?# {
if (mr1$ = 6 & op_id$ <> last_op_id & ((opcode$ = 3 | opcode$ = 16) & (nextdc$ = 3 | nextdc$ = 9))) & mr1_flg <> 6,
# P, b m3 m8 J9 s. {2 w) U [
+ j7 Z7 h" B0 {! r3 ?6 G/ l/ e "G5.1Q0", e$) |- y7 E' _8 o |5 t
mr1_flg = 6
$ r- `; F" t7 b: @ ]$ o2 ]1 f6 P* l/ _. O
这样就可以程序头加上G5.1Q1,攻丝循环时自动输出G5.1Q0了
. s$ \. O# C0 R& H
. @" C7 @4 n+ T& ]$ @8 a' n效果如图. J$ x& W: D0 Z
* p% ~- d6 f% v* W, J2 A: v, K4 W: p, _
但这不是我觉得的最理想的,我想的是在攻丝完成之后,再重新加上G5.1Q1,单从后处理上实现不难,但是机床重新加上的时候即使用上以下格式依然报警
2 _7 `" T: q4 T* yG49+ F) V( m3 Q/ R$ |
G5.1Q1+ X; u* O" p/ w0 J G: \
4 K+ Y8 x5 X6 m我单独实验了一下G49的用法,发现这指令和G43的一样是一个运动指令,也就是G49后面还要跟一个坐标点,而这个坐标是取消刀补之后的绝对坐标点。那这就不好控制了,比如设置G49Z0,意思就是运动到取消刀补之后的绝对坐标Z0位置,而如果坐标偏置里面P0加上所用的G54或者其他坐标的Z为负值的话,那就会跑到机械坐标Z的正值去,也就是超程了。如果总的Z偏置为正的话,那就一定的危险性,如果正值过大,刀会跑到机械坐标的负Z值,也就是这个Z偏置足够的大,就会撞到工作台或者工件了。如果用G91G49Z0这机床的动作更神奇,直接是按刀长补的值向下降!!!!8 j# u# f5 q1 r7 k. n' h# C0 U) M
不知道可不可以有什么代码或者方式能让像G91Z0G28 那样来执行G49,既取消了刀长补,又返回机床原点,或者不动作也行。 |
|