|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 yalukie 于 2014-11-21 15:21 编辑 * J8 u1 V# D% ?$ `. |* p
, \# |& f3 q2 D3 ^: \) m- |
emastercam.com的后处理里面已经有在每个刀路开始加G5.1Q1,换刀之前加G5.1Q0的后处理了,且钻孔固定循环自动取消,但本人在所有用过的国产Fanuc系统机床上都无法使用。G5.1Q1的必要模态是在G49状态,而机床运行了G49依然无效,个人搞了很久都没找到原因。只好自己改了下后处理,只在程序头加上G5.1Q1,但是攻丝时会报警。于是就做进一步修改。代码如下:
. n! Z6 r3 W$ r在psof$ 中加入以下代码,用杂项实变数1控制切换。* \8 @# U1 M0 D) s6 O6 \
! ~8 h/ D- o' l' e3 T0 p if mr1$ = 6,, Q/ v, K- y( @" I+ w
[
1 u, N4 O1 J1 [+ I- M: H Q pbld, "G5.1Q1", e$
, C: m& X2 n' ^, q+ j# A3 l ]
1 h0 ^) f/ i$ ~6 l0 e& e o0 m7 B/ L3 t; l! J
然后在换刀块ptlchg_com 中加入以下代码/ d/ W8 O! J1 y+ }
, u( i& _% }; z- C8 B) C; | if (mr1$ = 6 & op_id$ <> last_op_id & ((opcode$ = 3 | opcode$ = 16) & (nextdc$ = 3 | nextdc$ = 9))) & mr1_flg <> 6,
$ O3 D; u2 S- q' U& s. F4 {. Q+ \% I [. W: g: C8 y1 l8 f8 r; N. d
"G5.1Q0", e$3 T! P" J8 c \+ E& }& ? j. [- A! Q
mr1_flg = 6
# }, }3 r* G+ |' e& a- g ]& ]9 {/ ~: K0 J2 Z5 ^; w9 g7 `+ R
这样就可以程序头加上G5.1Q1,攻丝循环时自动输出G5.1Q0了1 |" S, L- Z3 F# L- O
6 B& E: ]& @$ e8 A+ |8 e效果如图
6 [. I8 S1 t+ B/ _* G y) a' G3 N
$ Y: s/ p' j& w1 L4 L5 p7 \- v
3 K8 l. m h; y+ g, c5 l5 s/ j但这不是我觉得的最理想的,我想的是在攻丝完成之后,再重新加上G5.1Q1,单从后处理上实现不难,但是机床重新加上的时候即使用上以下格式依然报警
$ e" Z1 c j: `9 R1 XG496 \! ~/ H! Y& q7 C' w8 v; {
G5.1Q1
3 N% ?) ~; t g" `5 `- {% W O/ A
我单独实验了一下G49的用法,发现这指令和G43的一样是一个运动指令,也就是G49后面还要跟一个坐标点,而这个坐标是取消刀补之后的绝对坐标点。那这就不好控制了,比如设置G49Z0,意思就是运动到取消刀补之后的绝对坐标Z0位置,而如果坐标偏置里面P0加上所用的G54或者其他坐标的Z为负值的话,那就会跑到机械坐标Z的正值去,也就是超程了。如果总的Z偏置为正的话,那就一定的危险性,如果正值过大,刀会跑到机械坐标的负Z值,也就是这个Z偏置足够的大,就会撞到工作台或者工件了。如果用G91G49Z0这机床的动作更神奇,直接是按刀长补的值向下降!!!!" Y6 W+ B3 [( N9 G7 j7 B' `$ c
不知道可不可以有什么代码或者方式能让像G91Z0G28 那样来执行G49,既取消了刀长补,又返回机床原点,或者不动作也行。 |
|