找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7016|回复: 22

[原创] [原创]机床只能识别C轴0-360 四轴联动,负数就报警,解决方法

  [复制链接]

433

主题

5759

回帖

901万

积分

管理员

积分
9014266
发表于 2011-1-14 08:05:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
机床只能识别c轴0-360 四轴联动,负数就报警,该如何解决?
4 ~  N9 b% c" c6 H2 R我机床只能识别c轴0-360
' b! r, j- ~5 K1 v. V, F) J是负数的时候就报警; e3 e% S" ]4 `9 a( ^: T, C+ d' F
有什么办法将mc出来的程序有这个范围吗7 G, V: g" ?7 m
2.159 y3.483 z-16.075 c-25.027 f16.26 P5 B0 z4 s" E5 R7 Q8 {
x41.958 y3.776 z-16.001 c-25.27 f115.8
- @5 N9 {% Q. [  ix41.771 y4.036 z-15.876 c-25.463 f97.66 q! w$ M' t2 m/ R( j
x41.506 y4.32 z-15.516 c-25.489 f8.6, S/ q0 |( ]% ?. f
x41.473 y4.323 z-15.277 c-25.297 f121.1
/ I: i* |" A. t1 F1 V/ y/ p7 zx41.486 y4.276 z-15.06 c-25.13
4 T- W: @7 J/ f0 g" px41.562 y4.159 z-14.831 c-24.914; W7 E9 j6 g( e+ t+ O- E
x41.632 y4.065 z-14.543 c-25. f44.2
# I- x- R. U9 d" j.
4 k0 t% G" R: A- @0 I9 `$ M8 }8 N.' A+ Y8 x* u1 x% E* [
.
7 a# O, j( i' ?; w3 N0 g如果有什么软件能设置成c为-时通通都加3608 }& I1 H9 }% d% f4 \0 h. Q: D5 e& @7 }
那就可以了     盼望高手出现
/ `4 n% }  k+ k5 x此问题在中国机械cad论坛我已做回复,现再次整理一下
; R" x- }" J4 C
$ r8 I7 H4 c' V1 n以下是本人的回复
' Q) u# @7 P, [+ b可以的.该后处理可以做到,   R4 n# k+ L+ |; z3 {( A! x" k6 z
需要修改的地方有几个,如下:: p+ v0 ~& D. R. o4 x* R  G9 v, V
1.更改机器控制器,
# Z; Q; o3 F6 h. ]3 G; `2.后处理需要更改的地方,你查找下面的代码,就知道如何修改了,如下:) D' {' G/ R  [- t

& c5 F. P1 Y# U& g1 R[hidden]pcoutrev          #rotary axis revolution calculation (modify for wind-up)
/ }/ @# j8 q& }8 G  y2 g( {        if cir_at_zero = one,
# Z9 h/ ]3 |& l) b/ Q  F/ n  w          [3 f+ T6 O& _6 F1 Y8 E; f) u
          #arcs at center position the c axis
) a6 w/ y( E2 P  H8 b' W          if cuttype =  -2| cuttype = three,' F) [/ i: s; L$ `/ L
          csav = czero_csav - sweep$: V( L, m) g) }: t+ W8 y$ g/ x
          else, csav = czero_csav + sweep$
5 _9 `5 W( i7 l. O7 r8 z          czero_csav = csav  }: p' q$ Q4 T! a- a( {" I, l
          ]5 G$ j7 |! D1 g. O7 q* q' c( S
        #c does not move going to cl! l4 n% ]) c2 ^% O( C% b( O' ?, {
        if pnt_at_zero, csav = prv_csav
& o) O( Y2 h0 @% Y& w5 k. ^6 \: r        cdelta = fmtrnd(csav) - prv_csav  #this calculates once, for rev
' L8 ^/ G# H% {& H% V        while abs(cdelta) > ctol & not(cir_at_zero), #if motion exceeds ctol, add wind-up+ l! S4 |7 I  I+ K* q& E
          [
* H' A/ x( f/ X) d& F          if cdelta > zero,
% z; ^* N" b, o1 _7 K            [
6 ~  E  V4 J& j9 z            rev = rev - one
  h3 U' ^* E8 D3 y0 |            cdelta = cdelta - 360# S& F6 k' O2 u
            ]
& ~0 e! w9 {: c7 o4 E1 e          else,
" f& X% M" d2 `5 ^; Q& O            [
7 }9 K7 F' `5 [: \5 p/ I            rev = rev + one
) c$ c0 x. J; d# o) u5 x  i, \& d            cdelta = cdelta + 360* h8 k9 L* x/ _+ d
            ]
1 E+ S# k( h# U          ]0 v& p! O3 Z  J+ b
        if cuttype <> four, c_wnd = rev * 360 + csav: H. n+ d2 k& F5 e% _  J- ^/ B2 s
        else, c_wnd = sav_rev * 360 + csav5 X' t* f, L1 n3 K( ~4 y2 _
        !csav4 _  L) l6 i8 y! ^0 c1 F/ |
        @c_wnd3 ^# h' h/ F$ y
        #now switch to c_wnd which is the absolute winding c calculation3 C( Q+ ~: \% A; M
        #modify for shortest direction if toolchange or toolplane
2 n8 _5 z' v  I( f+ E; y        #but not with axis subs
6 P0 @* v8 ^* c& R! G        if c_axistype <> three,
; j6 p/ l: v1 \/ x7 Q4 W  z) m          [6 ~! a# Q  C0 J; U7 i  y) ?
          if abs(prvc_wnd - c_wnd) > 1805 m$ S; V0 Z( d$ z2 x" w- U5 q
            & (toolchng | (y_axis & cuttype < four)),' {+ k) G% m+ K1 b% h
            [& k+ k6 @5 z. p0 K( n" \
            while abs(prvc_wnd - c_wnd) > 180,5 s2 U9 x" U3 g" j$ c; ~
                [9 n$ U' G& t! {
                if prvc_wnd > c_wnd, rev = rev + one
+ R0 h) k8 Q+ @7 s                else, rev = rev - one
3 t( z! I3 \- X                c_wnd = rev * 360 + csav8 e8 ~2 R# f6 c: P8 x% r% `/ w
                ]  s. c$ H3 N! S8 \  @7 U- D7 d
            @c_wnd! v1 _$ _6 |, o) F2 ^2 Z
            ]. B+ r* m  ~* X: {) k
          ]; O7 i5 y& I' f! n9 I
8 J" k1 ~  b$ v4 ~0 c9 u
pindxcalc         #index move calculations, direction is shortest exc. asub1 O% s, p# M/ G0 c$ R7 F
        if pnt_at_zero | cdelta = zero, indx_mc = prv_indx_mc% D+ Q3 _' @" M& ?4 X9 H
        else,+ ]2 n# f. u$ ~  [
          [
  I( S- I) ?! D          cdelta = fmtrnd(c_wnd) - prvc_wnd
" x- K$ s2 o5 z) A) A/ v          if cuttype = four, #just look at the direction
- A; i3 Q# F( Z! F3 ?            [" }4 k8 u: u* S, f) Z  k0 ^( C
            if cdelta >= zero, indx_mc = one
. x) L% a; }0 o* k* c  A            else, indx_mc = zero- M& A8 Q. n1 @! b9 Z" ]4 f  a- k
            ]
- r& A5 |. Z' f+ z; e6 i4 ]" V          else,
5 }) k( [, s  u% A( p            [
' Q& R* Z% T$ p+ X* J2 p            #phase shift delta 10 revolutions, check odd/even for direction2 V2 p% Z2 G" f$ r) K, e. `2 C
            if frac(int((cdelta + 3600)/180)/two), indx_mc = zero
% `. D3 O# x4 [$ }* z) G& @1 r            else, indx_mc = one) ?2 H3 b8 {1 Z
            ]' |: u  R# a4 y8 C2 Z7 Q
          ]
. t1 X0 g$ i  }' ]' k. f2 t        #set range 0-360' s: G: U8 g5 G7 b8 J% s
        while cabs < zero, cabs = cabs + 360
6 k: T5 h0 _6 S2 u2 r        while cabs > 360, cabs = cabs - 360
0 J( V3 N3 G5 X8 p8 D/ y) @8 }; \" n& j
9 g2 c, z& b* R2 q) Y8 f# I
. }- K1 A; e2 _# c+ z( P9 E; t 14_080505.jpg

433

主题

5759

回帖

901万

积分

管理员

积分
9014266
 楼主| 发表于 2011-1-14 17:52:17 | 显示全部楼层

re:正常的后处理都会大于360度,因为后处理...

正常的后处理都会大于360度,因为后处理试试已增量输出的
回复

使用道具 举报

1

主题

80

回帖

969

积分

实习版主

积分
969
发表于 2011-3-3 18:00:42 | 显示全部楼层

re:正准备使用四轴,希望多学习一下。

正准备使用四轴,希望多学习一下。
回复

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

积分
9014266
 楼主| 发表于 2011-3-29 17:09:10 | 显示全部楼层

re:下面引用由5723470发表的内容: ...

[p]
下面引用由5723470发表的内容: <br />
. q1 X9 @  u  H' K1 K<br />/ D+ S* U. K" {+ w" F
个人认为&nbsp;&nbsp;0-360是最好的 只要机器能接受&nbsp;&nbsp;譬如我上次做了个产品 都转到a-7000多了 a轴回零 转了好久 哎 一直不知道怎么去改后处理 请版主发帖 讲解下 谢谢
<br />/ |. k, g* X+ ~/ U

[p]顶楼就是答案,里面讲的很清楚

回复

使用道具 举报

0

主题

21

回帖

26

积分

注册会员

积分
26
发表于 2011-7-17 17:25:48 | 显示全部楼层
看看,看看!
回复

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-8 16:50:28 | 显示全部楼层
若枫版主好: 很高兴认识你和论坛所有人
1 C, S1 C; o4 @6 K' ^这个问题好象是我一年前发出来的
$ O* _* B) l* V. d不过最终没有解决    希望在这里能找到答案* h5 N" [, I# p4 f  t; K- ~
以前我一直在三维技术论坛、
! ~# r( Y8 f  i6 L. H) C1 U0 h1 [希望在此论坛学到更多东西' r( n4 y+ Z  F$ u4 W0 Q
特别是后处理    而关于上述问题我用的是MCX3。   6 S1 u3 L! t7 p4 M8 O. V  u
一起研究
回复

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

积分
9014266
 楼主| 发表于 2011-8-8 20:42:39 | 显示全部楼层
回复 9# 723667735 ! y9 \( x' T8 @) E+ L1 i6 i
7 d2 a( D+ n  Q, r
8 w7 m3 Y, O0 m% E
  很高兴你能来这里学习.三维论坛我很少上.基本没有发言.我觉得你们都是我的老师,我要向你们学习.+ ]6 V( Z7 F' ^! @8 c8 `+ C' c9 n
  这个问题早在几年前就有人问过我,同时在去年还是前年我在中国机械cad论坛同样回答过一个论坛用户的有关这个角度的提问,# m; y  e% s( o
其实这个问题我只给出一个方法,其实还有几个方法可以做到.你可以自己慢慢研究以下我给出的代码.
9 k; B6 d) r% P) X7 @+ R7 P! {{:4_98:}
回复

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-9 07:40:31 | 显示全部楼层
恩     谢谢   一起进步" {! `& S3 i; o, N$ Y: c. b
现在后处理的资料很少 , O* S+ W' h% z" [6 a$ y
相信论坛能够壮大
. t" G- r+ |# A( @7 N9 ~+ ?: @也希望能有更多的人加入
回复

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

积分
9014266
 楼主| 发表于 2011-8-9 12:51:43 | 显示全部楼层
我们共同努力,打造一个好的后处理社区
回复

使用道具 举报

2

主题

74

回帖

41

积分

注册会员

积分
41
发表于 2011-8-22 00:04:12 | 显示全部楼层
我们共同努力,打造一个好的后处理社区
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

QQ|Archiver|手机版|小黑屋|若枫后处理论坛 ( 苏ICP备11015087号-1|苏公网安备32059002001368号 )

GMT+8, 2026-8-2 21:08 , Processed in 0.191822 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表