找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7233|回复: 22

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

  [复制链接]

433

主题

5759

回帖

901万

积分

管理员

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

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

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

×
机床只能识别c轴0-360 四轴联动,负数就报警,该如何解决? & X2 h; u0 T# f5 ]! X
我机床只能识别c轴0-360
5 m% Z3 A; _: j7 n0 C: o- c$ j) R是负数的时候就报警
# D4 v  t- f0 @# ~, h% l有什么办法将mc出来的程序有这个范围吗9 p, ?4 Y( K# R9 h+ K: c2 }3 X
2.159 y3.483 z-16.075 c-25.027 f16.2
) g2 X+ p3 f: n) K" |4 @) z; xx41.958 y3.776 z-16.001 c-25.27 f115.8
3 R2 N5 L& u  E. s. D7 t6 ^x41.771 y4.036 z-15.876 c-25.463 f97.63 C2 o6 p- _9 v  ?) }2 K
x41.506 y4.32 z-15.516 c-25.489 f8.6. g5 f' W  l+ x
x41.473 y4.323 z-15.277 c-25.297 f121.1
* ]4 j0 N- H- c3 j' s. \5 U# Yx41.486 y4.276 z-15.06 c-25.13
2 D% b' t( v* r' z$ }) Xx41.562 y4.159 z-14.831 c-24.914
) q- T! b2 {* S+ i# p* Sx41.632 y4.065 z-14.543 c-25. f44.2
6 \5 L4 N. B* x+ j+ }& `4 q5 Z" {.
! [; V4 T% i# r; f& v! {- }.# j7 v8 k6 E; I6 Y
.* i! g9 ?& d& P; o2 ]1 G4 s: e/ }
如果有什么软件能设置成c为-时通通都加3601 ?0 G; P" Y7 a/ q
那就可以了     盼望高手出现
4 ~1 r4 ?% Q. s此问题在中国机械cad论坛我已做回复,现再次整理一下
' E) w* G% Y4 x$ ?1 z% n* v, P% h" b- o
以下是本人的回复 ) \3 p/ H% A9 E) N/ V+ {
可以的.该后处理可以做到, 0 l) }6 o! `9 o0 p$ i. u
需要修改的地方有几个,如下:# h5 t7 _/ {7 X, N$ O
1.更改机器控制器,
, S6 s. u! C" R1 S2.后处理需要更改的地方,你查找下面的代码,就知道如何修改了,如下:: C9 l) f" M' e' t. d1 u! N+ G
3 A$ L- _0 |0 ]0 ?$ K. G- |
[hidden]pcoutrev          #rotary axis revolution calculation (modify for wind-up)
* X! G- }& G5 a: ?        if cir_at_zero = one,/ z$ b9 l$ |& ?7 U+ d
          [
% B& O! P1 G3 Y! W1 i3 S          #arcs at center position the c axis! S" Z0 r0 Z7 }8 l+ Q. r7 {( l
          if cuttype =  -2| cuttype = three,/ P0 w& `9 D7 x% Z- ]
          csav = czero_csav - sweep$; \& c& N0 r8 H+ H1 b
          else, csav = czero_csav + sweep$4 p) X8 n  ]) q) X  F9 D: L( f
          czero_csav = csav
% p- B& R. d6 B' G# W! L8 ^5 a  [          ]
* Y3 f% ~2 G4 b# e- w+ n        #c does not move going to cl$ w3 Q. T' j* C
        if pnt_at_zero, csav = prv_csav
; [3 x9 ]" j5 J3 ~7 g        cdelta = fmtrnd(csav) - prv_csav  #this calculates once, for rev
+ c* `& g2 M8 L6 V( i% z  r        while abs(cdelta) > ctol & not(cir_at_zero), #if motion exceeds ctol, add wind-up0 A6 e$ Z9 i. Q: h
          [
. ?$ B6 u  e$ Q& O8 m6 C9 g' t          if cdelta > zero,
2 v' k1 z6 B# U' J1 z" m            [  n5 O& P: [) v& Y. J+ x
            rev = rev - one
7 A1 ^* H) g  f, L            cdelta = cdelta - 3601 [8 G1 H8 q/ T8 D( ]$ i
            ]
# `" V8 O8 |4 p: j7 b+ K% M          else,
( ^' `9 b$ o/ O3 J- T            [
0 K' L5 ~: h* i" W9 D" F( Y7 J            rev = rev + one
# q" s2 U* J' m- h4 A' P            cdelta = cdelta + 3605 ?. U4 e4 C  ?
            ]
) B+ V8 C* o' s8 T* X- g          ]# G6 Y: K+ e$ f# v
        if cuttype <> four, c_wnd = rev * 360 + csav- S& E  ~, K+ {" P. _
        else, c_wnd = sav_rev * 360 + csav$ y" T' g+ v% {
        !csav
4 w8 ^8 _8 K( t: z& [% l        @c_wnd
9 m, [* `9 A- b( g6 g. V        #now switch to c_wnd which is the absolute winding c calculation/ b- e3 @, I6 Y. j. ?7 e
        #modify for shortest direction if toolchange or toolplane9 n- H# K; [& w( h9 h+ J2 o
        #but not with axis subs
9 ?4 h4 f+ ]3 C; B6 D/ a* [3 i+ b        if c_axistype <> three," e; q9 ?/ I+ s
          [
' h# x2 P  i8 }: A( u          if abs(prvc_wnd - c_wnd) > 180# U7 P5 V. ~9 ~
            & (toolchng | (y_axis & cuttype < four)),$ d& H* w8 n9 O% t; ~1 w
            [% V# S; ~3 s& |& Y5 U
            while abs(prvc_wnd - c_wnd) > 180,& N% B3 A$ L+ B1 x7 P  c. q1 K
                [
/ J4 W) P8 j+ k2 [# x  s0 `                if prvc_wnd > c_wnd, rev = rev + one9 Z& {% Y7 L, o$ F
                else, rev = rev - one
8 |* ~. Z0 z1 [* Y. Z" G% N                c_wnd = rev * 360 + csav! |& X* U( Q7 u. v4 Y
                ]
* ^) M# K# U+ }9 ]            @c_wnd
* o  _) A+ {+ C6 ~" ?5 k' R7 g            ]
7 d8 @/ p. `1 M5 E7 V          ]
- e7 ~( z8 H; k. L$ S
1 ~2 q( D6 V' \' a3 r6 Fpindxcalc         #index move calculations, direction is shortest exc. asub
" |, s' S2 \/ V6 \        if pnt_at_zero | cdelta = zero, indx_mc = prv_indx_mc% ?3 u: p2 T2 i
        else,
; p2 ]5 n$ x& ~" [# V9 C6 R7 Z          [
, U' d) q1 e4 Q9 K6 U4 l- {          cdelta = fmtrnd(c_wnd) - prvc_wnd7 K' Z! N$ H# @0 y3 x$ y% U
          if cuttype = four, #just look at the direction, R! P% n0 G& b* D
            [0 c& [; P9 H* B: ~) s# P
            if cdelta >= zero, indx_mc = one
4 D! S4 f& K2 x& I: M            else, indx_mc = zero
# ]" `9 T4 @0 [! J) ^  \. Y/ X            ]
; _/ H  m1 _  S          else,) U2 b# }4 i8 s+ o/ R# t" L( a+ l
            [
" n! v4 V7 G+ q8 X& c            #phase shift delta 10 revolutions, check odd/even for direction7 U" w9 `' \; Z* P9 d2 ]; a
            if frac(int((cdelta + 3600)/180)/two), indx_mc = zero% }; M0 R. n0 E4 U9 e# V# ]
            else, indx_mc = one  r- m  \5 L. c0 `0 s
            ]
+ @1 x  i1 b* ^! k4 a1 y% f          ]
& ]) n) b- {1 t        #set range 0-360* J1 Z( Z4 `$ Z- ]
        while cabs < zero, cabs = cabs + 360
4 i- M2 b% }- Z        while cabs > 360, cabs = cabs - 360% b0 s$ Q& W- H2 V  k! a0 _
2 S7 q( ]- J, i0 I0 R' F3 v7 G

3 Z1 d* \. f2 g  ?& W* G5 U 14_080505.jpg

433

主题

5759

回帖

901万

积分

管理员

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

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

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

使用道具 举报

1

主题

80

回帖

978

积分

实习版主

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

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

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

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

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

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

[p]
下面引用由5723470发表的内容: <br />
8 {# G% N) e9 x9 m( W1 Q<br />9 J6 i, g5 ]- l5 S
个人认为&nbsp;&nbsp;0-360是最好的 只要机器能接受&nbsp;&nbsp;譬如我上次做了个产品 都转到a-7000多了 a轴回零 转了好久 哎 一直不知道怎么去改后处理 请版主发帖 讲解下 谢谢
<br />
7 A+ s1 @% _" k% V9 c% \' O4 d# w

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

回复

使用道具 举报

0

主题

21

回帖

26

积分

注册会员

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

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-8 16:50:28 | 显示全部楼层
若枫版主好: 很高兴认识你和论坛所有人
' {, y: |5 @. T+ c6 ?0 s6 v% @这个问题好象是我一年前发出来的 ! u/ z/ k) {; `- R  Y4 O4 P! N5 Y
不过最终没有解决    希望在这里能找到答案$ i$ ^+ V4 x  t1 c3 I+ B% W5 A
以前我一直在三维技术论坛、
5 n/ b9 z- V+ x7 O* n3 G" H2 P希望在此论坛学到更多东西& }) H! a. r( H  i1 {
特别是后处理    而关于上述问题我用的是MCX3。   
) i+ u& c0 b3 _0 y4 s  F一起研究
回复

使用道具 举报

433

主题

5759

回帖

901万

积分

管理员

积分
9014266
 楼主| 发表于 2011-8-8 20:42:39 | 显示全部楼层
回复 9# 723667735
3 `! }" Q4 h, m( }! T2 P9 ]2 R2 {
: f4 ~; Q+ {  ^1 g
  很高兴你能来这里学习.三维论坛我很少上.基本没有发言.我觉得你们都是我的老师,我要向你们学习.
+ C! h) S: {1 E% R  这个问题早在几年前就有人问过我,同时在去年还是前年我在中国机械cad论坛同样回答过一个论坛用户的有关这个角度的提问,
* N7 l# {6 I% ^* d其实这个问题我只给出一个方法,其实还有几个方法可以做到.你可以自己慢慢研究以下我给出的代码.
: W- y' t% A4 @6 x; g2 R{:4_98:}
回复

使用道具 举报

1

主题

12

回帖

67

积分

注册会员

积分
67
发表于 2011-8-9 07:40:31 | 显示全部楼层
恩     谢谢   一起进步
, l4 l. i( I" w5 P8 w现在后处理的资料很少
; E7 {5 F2 F$ v1 h  e! l( K* `相信论坛能够壮大
1 S# {1 G1 D' l' o2 k7 N也希望能有更多的人加入
回复

使用道具 举报

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-22 22:43 , Processed in 0.200090 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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