找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8155|回复: 22

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

 火 [复制链接]

433

主题

5759

回帖

901万

积分

管理员

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

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

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

×
机床只能识别c轴0-360 四轴联动,负数就报警,该如何解决?
7 R+ j* H$ v9 G* T我机床只能识别c轴0-360
, m' V% k. v0 d! c+ M" T: _  ]1 r是负数的时候就报警1 n* ?8 H4 J9 t7 n' U" d
有什么办法将mc出来的程序有这个范围吗) v) C/ x6 ^% L6 x2 w
2.159 y3.483 z-16.075 c-25.027 f16.2+ C$ F) c, F7 r2 W7 q. Q6 z
x41.958 y3.776 z-16.001 c-25.27 f115.8( W. I2 w& q1 s
x41.771 y4.036 z-15.876 c-25.463 f97.6
/ e) v5 }- C; S8 tx41.506 y4.32 z-15.516 c-25.489 f8.6& Q" ^" g+ `2 G: ]# S2 _, {
x41.473 y4.323 z-15.277 c-25.297 f121.11 v6 U" U2 e! l) I; P
x41.486 y4.276 z-15.06 c-25.13$ x7 i! X' l) T+ C8 ?
x41.562 y4.159 z-14.831 c-24.914
2 m$ C7 U2 R% ^6 I, l* o# gx41.632 y4.065 z-14.543 c-25. f44.2
& q3 E4 T1 Q# v& s.% G6 z5 w% G( K- P6 n
.
2 a9 e5 u; |4 B0 }& e' Q( p0 V.' D' \: N4 z8 w$ A" w* E& Y0 @. u- t( l9 d
如果有什么软件能设置成c为-时通通都加3600 S4 e3 y0 L  P* f
那就可以了     盼望高手出现 & P( J4 t& k* P" H3 e* v
此问题在中国机械cad论坛我已做回复,现再次整理一下
* \6 o. S& D9 E- [9 b9 {; t4 a- n- C% G1 c" c8 k$ F# E2 o
以下是本人的回复
! V, A% i* V7 m: n7 t) w( P4 d* Q# u可以的.该后处理可以做到,   B7 o7 I1 |2 i" {/ c1 r: h
需要修改的地方有几个,如下:
) ^3 Z6 \2 ~8 W2 j1.更改机器控制器,5 E/ ^* q" M  r% {
2.后处理需要更改的地方,你查找下面的代码,就知道如何修改了,如下:3 [6 I) H1 H, }/ [& p) v3 Q, d% ^! n4 J
4 A- |2 V- y! o' p+ O* S8 x
[hidden]pcoutrev          #rotary axis revolution calculation (modify for wind-up)1 G' `) I4 v4 K4 B* l3 e
        if cir_at_zero = one,/ [+ n0 v! t( P! ^
          [; a- S$ H8 u- Z; F; y
          #arcs at center position the c axis
; n3 R' \) v  w5 m          if cuttype =  -2| cuttype = three,6 k# J# i2 E3 c, F
          csav = czero_csav - sweep$
: d( ]0 s! F% F* a* U          else, csav = czero_csav + sweep$! x) r1 D5 Q3 x( p
          czero_csav = csav
! X/ N9 b8 F  y7 M4 f          ]
4 Y5 R3 \) R. l0 h/ s5 T) ~        #c does not move going to cl  V  }- i& a6 H2 d. i0 O
        if pnt_at_zero, csav = prv_csav
9 t+ R1 _- r: D( j2 l        cdelta = fmtrnd(csav) - prv_csav  #this calculates once, for rev' o" a: L$ q4 I) x
        while abs(cdelta) > ctol & not(cir_at_zero), #if motion exceeds ctol, add wind-up
' V/ ~# W; I$ ?0 h          [
* Y3 [3 J& {5 W+ j6 K+ v; j          if cdelta > zero,
8 H- V+ a+ \  N/ M            [" Z* W! D& f/ k5 N4 C2 V7 Q
            rev = rev - one
$ l3 X& r* J) B: e, }  R            cdelta = cdelta - 360; c" ?" ]; j4 k1 m; f+ P9 h
            ]
+ a8 B& z+ ?2 g+ m: z9 a          else,# [$ p) h; H/ a& q% I% s
            [
& s$ T, Z* |  l- U# H7 S9 N) \; ]            rev = rev + one5 `% w# j) t) T* E; c: c
            cdelta = cdelta + 360# c" a, I  P: r7 a; ^
            ], K0 ]# Y& M+ K$ e$ g3 K
          ]% W+ b9 d& g9 C/ j1 Y
        if cuttype <> four, c_wnd = rev * 360 + csav1 ^! A) Q% s- \
        else, c_wnd = sav_rev * 360 + csav8 i7 M. Z) Q2 a6 L
        !csav9 n( B7 b9 B0 H* C3 }" \
        @c_wnd
! T4 v/ b' s. E( g/ Q8 X        #now switch to c_wnd which is the absolute winding c calculation
: ?  @3 \4 f/ p. m% x" U& |' s  N        #modify for shortest direction if toolchange or toolplane
) q8 D; \7 ~9 z5 P5 ?        #but not with axis subs
* m1 N5 S" U! y0 ~        if c_axistype <> three,
5 l0 B. N- T4 W1 Q          [
% B2 \* i# O* C$ T1 r9 w6 Y6 e          if abs(prvc_wnd - c_wnd) > 180: J$ N3 K% w. I0 g* E
            & (toolchng | (y_axis & cuttype < four)),
3 G0 W# A& q% _! [/ C6 U9 q) f            [
1 g. y* r% x' `            while abs(prvc_wnd - c_wnd) > 180,& Y' ?6 B' \) G3 }4 n! k
                [
1 p+ s6 ~$ q& C% z4 E                if prvc_wnd > c_wnd, rev = rev + one# C# h  M5 c2 X% s4 T% z& i
                else, rev = rev - one3 ~0 @, d6 `) o% e9 G: A
                c_wnd = rev * 360 + csav
% B9 {( q3 D4 h5 a  L; [                ]# D- p' z4 k; O
            @c_wnd) M1 k% U, f$ Q& ?
            ]
; W1 d& U. h" [9 G# v; \) ?2 O          ]% I" B) O  E4 B8 D- E

# T. H; }) \; W% a9 F( ppindxcalc         #index move calculations, direction is shortest exc. asub! {  _5 P7 X8 y! V
        if pnt_at_zero | cdelta = zero, indx_mc = prv_indx_mc, Z- i5 J: a) B$ d3 u1 d* f
        else,3 Y9 ~6 o3 L8 l; o6 [* {5 D8 G1 Q
          [) g* G& q# a* |' x, T- B( o
          cdelta = fmtrnd(c_wnd) - prvc_wnd7 S, {, Y3 x7 z; G; M
          if cuttype = four, #just look at the direction! {8 B: y' v+ z0 H
            [
0 q9 b) f/ T  i! P/ m0 s            if cdelta >= zero, indx_mc = one
5 ?7 F3 d( O6 d. k2 F            else, indx_mc = zero' n! \- o, r) U. B" D
            ]" M: L6 ~7 Q  g
          else,
3 {6 U8 f: ?1 b4 T4 k            [! P5 P1 N7 s! t8 K& G4 y
            #phase shift delta 10 revolutions, check odd/even for direction; o9 f; t2 [2 T+ w! G8 ^8 m; F
            if frac(int((cdelta + 3600)/180)/two), indx_mc = zero  W; X+ k4 j. {& K
            else, indx_mc = one
8 K2 c4 m# p5 C% x. y  e* I- x2 Q; J            ]
: V( I1 \. l! {  G+ y/ F          ]
. p; D0 M. m1 n* Q  q6 J/ i        #set range 0-360* }" i- f$ i: j$ u. m
        while cabs < zero, cabs = cabs + 360; ]; V2 Z8 }) |3 s# _
        while cabs > 360, cabs = cabs - 360
. L$ K" m* F+ q$ [% K
* Y. j1 }1 `9 ~8 B3 p& c$ b. T& d7 M- q4 }  I+ |; A
14_080505.jpg

433

主题

5759

回帖

901万

积分

管理员

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

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

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

使用道具 举报

1

主题

80

回帖

1035

积分

实习版主

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

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

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

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

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

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

[p]
下面引用由5723470发表的内容: <br />9 }4 r# E- Y: Y
<br />
+ Y9 r- ^1 e$ j" m8 ^* @个人认为&nbsp;&nbsp;0-360是最好的 只要机器能接受&nbsp;&nbsp;譬如我上次做了个产品 都转到a-7000多了 a轴回零 转了好久 哎 一直不知道怎么去改后处理 请版主发帖 讲解下 谢谢
<br />
5 V0 d% \; u$ S0 ]! ]

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

回复

使用道具 举报

0

主题

21

回帖

26

积分

注册会员

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

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-8 16:50:28 | 显示全部楼层
若枫版主好: 很高兴认识你和论坛所有人
5 U, [  e: M" J7 l9 p/ R这个问题好象是我一年前发出来的 5 n  d; @- E4 }1 t& C
不过最终没有解决    希望在这里能找到答案
4 x: z- L# l- q! D! `以前我一直在三维技术论坛、
0 R  M& G: j) @5 F1 J1 c希望在此论坛学到更多东西
+ E0 P( n9 y5 u. m3 [% D特别是后处理    而关于上述问题我用的是MCX3。   
( W/ N9 R- ^! N; d一起研究
回复

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

积分
9014271
 楼主| 发表于 2011-8-8 20:42:39 | 显示全部楼层
回复 9# 723667735 * ?3 U6 }9 R* R3 p" @
- V& Z* X3 ?! Y2 c8 a

9 D; {: p# d7 y5 T+ x  很高兴你能来这里学习.三维论坛我很少上.基本没有发言.我觉得你们都是我的老师,我要向你们学习.$ O: [, }' ?: z# O3 y' h7 s+ X1 P
  这个问题早在几年前就有人问过我,同时在去年还是前年我在中国机械cad论坛同样回答过一个论坛用户的有关这个角度的提问,
4 q) N) M6 e. c$ G其实这个问题我只给出一个方法,其实还有几个方法可以做到.你可以自己慢慢研究以下我给出的代码.
' o  P* L% I: d{:4_98:}
回复

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-9 07:40:31 | 显示全部楼层
恩     谢谢   一起进步
: Q6 H: C* [+ R1 s现在后处理的资料很少   M3 f/ t2 v9 Y5 \+ F
相信论坛能够壮大  {" l; J  S8 L. K2 S
也希望能有更多的人加入
回复

使用道具 举报

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-10-31 16:46 , Processed in 0.194043 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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