找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7443|回复: 22

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

  [复制链接]

433

主题

5759

回帖

901万

积分

管理员

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

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

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

×
机床只能识别c轴0-360 四轴联动,负数就报警,该如何解决?
' l6 Y! S+ T+ K8 j' n/ E8 p; N5 {我机床只能识别c轴0-360
/ ?- D2 ]# j, ?& p5 m% C是负数的时候就报警
9 U, C3 N6 i6 x- x+ c, G有什么办法将mc出来的程序有这个范围吗; F/ b. Q) Z- v: F, N
2.159 y3.483 z-16.075 c-25.027 f16.2
+ z. i7 G. h. h" Xx41.958 y3.776 z-16.001 c-25.27 f115.87 d( c+ U. ^1 \5 |
x41.771 y4.036 z-15.876 c-25.463 f97.6
1 j1 y1 Y1 E3 ^3 Bx41.506 y4.32 z-15.516 c-25.489 f8.6
. m6 i/ f/ O7 W2 y, M; }6 L9 kx41.473 y4.323 z-15.277 c-25.297 f121.1' W8 E0 U; G; @
x41.486 y4.276 z-15.06 c-25.13
, h% E+ N4 o4 [x41.562 y4.159 z-14.831 c-24.9148 R% S8 b" N9 M
x41.632 y4.065 z-14.543 c-25. f44.2
  @$ K( S* s* P+ l1 U, i.4 o5 A. r2 Q* A8 L$ O: _
.
3 {! D6 h3 u+ r6 g% W2 G3 v/ m# m.
& h9 ~  F8 F. Y* f5 }+ ~如果有什么软件能设置成c为-时通通都加360
4 J& |& d5 G: Z) l% i4 K/ I8 v那就可以了     盼望高手出现
$ H4 _" G. {3 w9 `此问题在中国机械cad论坛我已做回复,现再次整理一下 ( ]9 K' P3 z! C- z7 W3 e+ }( p( g3 B

. Y) u, `* O* @& @以下是本人的回复
: }3 r+ z/ o% f. ?: z! ]; A可以的.该后处理可以做到, % S5 }7 t. P$ B
需要修改的地方有几个,如下:
7 q: H& d* R1 o! Y; [+ R$ z# T1.更改机器控制器,  ]( ?3 }' m8 y7 z
2.后处理需要更改的地方,你查找下面的代码,就知道如何修改了,如下:
& [% S; N8 f% c8 y% M5 L
8 Y7 d( z4 O7 e5 u: k, S[hidden]pcoutrev          #rotary axis revolution calculation (modify for wind-up)
! h& U: `9 i* }        if cir_at_zero = one,
7 T" P* W. U, a9 }( B7 h  c          [8 E/ e* p+ ~& o2 C" J
          #arcs at center position the c axis# f; r$ K8 K5 @
          if cuttype =  -2| cuttype = three,6 y! m! W& m0 E; G3 ~, C) a
          csav = czero_csav - sweep$7 v, P; w  a7 V" B& a
          else, csav = czero_csav + sweep$9 S' ]7 A3 u* h7 }
          czero_csav = csav
/ r- x0 P% G/ p2 B& _' Z! ]          ]
% ]" ^9 q2 B; u9 D; y& m        #c does not move going to cl0 ~& G7 [: d# M3 ~; z
        if pnt_at_zero, csav = prv_csav
# ]9 A1 h# u( t; A) s' B' a) y: P8 ~        cdelta = fmtrnd(csav) - prv_csav  #this calculates once, for rev6 C: a( a/ [# J/ Z
        while abs(cdelta) > ctol & not(cir_at_zero), #if motion exceeds ctol, add wind-up
: `8 f, X7 I# C4 R" U$ _: A$ W          [
: I) o  `& ~! X: F          if cdelta > zero,+ L8 D; h; {- f- \  Q
            [8 l4 d/ _5 w; y) s
            rev = rev - one( q- Z6 ?+ k/ Y1 {& T8 ~3 a% x
            cdelta = cdelta - 360; J: j- S) x3 _: n
            ]. L# n# f, q0 [7 k
          else,
8 E1 o! [" _5 F            [9 O) n8 n3 ^1 k+ ~
            rev = rev + one) t: d7 l6 W9 P/ d4 B
            cdelta = cdelta + 360
, x0 `1 {* F2 t6 @. X            ]7 O/ Z" r! @9 @5 @7 S. J
          ]
! k) T9 }4 o+ ~: a        if cuttype <> four, c_wnd = rev * 360 + csav- g3 Q, S9 A0 U6 X9 y, D
        else, c_wnd = sav_rev * 360 + csav
, s5 l" b! D+ d1 a        !csav
) s& c* z: ?0 f+ [9 B( G        @c_wnd9 c' a8 g4 R; ~6 Z- O& A5 F6 B, D$ L  S
        #now switch to c_wnd which is the absolute winding c calculation1 p7 _# a8 |7 M  e) B2 a
        #modify for shortest direction if toolchange or toolplane5 O! R, q% n( s  I% X7 s
        #but not with axis subs
0 X; a- `8 }; O0 V. X+ |- v        if c_axistype <> three,
# ^! I" }" C3 {7 }7 Z5 H9 q          [
" e3 Q/ Y; m+ f- J3 g( o          if abs(prvc_wnd - c_wnd) > 180
  ?3 C7 D( b0 }+ W* j! j1 {" o8 `            & (toolchng | (y_axis & cuttype < four)),2 o, J% d1 V6 T  C0 t- A5 b
            [9 }# J- ~; y. U" i9 f& L
            while abs(prvc_wnd - c_wnd) > 180,& ^4 ~5 ?# b) ], l" y
                [
$ r' f+ d+ j; c6 V2 o9 i% J                if prvc_wnd > c_wnd, rev = rev + one( Z' o* b9 B; p
                else, rev = rev - one
- f1 B3 _/ z6 X3 A' P9 a                c_wnd = rev * 360 + csav
# a7 u1 w' D) V# W) E! j                ]
" J- m. y# w3 N; w( Q            @c_wnd
% X: Y7 ?7 M4 W; k8 N) [" b  D6 |            ]6 P% w  a1 q8 w7 G& Y) A) Q+ f
          ]) D2 C! G" ]9 ]

9 I9 E' m  ^& Z$ [6 f. P8 ]pindxcalc         #index move calculations, direction is shortest exc. asub0 N0 R" ^$ N$ F2 V; `* T) s
        if pnt_at_zero | cdelta = zero, indx_mc = prv_indx_mc" _0 t) L+ \" r5 t* q. F
        else,
: a! ^1 h! N' n4 m, u4 F+ o% K  |          [9 N! n! b+ D' _. i. I- P
          cdelta = fmtrnd(c_wnd) - prvc_wnd
3 M2 K8 I) n" t5 m          if cuttype = four, #just look at the direction7 b7 r/ ?$ q$ C
            [$ g, L/ ?. R9 V  _% S3 {
            if cdelta >= zero, indx_mc = one9 T- R4 N# R. o3 [5 f
            else, indx_mc = zero- v8 ?* [9 @) S, V. ?: F# ]
            ], l0 n! M) d* n! U4 B" W
          else,
* P" G0 W8 x$ B" u) U; n0 y  ]            [
) I" r$ ~+ i# V; c) l            #phase shift delta 10 revolutions, check odd/even for direction
; Y$ m& {; a3 s5 q1 Q$ p            if frac(int((cdelta + 3600)/180)/two), indx_mc = zero
- i4 J3 H" f3 ^% S7 @9 F. b            else, indx_mc = one5 R/ B6 l4 E& a
            ]* r/ [  r" H2 x8 T
          ]
8 Z. B% Q2 N( `% I        #set range 0-360
$ y4 z: C& S; \7 Q. L6 t        while cabs < zero, cabs = cabs + 360
" x3 Y+ T. C3 Q" m- A! O        while cabs > 360, cabs = cabs - 360! [# m+ d/ I( X' g: I, Z. V
+ r* U' Z2 Q- ]! H7 W2 R" Y

5 r2 A, u4 C+ O: T$ g 14_080505.jpg

433

主题

5759

回帖

901万

积分

管理员

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

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

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

使用道具 举报

1

主题

80

回帖

994

积分

实习版主

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

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

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

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

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

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

[p]
下面引用由5723470发表的内容: <br />
0 d. E5 {) K" l5 l5 F/ Y<br />2 J& v& t& @5 }/ ~& q
个人认为&nbsp;&nbsp;0-360是最好的 只要机器能接受&nbsp;&nbsp;譬如我上次做了个产品 都转到a-7000多了 a轴回零 转了好久 哎 一直不知道怎么去改后处理 请版主发帖 讲解下 谢谢
<br />, l! S* H$ Y  C+ L

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

回复

使用道具 举报

0

主题

21

回帖

26

积分

注册会员

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

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-8 16:50:28 | 显示全部楼层
若枫版主好: 很高兴认识你和论坛所有人
' I! T# d" R" c5 F) I' a这个问题好象是我一年前发出来的
) |  K: `% B( P9 }& {- n6 i不过最终没有解决    希望在这里能找到答案& p9 Z& B9 r4 [) U) T
以前我一直在三维技术论坛、/ {; H# h+ [8 \
希望在此论坛学到更多东西
2 l/ D7 O; y0 ^特别是后处理    而关于上述问题我用的是MCX3。   ' [; y/ V& ^2 @0 I/ L) j
一起研究
回复

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

积分
9014271
 楼主| 发表于 2011-8-8 20:42:39 | 显示全部楼层
回复 9# 723667735 6 h, B9 g1 G' |6 A

8 R; a9 \: F9 m9 I) Z: p1 F  d& A
  很高兴你能来这里学习.三维论坛我很少上.基本没有发言.我觉得你们都是我的老师,我要向你们学习.
1 }& f; i! C1 _  h  J: W  V  这个问题早在几年前就有人问过我,同时在去年还是前年我在中国机械cad论坛同样回答过一个论坛用户的有关这个角度的提问,8 t  N# p/ T3 z& T- x8 A
其实这个问题我只给出一个方法,其实还有几个方法可以做到.你可以自己慢慢研究以下我给出的代码.
( u8 J) ^; p* c  D8 Z* H{:4_98:}
回复

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-9 07:40:31 | 显示全部楼层
恩     谢谢   一起进步. y5 F  L8 L1 G/ K1 p, h- Z
现在后处理的资料很少
! Y/ b9 x' j' k  g' j相信论坛能够壮大
0 g* k) ^, B! Q  n, S5 G7 @1 k也希望能有更多的人加入
回复

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

积分
9014271
 楼主| 发表于 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-9-16 02:16 , Processed in 0.184298 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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