機(jī)械社區(qū)

標(biāo)題: fanuc18i數(shù)控銑宏程序計(jì)算問題,求指導(dǎo) [打印本頁]

作者: 討飯吃ss    時(shí)間: 2013-3-7 23:15
標(biāo)題: fanuc18i數(shù)控銑宏程序計(jì)算問題,求指導(dǎo)
請(qǐng)各位大蝦幫忙,知道的解釋一下,先謝謝了。
# b) |8 U( Q7 W' G示例如下:我截取一段程序說明。4 L  u& W# m# @7 U9 v* \  }
O100;
( J; d  s# \; x, [, {& [3 q7 \#1=10.2;
7 D( N( D( f8 M/ }& S0 Z#2=1.;3 A. i6 Y" p6 w) p
#3=0.2;" r( [, @- G& W) M$ ?/ d/ O+ M* V
......;# J3 {, C- q4 Y; B
N1;! Z- @3 X8 j/ v3 v4 B1 s$ Z$ w. M
;# G- ~, z4 Y* W( ?. \2 ~! F7 f
;
7 \( S! d' V' _/ C(中間省略);
4 f9 w9 U7 H, m7 D5 u#1=#1—#2;
/ Y% s# e) c% b( ~% M3 D% uIF[#1GE#3]GOTO1;
) F( V9 L& L1 B# @;
0 |6 n2 q4 `" o8 B8 t. C;
3 A2 W  i) S. @M30;/ P7 w+ H, K9 b' I& s' K- I2 e5 f
        床子是發(fā)那科18 i 的沈陽龍門銑,經(jīng)常就是#1算到1.2循環(huán)就結(jié)束了,我很奇怪找不到原因,還有就是#2改成0.2也是這樣算到0.4就結(jié)束。但是如果把#1改成小數(shù)點(diǎn)后是0.5或者0,比如#1=10.5,#2=1,#3=0.5他就可以循環(huán)到設(shè)定的#3。/ p% O/ u7 S- t. k6 f6 n
       求大蝦指導(dǎo),如果沒有表達(dá)清楚的我隨后補(bǔ)充。謝謝
作者: 傷情于劍    時(shí)間: 2013-3-8 03:18
我也遇到過這種情況,我把#3重新輸一遍就好了,也不知道怎么回事
作者: 風(fēng)隨意    時(shí)間: 2013-3-8 07:23
不懂,幫頂。
作者: jiangssli    時(shí)間: 2013-3-8 08:28
系統(tǒng)計(jì)算的時(shí)候把十進(jìn)制轉(zhuǎn)換成二進(jìn)制,計(jì)算完以后又把二進(jìn)制轉(zhuǎn)換成十進(jìn)制,反復(fù)幾次以后你看見的結(jié)果和實(shí)際計(jì)算的記過會(huì)有一些誤差......眼見的不一定是真的...所以你的判斷條件會(huì)有問題& u/ S3 W7 d8 t' g) l& v. n

作者: jiangssli    時(shí)間: 2013-3-8 08:35
O100;
9 o& y  k; z5 y1 E: Y' @#1=10.2;3 R, ?! V7 D/ j) j0 d$ s' v4 m
#2=1.;6 j6 h9 j7 H" K: z7 N" @
#3=0.2;
: ?- A3 }& x, m+ W* e8 H$ w* \......;
  U% A- a: e  l: h, z2 P% X  y+ HN1;
. o: y( \! J; J  R3 F% a;
# V/ X( Z( g0 @* S(中間省略);
- B  Z* I4 t. M0 E4 e; HIF[#1EQ#3]GOTO3
- D* w" Q- l& b8 R6 t5 q  F#1=#1—#2;3 n' E  |$ S- B1 H! z9 {
IF[#1GT#3]GOTO1;
3 h+ ?0 M) R- W, Q* tIF[#1LT#3]GOTO2
$ V- e* ]; n7 o5 g0 {$ wN2* W* `0 R( A' n
#1=#3
9 B. A$ S: Z- X% U8 W1 A/ u' A1 kGOTO1;" r0 y# ~) {# j! y
;4 W/ ^1 [! ^+ _: M- z
N34 Y7 e! p5 V+ G$ Z+ \& Y
M30;
# k+ V/ K$ N/ m2 p! L樓主試試這樣加幾句判斷的,也許能解決你的問題
作者: 討飯吃ss    時(shí)間: 2013-3-8 12:38
jiangssli 發(fā)表于 2013-3-8 08:28 # }2 ?$ d1 x  `
系統(tǒng)計(jì)算的時(shí)候把十進(jìn)制轉(zhuǎn)換成二進(jìn)制,計(jì)算完以后又把二進(jìn)制轉(zhuǎn)換成十進(jìn)制,反復(fù)幾次以后你看見的結(jié)果和實(shí)際計(jì) ...

, c9 w; O2 L) Z系統(tǒng)計(jì)算實(shí)際值跟顯示的值不一樣?我做完后都會(huì)檢查,它確實(shí)差了
作者: 討飯吃ss    時(shí)間: 2013-3-8 12:41
jiangssli 發(fā)表于 2013-3-8 08:35
. d8 ?$ ^9 d2 y4 h! L+ {( LO100;
0 s2 `! V. j5 |3 b  o#1=10.2;, R+ s0 R  C$ f, ^
#2=1.;

5 e# [, V0 g9 m/ ], R恩,我這樣搞過,就是麻煩多寫幾句。
* {' P) K4 B( E. N
作者: jiangssli    時(shí)間: 2013-3-8 13:10
討飯吃ss 發(fā)表于 2013-3-8 12:41 3 D+ Z+ y7 ?, J# p4 B
恩,我這樣搞過,就是麻煩多寫幾句。

3 u/ L# d) j5 ]3 ]+ I. R3 U% t6 ^# `很多時(shí)候我們害怕麻煩,就會(huì)有更多的麻煩....
作者: 虛緲    時(shí)間: 2013-3-8 16:58
這個(gè)問題其實(shí)有個(gè)很好的解決方法,我也有個(gè)切身體會(huì),我有一國產(chǎn)機(jī)床它的機(jī)床回零到位是:一小圓臺(tái)剛好插到主軸電機(jī)后面的一小凹槽里時(shí),接觸開關(guān)燈亮,而這個(gè)圓的直徑剛好和凹槽的寬相等,由于用了多年有了誤差,這兩裝置老是對(duì)不上插不好,報(bào)警換不了刀,尤其是如果主軸剛好在零點(diǎn)附近那是絕對(duì)的報(bào)警(順便說一句我這換刀X軸原點(diǎn)是-0.18Y是-90),老煩人了,因此我就用了一宏程序先讓Z軸回零然后X軸再Y軸,這就要判斷當(dāng)前主軸的位置是不是在附近,如果是就讓遠(yuǎn)離點(diǎn)再按順序走,開始系統(tǒng)老是判斷不出是大于還是小于-0.18,最后我就用主軸X軸的當(dāng)前位置減去這個(gè)-0.18來判斷它是大于還是小于0問題就解決了,換刀也就正常了。  l; h) k" _: U6 c+ I
有了這切身體會(huì)我建義你改下判斷語句IF【【#1-#3】GE0]GOTO1;試試
作者: 朱華劍    時(shí)間: 2013-3-8 21:54
樓主不好意思 我真心不會(huì) 我只是想要威望下載我需要的東西 謝謝了
作者: 秋風(fēng)之墩    時(shí)間: 2013-3-9 10:33
機(jī)械論壇是個(gè)神奇的地方,各路大神高招奇出
作者: 討飯吃ss    時(shí)間: 2013-3-9 13:19
虛緲 發(fā)表于 2013-3-8 16:58 / B4 t- w- J, N3 |" j2 R' w
這個(gè)問題其實(shí)有個(gè)很好的解決方法,我也有個(gè)切身體會(huì),我有一國產(chǎn)機(jī)床它的機(jī)床回零到位是:一小圓臺(tái)剛好插到 ...

: s9 {; c8 G5 M/ n3 C: K可以試試,我下午再搞一下。但是今天我在搞的時(shí)候讓我有感覺它確實(shí)是系統(tǒng)計(jì)算問題,我在原程序未作任何改動(dòng)的情況下將坐標(biāo)Z值抬高100mm,也就是不切削工件空運(yùn)行程序的時(shí)侯,它最后竟然算到100.2,但是換個(gè)工件接著做又是切到1.2很郁悶,也許jiangssli師傅解釋的很對(duì)系統(tǒng)計(jì)算問題,但是我是真心沒有搞懂?判斷語句不嚴(yán)謹(jǐn)?還望不吝指教。
作者: 討飯吃ss    時(shí)間: 2013-3-9 13:22
jiangssli 發(fā)表于 2013-3-8 08:28
' ^. A# L' b- \" u系統(tǒng)計(jì)算的時(shí)候把十進(jìn)制轉(zhuǎn)換成二進(jìn)制,計(jì)算完以后又把二進(jìn)制轉(zhuǎn)換成十進(jìn)制,反復(fù)幾次以后你看見的結(jié)果和實(shí)際計(jì) ...

) A6 @: H( \4 y) W* O是不是可以說系統(tǒng)計(jì)算的時(shí)候二進(jìn)制十進(jìn)制之間轉(zhuǎn)換有誤差而正好我的判斷語句不嚴(yán)謹(jǐn),??
作者: jiangssli    時(shí)間: 2013-3-9 13:47
討飯吃ss 發(fā)表于 2013-3-9 13:22
$ M: Z) K) m+ S) Y3 s( {是不是可以說系統(tǒng)計(jì)算的時(shí)候二進(jìn)制十進(jìn)制之間轉(zhuǎn)換有誤差而正好我的判斷語句不嚴(yán)謹(jǐn),??

' T! F4 c; `9 q' R5 ]' U5 D0 |1 F基本是這樣的,有時(shí)候我用系統(tǒng)變量讀取數(shù)控車的刀具數(shù)據(jù),也許讀出結(jié)果是707.063123....其實(shí)應(yīng)該是707,這就是二進(jìn)制轉(zhuǎn)換十進(jìn)制出現(xiàn)的問題
作者: jiangssli    時(shí)間: 2013-3-9 13:48
討飯吃ss 發(fā)表于 2013-3-9 13:22 ) f( }* D2 @9 ?, ]% V" M6 A
是不是可以說系統(tǒng)計(jì)算的時(shí)候二進(jìn)制十進(jìn)制之間轉(zhuǎn)換有誤差而正好我的判斷語句不嚴(yán)謹(jǐn),??
# U$ N  T# L2 R$ r: j4 @0 {
基本是這樣的,有時(shí)候我用系統(tǒng)變量讀取數(shù)控車的刀具數(shù)據(jù),也許讀出結(jié)果是707.063123....其實(shí)應(yīng)該是707,這就是二進(jìn)制轉(zhuǎn)換十進(jìn)制出現(xiàn)的問題
作者: 虛緲    時(shí)間: 2013-3-9 15:51
虛緲 發(fā)表于 2013-3-8 16:58
# k: [5 l* h" o" w3 [; C$ x這個(gè)問題其實(shí)有個(gè)很好的解決方法,我也有個(gè)切身體會(huì),我有一國產(chǎn)機(jī)床它的機(jī)床回零到位是:一小圓臺(tái)剛好插到 ...
, f8 s) ?% B  ?# z6 T
是不是很完美我不是很清楚,對(duì)于宏程序來說它確實(shí)有很多我們想不到的方方面面,但我所要的只是對(duì)這一問題最終結(jié)果,至少我用這個(gè)方法解決我的問題。
作者: 討飯吃ss    時(shí)間: 2013-3-9 22:20
虛緲 發(fā)表于 2013-3-9 15:51 # h( l9 R; o* q2 y* ]
是不是很完美我不是很清楚,對(duì)于宏程序來說它確實(shí)有很多我們想不到的方方面面,但我所要的只是對(duì)這一問題 ...

  t6 c( T+ `5 ?3 ]( d+ s8 U3 w對(duì)頭,能解決問題的都是好方法{:soso_e113:},{:soso_e157:}{:soso_e157:}
作者: 小魚兒小魚兒    時(shí)間: 2015-1-20 09:01
其實(shí)沒必要。坐標(biāo)系00,坐標(biāo)Z你補(bǔ)上-0.2,#2直接是整數(shù)1,在試試/ @; G9 I2 o4 P9 s* Q5 l: h, H+ L

作者: 18066123353    時(shí)間: 2015-1-20 09:37
應(yīng)該不會(huì)吧,沒遇到過




歡迎光臨 機(jī)械社區(qū) (http://e-learninguniversity.com/) Powered by Discuz! X3.4