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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 4555|回復(fù): 20
打印 上一主題 下一主題

偏移子程序…現(xiàn)在在個(gè)人內(nèi)測,專家們審核審核,多多提意見!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2013-4-4 13:38:24 來自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 wang2011214 于 2013-4-4 13:51 編輯 4 J' A' C$ G3 F% ~4 Q0 y5 ?
; X% @% B. g% L( e# ^
背景:
$ I0 Y6 X  N, D7 Y' f* k3 Y 我們廠的產(chǎn)品主要是售后的,批量很小,能上千的都很少。十幾臺數(shù)車加工每天的調(diào)試很頻繁,沒有技術(shù)員,全靠個(gè)人操作,還是計(jì)件的!加工刀具也多,少的三把,四把現(xiàn)在用新工藝加工最少就要五把刀,多的七八把刀加工,調(diào)試時(shí)對刀,調(diào)磨耗最麻煩。使用平移坐標(biāo)系能很輕松解決這個(gè)問題,但好多同仁學(xué)了好多次也是模模糊糊不敢用。所以自己就做了個(gè)平移的代碼,自己內(nèi)測了兩多星期,使用還算正常!想過些時(shí)候在組內(nèi)推廣…今天貼出來讓專家們審核審核,多給點(diǎn)指導(dǎo)和意見…謝謝!來自: Android客戶端
回復(fù)

使用道具 舉報(bào)

2#
 樓主| 發(fā)表于 2013-4-4 13:40:08 來自手機(jī) | 只看該作者
z向平移代碼使用方法
! y7 p) r! r5 x% c! K    在調(diào)試產(chǎn)品中平移的對刀速度想對于傳統(tǒng)對刀速度有很大的提升,但操作起來操作步驟和注意事項(xiàng)也相對較多…在此將其繁雜的步驟和注意事項(xiàng)做入代碼中,從而提高操作效率降低操作失誤率,使平移更容易理解使用。
  W) A2 h4 S; S1 G6 c# I    平移代碼是以手動(dòng)平移為原理,并整合所有步驟和注意事項(xiàng)在程序中,以代碼調(diào)用子程序的方式執(zhí)行。先介紹下手動(dòng)平移的注意事項(xiàng)和步驟。
* R5 M$ ]2 M; o! U2 b$ n6 V    手動(dòng)平移能正確使用的注意事項(xiàng):, w$ Y* a( ~- ]$ _5 Y) {
    ①刀塔上所有刀具x,z向在同一基準(zhǔn)上,如若有刀具不在以一號刀為基準(zhǔn)的坐標(biāo)系中,那么操作時(shí)一定要有對刀動(dòng)作,遵循先平移后對刀的原理。4 `% g' z1 {) p/ @" p1 C
    ②磨耗值會影響到平移精度,因?yàn)槠揭茣r(shí)在MDI的方式下磨耗不被計(jì)算到刀補(bǔ)里,所以平移前要將磨耗值加入刀補(bǔ)值中。: r2 t( @# O" \4 u
    ③機(jī)床絲桿的間隙補(bǔ)償會影響到對刀時(shí)產(chǎn)生絕對坐標(biāo),從而使MDI執(zhí)行刀補(bǔ)和自動(dòng)執(zhí)行刀補(bǔ)有誤差。操作時(shí)要使每次手輪手動(dòng)都是固定向Z正或Z負(fù)方向移動(dòng)。8 r) K0 K3 w9 l
   手動(dòng)平移的基本步驟:- }& X  r( o+ K1 ]: Z4 m5 X, R
    ①用基準(zhǔn)刀試切工件。
# c; }8 m1 Q4 E! a, _% e    ②工件取下測量高度值。3 y4 A' Y# r% k3 }# [
    ③MDI方式執(zhí)行基準(zhǔn)刀刀補(bǔ)(如T0101)。
+ \; H$ _  u: C! k3 c% N- {    ④切換至坐標(biāo)畫面顯示(pos鍵),將絕對坐標(biāo)記錄下來。
0 q8 l" o3 z4 f+ \) f( N    ⑤切換至坐標(biāo)系將數(shù)值加進(jìn)坐標(biāo)中,注意正負(fù),以加入后絕對坐標(biāo)變?yōu)?為基準(zhǔn)。
7 C8 c1 c- d, h; L    ⑥加入測量工件計(jì)算后此處的z值,注意加入的正負(fù)性,以得到計(jì)算值為準(zhǔn)。(平移完成)0 j! K* @! G* U( L. L1 H
    平移代碼G100使用格式:. r. X) [( c  A' z% w) k
    G100 Z_;
6 L* Z# {% V- c     Z_:指定當(dāng)前位置的絕對坐標(biāo)。7 ~9 ^' p1 F0 C% y5 a$ s$ b
    例:用一號刀試切后測量此處應(yīng)為Z0.3,在MDI下執(zhí)行G100 Z0.3;按啟動(dòng),程序大約執(zhí)行一秒不到,執(zhí)行完切換坐標(biāo)畫面核對絕對坐標(biāo)!平移完成…
7 P6 T2 z, ~: H: J  p- m1 ^7 M    G100 W_;
0 D; o9 k3 u5 B6 @7 g: V" u    W_:相對平移。
5 K/ l4 b, F, c0 s    例:調(diào)試產(chǎn)品后需整體向下減0.2,在MDI執(zhí)行G100 W-0.2;啟動(dòng)即可!
) D) B- n. Y# m# o( h+ R2 F+ V! Y) G    G100 W0 A_;4 p+ ~% k- H# C0 r
    W0 為刀補(bǔ)錄入功能選項(xiàng)。
; v6 q8 ]* F5 i2 t7 Z6 |9 z7 j( L    A_:取值范圍為負(fù)數(shù),0,和不大于機(jī)床刀具號的整數(shù)!
+ q. ?: I# r+ M/ F7 C    G100 W0 A_;7 {% Q, q7 B4 L7 e: H: V9 o
    A為負(fù)數(shù)時(shí):取消刀補(bǔ)對比功能,此時(shí)即使某把刀具刀補(bǔ)變化超過1毫米執(zhí)行平移時(shí)也不會報(bào)警!此為模態(tài),在不指定大于等于零的A值時(shí)一直被默認(rèn)!/ c: ?  {" i! i8 |$ Z* U! i
    G100 W0 A0;" [& r3 c' W8 o
    現(xiàn)有所有刀補(bǔ)數(shù)據(jù)覆蓋保存刀補(bǔ)數(shù)據(jù),不發(fā)出任何報(bào)警!首次調(diào)試程序時(shí)執(zhí)行一次,或者撞機(jī)后重新對所有刀具后必須執(zhí)行一次(執(zhí)行此選項(xiàng)必須保證所有刀具可用)。
5 r$ h9 |+ Q& z    G100 W0 A_;4 B' |/ h" d; c- f& B- T
     保存當(dāng)前刀補(bǔ)值;A值指定要保存的刀具號(大于零且小于等于機(jī)床刀具數(shù)的整數(shù)),用于新添加刀具后保存刀補(bǔ),此時(shí)應(yīng)注意對刀時(shí)應(yīng)和當(dāng)前基準(zhǔn)刀具同一零點(diǎn)。
5 r% V% p$ T: k& @6 q( M    例:平移完成后,新添的一把刀具在10號刀位,對好后在MDI下執(zhí)行G100 W0 A10;若對刀后未執(zhí)行此命令,在下次平移時(shí)會報(bào)3110 X AND Z BIAN DONG;% L1 ^, _" N: ]0 S7 P/ K; Z
    G100 T_ Z_;9 w' D' ~0 ~1 ~* o( K. b  b
    指定基準(zhǔn)刀具偏移;在不指定T值的情況下默認(rèn)基準(zhǔn)刀為一號刀。7 X: _7 g5 g, @" q( u, @
    例:只使用一號刀以外一把或幾把刀具加工時(shí),例如只使用四號刀,用四號刀試切后指定Z0,MDI下執(zhí)行G100 T4 Z0;即可。
7 Z1 v! s" w, S) ?    不能試切刀具與執(zhí)行刀具不一樣,因?yàn)槿绻灰粯幼鴺?biāo)會出錯(cuò),程序也會執(zhí)行換刀動(dòng)作!
2 ~6 Q' S& W, ~; I. y) I9 @    例:用三號刀試切,MDI下執(zhí)行G100 T4 Z0;此時(shí)將以四號刀刀補(bǔ)計(jì)算坐標(biāo),得出的坐標(biāo)值與三號刀有誤差,但絕對坐標(biāo)顯示為Z0,且刀塔換刀換為四號刀!" W1 ]) f4 c  B% u1 \7 p
    報(bào)警信息與處理:' \0 R- W" s+ y  M9 y$ t# K3 C
    3001 Z AND W KONG;
4 O, r( j; k1 J6 T    執(zhí)行時(shí)Z,W不能同時(shí)不指定。$ _; j' K$ b; m% ]4 }
    3002 Z AND W CHONG;
& u5 {. F4 X. U9 o    重復(fù)指定了Z和W。
  `8 F4 E4 }3 C* o6 @/ D. o    3001 NO X;+ W7 `" P8 E- _" b' Y. M
    不可指定X。
6 ]" A1 Y+ |/ U0 K- l7 j) l6 w    3001 NO U;
, G5 L% ?2 r: L. T; _: f    不可指定U。/ N  T1 n+ a/ l4 U! l; w
    3003 T DA YU 10;# Q' ]6 B" j6 c: R
    指定基準(zhǔn)刀具號大于機(jī)床刀位數(shù)。
7 P  y: n/ q7 V+ ?+ x, C    3004 A ERROR;
, R: P' q7 a5 M( E# R1 c2 z1 H! {4 M     A 不在取值范圍。: s" O& z& G# k8 w# O, v+ G
    以上為錄入數(shù)據(jù)錯(cuò)誤報(bào)警,報(bào)警時(shí)沒進(jìn)行平移動(dòng)作復(fù)位后錄入正確數(shù)據(jù)即可。
( O4 G- a9 k6 s2 r* F    A值為負(fù)時(shí),刀補(bǔ)對比取消,此時(shí)無論執(zhí)行什么在程序結(jié)束時(shí)都會有提醒“PIAN YI OK”,意為偏移程序結(jié)束,未進(jìn)行刀補(bǔ)對比。
" T7 Z1 c  n# \: S) m    3100報(bào)警;
8 C) c+ C: R3 H; y3 s9 ?    以31開頭報(bào)警為刀補(bǔ)變動(dòng)的錯(cuò)誤報(bào)警,31后兩位為報(bào)警刀具號。如3108是八號刀刀補(bǔ)變動(dòng)超過一毫米。
) K9 M/ m0 V( t# a( p2 N0 D9 f# v    31__ Z BIAN DONG;
4 d5 l9 J5 s  W5 l. X. K    報(bào)警刀具刀補(bǔ)z方向變動(dòng)超過一毫米。; l  `: {  r- ?( d2 V% _
    31__ X BIAN DONG;" }" u% Q- C% i5 m" K  H
    報(bào)警刀具刀補(bǔ)X方向變動(dòng)超過一毫米。
. S8 P: i7 k( \" ]$ w, j( c* b    31__ X AND Z BIAN DONG;
* b; D7 h9 q3 b7 k& r! d' O    報(bào)警刀具刀補(bǔ)X,Z方向都變動(dòng)超過一毫米。
. ]2 ^7 f+ K0 {* G$ `    上述報(bào)警出現(xiàn)時(shí),為此次平移的所有刀補(bǔ)值較上次變動(dòng)超過一毫米,此時(shí)平移已經(jīng)完成,出錯(cuò)刀具如果不安全可以直接對刀,完成后執(zhí)行G100 W0;保存報(bào)警刀具刀補(bǔ)。報(bào)警后程序會記錄下報(bào)警刀具號,保存刀補(bǔ)時(shí)可不指定A值。如果沒保存已經(jīng)正確的刀補(bǔ)值,下次平移時(shí)還會報(bào)出同樣的錯(cuò)誤。
# b$ G% o+ ]' ?' i. X2 x    注意:在平移時(shí)為消除絲桿間隙的影響,刀塔會有一個(gè)毫米的往返運(yùn)動(dòng)。誤操作可能導(dǎo)致刀塔換刀。所以要遠(yuǎn)離工件操作!' {) L# |2 T5 |+ W
    此代碼為調(diào)用子程序,沒有子程序或未對機(jī)床進(jìn)行設(shè)置不能使用。
' N) p% ?8 k# s5 ^    報(bào)警只是提供參考,不能以其作為安全保障,錯(cuò)誤的操作可能會保存錯(cuò)誤的刀補(bǔ)數(shù)值。程序測試成功后其邏輯性是正確的,因此不對任何誤操作引起的后果負(fù)責(zé),請?jiān)谕耆斫獾那闆r下使用!此代碼為方便操作,提高調(diào)試效率和安全性,但不能完全替代手動(dòng)操作,扎實(shí)的基本功、良好的調(diào)試習(xí)慣才是安全和效率的保障。- T  }2 H) z4 b% A, |6 U. R
    如有需要改進(jìn)的地方請即使反饋?zhàn)鞒鲂薷?..來自: Android客戶端
3#
 樓主| 發(fā)表于 2013-4-4 13:41:53 來自手機(jī) | 只看該作者
自己寫的代碼說明…下面貼出源程序,比較庸長,自己也是新手,很多邏輯都是自己想了好久…專家們多多指點(diǎn)!來自: Android客戶端
4#
 樓主| 發(fā)表于 2013-4-4 13:42:32 來自手機(jī) | 只看該作者
本帖最后由 wang2011214 于 2013-4-4 13:54 編輯 . M( B) z# l6 s7 N
2 ?: \1 g8 c1 J- v' O  \# ~7 P0 N
O9010(PIAN YI);5 s# B! d) {; ?1 q* M0 K
IF[[#26 EQ #0]AND [#23EQ#0]] THEN #3000=1 (Z AND W KONG);  r: Q4 {- I% F  M( v  Q9 U
IF[[#26 NE #0]AND [#23NE#0]] THEN #3000=2 (Z AND W CHONG);( j$ t- s' a2 p! m  K
IF[#24 NE #0] THEN #3000=1(NO X);
) ]4 L% T5 Q5 X IF[#21 NE #0] THEN #3000=1(NO U);( J. [. Q. _7 s: E( C! h, h
IF[#20 GT 10] THEN #3000=3(T DA YU 10);6 k+ v$ F4 D  W2 ~: W1 m9 N
IF[#1 NE #0] THEN #620=#1;# @& l  r+ K% K8 C; p
IF[#620 LT 0] GOTO 90;! I4 e% l( b9 P
IF[#23 EQ 0] GOTO 500;
% t, O: A7 D# q# JN90 #20=FIX[#20];
3 L5 E0 S* g. m7 ~* x  EIF[#20 LT 1] THEN #20=1;
1 C0 [9 c: n3 m" K/ g, J7 g# T#[2800+#20]=#[2800+#20]+#[2100+#20];7 @% V+ s+ S$ N! C5 q, e
#[2100+#20]=0;
) k% d5 X+ T. Q, ~. q' {6 d IF[#23 NE #0] GOTO 100;; G, J$ \! h( d2 b7 e% @+ T! q
T[#20*101]
( Y7 s: C, i6 c7 ~#5202=0;2 N2 W. {. N/ q& ]% P
#5222=0;" ?& H+ F: f. @6 X8 [" O7 Q
#2601=0;
& ^3 @8 o" u# }5 ]. m! ~. HG98 G1 W1. F500;
5 A7 a0 d/ N# L' f& aW-1.;5 L8 }5 [' Y' q- P5 w" ^7 g
G99;4 _- K& h3 w" N9 e. k
#30=1;
: R9 r/ I* m; G3 u6 j' H- ]0 DWHILE[#5042 NE #26] DO1;
4 T5 F' w& }' d0 PIF[#30 GE 9] THEN #3000=3(PIAN YI ERROR);8 O$ `, R0 }! J& ?8 H  B6 E
#31=1;8 I# I6 ^. H5 }4 w
#32=1;0 {9 U2 Q6 L7 Q9 a" B: n8 r9 N6 r
#33=1;2 v# h1 G2 B" V( G4 @
IF[[#30 EQ 5] OR [#30 EQ 6]] THEN #31=-1;" Y' X, q5 X8 H% @/ X
IF[[#30 EQ 7] OR [#30 EQ 8]] THEN #31=-1;. L. e7 q% Y; n# r8 r7 S
IF[[#30 EQ 3] OR [#30 EQ 4]] THEN #32=-1;
8 y" [  S5 x% e4 H: bIF[[#30 EQ 7] OR [#30 EQ 8]] THEN #32=-1; 5 s; z- N& {1 \' q
IF[[#30 EQ 2] OR [#30 EQ 4]] THEN #33=-1;
4 C6 M  f- F+ ^$ W# ]. O' [( S2 pIF[[#30 EQ 6] OR [#30 EQ 8]] THEN #33=-1;
; X/ Q/ Y; ^* O3 c/ M0 c#5202=#31*#26+#32*#5022+#33*#[2800+#20];
  S+ X" ]  X4 X#30=#30+1;: K* J/ p! ?5 ?* P% H1 @
END1;
, k* ?* l2 _, rGOTO 200;
' Y' @$ m  o  u6 }) u- EN100 #10=#5042;
+ y) b4 D+ {2 C, w/ \#14=1;
4 K) ?7 x: \- H9 r#15=1;$ l6 M" `1 C6 ?6 d" ?1 R+ }
N300#5202=#5202+#14*#15*#23;
: r( Q- B" Z& x1 f9 A8 w" G: R$ ~#14=2;+ G3 a0 z0 r6 X$ ^
#15=-1;9 `; M! p# h) G
IF[#23 LE 0] GOTO 400;
& ?# F4 p" c5 m+ YIF[#5042 GT #10] GOTO 300;
- x. x# |) o- d# N6 E3 eGOTO 200;
6 j* X$ b6 u1 F! s1 j$ _1 V. |N400 IF[#5042 LT #10] GOTO 300;/ F. t9 m7 F3 b9 M" w) T+ b
N200(DUI BI);
# m7 o2 j* K2 Z9 E# B9 AIF[#620 LT 0] GOTO 99;
+ y/ ?& D4 m9 A) [8 y#27=1;
' Y$ M2 ^  x) _5 K- \. T% |WHILE[#27 LE 10] DO2;4 s. O% S, Z/ @; _
#28=ABS[#[2800+#27]]-ABS[#[600+#27]];4 O+ [+ q9 i3 i
IF[ABS[#28] GE 1] THEN #600=#27;6 n& ^% u% o$ S
#29=ABS[#[2700+#27]]-ABS[#[630+#27]];
' i0 B. U3 ~: ]9 e% d- ?9 z6 VIF[ABS[#29] GE 1] THEN #630=#27;
/ h  I* v- ?# j$ J7 ?3 \) e% HIF[[ABS[#29] GE 1] AND [ABS[#28] GE 1]] THEN #3100=[100+#27](X AND Z BIAN DONG);
9 x1 C$ @, c: T2 D- kIF[ABS[#28] GE 1] THEN #3100=[100+#27](Z BIAN DONG);
/ ]7 Y  F$ C' o2 U0 D8 hIF[ABS[#29] GE 1] THEN #3100=[100+#27](X BIAN DONG);! T- Q( Q& A8 L% v& a, Q5 O
#27=#27+1;
5 f) k& C# i3 [- D) g) |# I/ ?END2;4 k/ t6 r. j$ Q8 Z
N99 IF[#620 LT 0] THEN #3006=1(PIAN YI OK);( ]; C! ~( j& l, ~" U
M99;; T2 `( n+ ^1 V" c# Y8 _6 d
N500(LU RU DAO BU);
! ]8 V! t% U. b* K, z: ]" q0 MIF[#600 GT 0] GOTO 600;7 D3 ]9 A& W# a) ^" Q; c! r
IF[#630 GT 0] GOTO 700;
% @" o! }. J- r5 H+ [* C; N% IIF[[FIX[#1] NE ABS[#1]] OR [#1 GT 10]] THEN #3000=4(A ERRER);
$ g) u+ A7 B: e& x" K3 M. g3 ?IF[#1 EQ 0] GOTO 800;
* [) x" n# G5 j+ G- {IF[#1 GE 1] GOTO 900;& v  k6 L  C. s# j( c
GOTO 200;
+ Y2 q3 B! u- y7 ~$ ?4 \N600#[600+#600]=#[2800+#600];8 L0 N1 g' X* O. j7 z
GOTO 500; $ }* C/ w- ?- F5 x
N700#[630+#630]=#[2700+#630];
# w' C& D& O( B- i  n+ ZGOTO 500;7 E  D. L& M: X9 W
N900 #600=#1;& t% H: ~6 u6 [2 A1 n& N' F: D* E
#630=#1;
6 o, U+ H4 s: |: w& Y- M2 i+ F% e#1=#0;
# a  U3 X/ j# d0 n( JGOTO 500;& ?; l. s2 g1 \. O
N800(FU GAI);
4 N4 y+ U: n  |+ P. i2 f& ~#1=1;
% ?7 L* [; u, dWHILE[#1 LE 10] DO3;
0 T# q3 E( L* ?6 s* X- i# w0 i& K#[600+#1]=#[2800+#1];' C  h5 Y8 {1 u, h1 e
#[630+#1]=#[2700+#1];
, o( g  C! P  m  V( y+ F5 l) g3 @#1=#1+1;
4 z3 ~( |% O1 s0 iEND 3;1 g) h" Y) K. Z" p' m5 P
#600=#0;
$ |  v) S  v: m3 a#630=#0;, T% |  k2 Y, _6 I: q5 u
M99;來自: Android客戶端

點(diǎn)評

好深?yuàn)W啊.學(xué)習(xí)了.不過只需改Z向可以坐標(biāo)系偏移00坐標(biāo)系.只需要對一把刀的Z向.差多少就改多少.很方便啊  發(fā)表于 2013-12-2 18:58
5#
發(fā)表于 2013-4-4 13:44:49 | 只看該作者
貌似沒有必要吧?
6#
 樓主| 發(fā)表于 2013-4-4 13:47:09 來自手機(jī) | 只看該作者
自己英文白癡,報(bào)警信息都是拼音…嘿嘿,能看懂就好了!來自: Android客戶端
7#
 樓主| 發(fā)表于 2013-4-4 17:38:09 來自手機(jī) | 只看該作者
風(fēng)隨意 發(fā)表于 2013-4-4 13:44
  I8 u* {6 s# u# Y1 P貌似沒有必要吧?

* o: r2 g. N5 o( h3 T做這個(gè)程序是麻煩點(diǎn),但使用很方便…特別是刀具多的時(shí)候!
8#
 樓主| 發(fā)表于 2013-4-4 17:42:53 來自手機(jī) | 只看該作者
程序能自己尋找算法,報(bào)PIAN YI ERRER的時(shí)候是系統(tǒng)變量號不對,修改變量號就可以了,在三個(gè)版本的法蘭克系統(tǒng)測試過了
9#
發(fā)表于 2013-4-4 18:05:12 | 只看該作者
用工件移不是更快
10#
 樓主| 發(fā)表于 2013-4-4 18:09:55 來自手機(jī) | 只看該作者
veroinca 發(fā)表于 2013-4-4 18:05
* g7 p* N& V2 X7 ^4 \用工件移不是更快
* f' Z3 |8 ?: ?$ P3 V, l) X
和工件移一個(gè)道理,多了的就是刀具對比…工件移的前提就是刀具在一個(gè)基準(zhǔn)上
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機(jī)版|Archiver|機(jī)械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2024-11-18 18:24 , Processed in 0.061206 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表