ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑK MAÙY CAÉT 353 Chöông 6 ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑIEÀU KHIEÅN MAÙY CAÉT (KHAÛO SAÙT VÍ DUÏ CHO MAÙY CAÉT ÑIEÀU KHIEÅN SOÁ KRISTAL CUÛA NGA) 6.1 CAÙC KHAÙI NIEÄM Thaûo ñoà chi tieát: ñaây laø moät daïng baûn veõ chi tieát cuûa taám toân, vôùi caùc kích thöôùc vaø kyù hieäu ñöôøng gaáp, beû, uoán cong caàn thieát cuõng nhö caùc kyù hieäu veát ñöôøng söôøn keát caáu maø ngöôøi cheá taïo caàn ñoái chieáu, kieåm tra khi gia coâng uoán, beû, gaáp chi tieát cuõng nhö haøn oáp vaøo caùc keát caáu treân taøu. Hình 6.1 Hình 6.2 Thaûo ñoà haï lieäu: laø baûn veõ sô ñoà saép xeáp caùc chi tieát seõ ñöôïc caét treân taám vaät lieäu naøy. Treân moãi chi tieát coù theå hieän ñaày ñuû caùc ghi chuù,
354 kyù hieäu... nhö treân thaûo ñoà chi tieát ñaõ neâu (xem hình 6.1 vaø 6.2). 6.2 GIÔÙI HAÏN NHIEÄM VUÏ CUÛA BAØI TOAÙN Thöïc teá saûn xuaát hieän nay taïi moät soá nhaø maùy ñoùng taøu laø caùc thaûo ñoà haï lieäu ñaõ coù theå "thöïc hieän thuû coâng" treân moät phaàn meàm thoâng duïng nhö AutoCAD. Kyõ naêng thöïc hieän caùc baûn veõ sô ñoà loaïi naøy hoaøn toaøn ôû möùc söû duïng AutoCAD caên baûn. Taát nhieân cuõng caàn moät soá ñoaïn chöông trình hoã trôï cho vieäc veõ caùc chi tieát theo nhöõng maãu coù saün (nhöng khaùc kích thöôùc cuï theå). Nhöõng chöông trình hoã trôï mang tính maõ hoùa caùc maãu chi tieát thoâng duïng nhö vaäy coù theå tìm thaáy trong caùc ñeà taøi luaän vaên toát nghieäp cuûa sinh vieân caùc khoùa 1991-1992 chuyeân ngaønh taïi Boä moân Taøu thuûy. Vaán ñeà ñaët ra ôû ñaây laø moät chöông trình noái tieáp sau ñoù, vôùi muïc ñích xuaát caùc döõ lieäu hình hoïc cuûa caùc chi tieát ñaõ ñöôïc saép xeáp trong moät dieän tích - khoå toân cho tröôùc ra ôû daïng qui ñònh, phuø hôïp vôùi yeâu caàu ñieàu khieån cho moät maùy caét ñieàu khieån soá cuï theå. Trong phaïm vi taøi lieäu naøy khoâng ñeà caäp ñeán giaûi phaùp saép xeáp hôïp lyù hay toái öu caùc chi tieát treân khoå toân, maø chæ laø chaáp nhaän moät sô ñoà saép xeáp coù saün vaø tieáp ñoù laø xuaát döõ lieäu ñieàu khieån theo ñoù maø thoâi. Trong phaàn phuï luïc cuoái chöông coù trình baøy hai thaûo ñoà haï lieäu do moät nhaø maùy cung caáp ñeå laøm ví duï xuaát ñieàu khieån cho maùy caét toân töï ñoäng. 6.3 GIÔÙI THIEÄU VEÀ MAÙY CAÉT TOÂN TÖÏ ÑOÄNG KRISTAL 6.3.1 Giôùi thieäu chung Ñaây laø heä maùy caét do Lieân Xoâ cuõ cheá taïo, coù khaû naêng ñieàu khieån ôû daïng NC, nhôø baøn phím, maøn hình vaø maùy ñoïc baêng loã. Moät soá maùy theá heä sau coù laép boä giao tieáp vôùi PC ñeå trôû thaønh heä maùy CNC. Maùy di chuyeån theo heä thoáng X-Y, coù hai ñaàu coâng taùc ñeå caét vaø ñeå vaïch daáu baèng tia löûa ñieän. Maùy coù khaû naêng caét nghieâng ñeå keát hôïp vaùt meùp vaø töï ñoäng dòch traùi hoaëc phaûi theo chöông trình ñeå buø tröø khe hôû caét. Maùy töï giaûm toác ñoä ôû cuoái haønh trình ñeå chuyeån höôùng neáu caàn. Haønh trình di chuyeån ñöôïc moâ taû qua caùc ñoaïn thaúng, cung troøn ñôn giaûn, bôûi toïa ñoä tuyeät ñoái hay töông ñoái tính töø ñieåm döøng tröôùc ñoù. Caùc maõ ñieàu khieån vaø coâng ngheä coù neâu trong Taøi lieäu höôùng daãn keøm
ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑK MAÙY CAÉT 355 theo maùy. Sau ñaây laø moät soá ñieåm chính.
356 CHÖÔNG 6 6.3.2 Moät soá ñaëc ñieåm cuûa chöông trình ñieàu khieån Kristal Moãi doøng maõ leänh cuûa Kristal neáu baét ñaàu baèng daáu "+" hay " " laø leänh di chuyeån, coøn neáu baét ñaàu laø moät kyù töï soá thì seõ laø leänh ñieàu khieån veà coâng ngheä. 1- Ñôn vò tính cuûa khoaûng caùch vaø goùc ño: ñeå traùnh soá thaäp phaân Kristal qui öôùc: + Ñôn vò tính khoaûng caùch laø 0,1 mm (vaø giaù trò toái ña cho pheùp laø 999999 ñôn vò). ñôn vò). + Ñôn vò tính goùc... laø 0,01 ñoä (vaø giaù trò toái ña cho pheùp laø 36000 2- Moâ taû haønh trình thaúng AÙp duïng coâng thöùc + X + Y, neáu x = 0 (vaø/hoaëc Y = 0) thì coù theå ghi laø: ++Y hoaëc +X+ hoaëc ++, töùc laø coù theå boû qua soá 0 nhöng vaãn giöõ laïi caùc daáu +/. 3- Toïa ñoä tuyeät ñoái vaø töông ñoái Trong caëp soá toïa ñoä treân thì X vaø Y laø khoaûng caùch tính töø goác toïa ñoä. Trong tröôøng hôïp coù qui ñònh laïi baèng maõ leänh 6 thì caëp soá ñoù seõ mang yù nghóa töông ñoái, tính theo khoaûng caùch keå töø ñieåm tham chieáu ngay tröôùc ñoù, töùc laø (+DX+DY). Huõy boû maõ leänh 6 laø maõ leänh 5 - "toïa ñoä tuyeät ñoái". 4- Moâ taû haønh trình theo cung troøn AÙp duïng coâng thöùc + X2+ Y2+ Xc+ Yc+ trong ñoù X2, Y2 toïa ñoä ñieåm keát thuùc cung: Xc, Yc - toïa ñoä taâm; daáu +/- cuoái cuøng cho bieát cung ñi theo chieàu döông hay aâm. Caùc giaù trò X2,Y2, Xc,Yc coù theå laáy theo heä toïa ñoä töông ñoái, tính töø ñieåm xuaát phaùt cuûa cung (laø vò trí döøng tröôùc khi vaøo cung). 5- Moâ taû ñöôøng troøn: töông töï nhö cung troøn nhöng ngaén goïn hôn neáu aùp duïng cho tröôøng hôïp töông ñoái nhö sau: +++ DXc + DYc + trong ñoù ñieåm cuoái truøng vôùi ñieåm xuaát phaùt neân ñöôïc thay baèng ++. 6- Söû duïng chöông trình con - Procedure: ñeå ñònh nghóa moät nhoùm maõ leänh thaønh moät procedure Kristal qui öôùc baèng moät doøng maõ ñaët teân coù daïng töø 1 ñeán 4 kyù töï soá vaø moät daáu "+", tieáp ñoù laø caùc maõ leänh caàn thieát gheùp nhoùm, cuoái cuøng laø doøng maõ keát thuùc cuõng vôùi caùc kyù töï soá treân vaø moät daáu "-". Ví duï: khai baùo procedure nhö sau:
ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑK MAÙY CAÉT 357 + 82 5 Sau naøy, khi caàn duøng, chæ caàn goïi baèng teân. Chöông trình con coøn coù theå ñöôïc goïi laïi ñeå thöïc hieän vôùi n laàn laäp, vôùi tæ leä TLx vaø tæ leä TLy khaùc nhau. 6.4 CHÖÔNG TRÌNH XUAÁT NGÖÕ DÖÕ LIEÄU CHO MAÙY CAÉT KRISTAL ;------------------------------------------------------------------------------ ; Xuaát ñöôøng caét toân ra file maõ hoùa cho KRISTAL ;------------------------------------------------------------------------------ (defun to Kr ( / ss1; xuaát moät nhoùm entities NewEnt; ra file toïa ñoä ñöôøng caét [*.CAT] Pxcu Pycu); -- (chuù yù: Töông ñoái = 1, 2, nil) - (setq fname (getstring" \n \n \ncho teân file: ") fname (open fname "w") (setq Töông ñoái (if Töông ñoái Töông ñoái 2) Tle (if Tle Tle 10) maxr (if maxr maxr 99999. 9) ssl (ssget) sslen (sslength ssl) ent (ssname ssl 0) Pxcu 0 Pycu ) i 0 ) ;------------------------------------------------------------ (cond ( ( = töông ñoái 2) (setq maõ ~ nhanh ""; 82\n5\n maõ ~ chaäm ""; 81\n6\n ) ) ( ( = töông ñoái 1) (setq maõ ~ nhanh ""; 81\n5\n maõ ~ chaäm ""; 81\n6\n ) ) ( ( not töông ñoái) (setq maõ ~ nhanh ""; 82\n5\n maõ ~ chaäm ""; 81\n6\n ) ) (write-line (strcat ma~nhanh "+\n82\n54\n5\n" ma~nhanh "-") F1)
358 CHÖÔNG 6 (write-line (strcat ma~cham "+\n81\n6\n53\n" ma~cham "-") F1) (write-line (strcat "27\n53\n") F1) ;------------- chöông trình xöû lyù:--------------------- (repeat sslen (setq etype (cdr (assoc 0 (entget Ent) ) ) newent T) (cond ( ( = Etype "POLYLINE") ; ---neáu laø POLYLINE: (setq vertx (entnext Ent) EList (entget vertx) closep (= (rem (cdr (assoc 70 (entget ent) ) ) 2) 1) Bulge nil Closept nil (while (= "VERTEX" (cdr (assoc 0 Elist )) ) (setq Pti (cdr (assoc 10 Elist ) ) Bulgei (cdr (assoc 42 Elist ) ) ) (if (and CloseP (not ClosePt) ) (setq ClosePt Pti ) ) (setq Px (car Pti) Py (cadr Pti) ) (if bulge (CenCal) (setq Center "") ) (if (or Bulge Tuongdoi) (setq Px (- Px Pxcu) Py (-Py Pycu) ) ) (if (= Tuongdoi 2) (setq tuongdoi -2 Px (car Pti) Py (cadr Pti) ) (princ (strcat "\n" (chuso PX TLe) (chuso PY TLe) Center) ) (if newent (write-line ma~nhanh F1) ) (write-line (strcat (chuso PX Tle) (chuso PY TLe) Center) F1) (if newent (progn (setq newent nil) (write-line ma~cham F1) ) ) (setq Bulge (if (or (/= 0 Bulgei) (not Bulgei) ) Bulgei nil) Pxcu (car Pti) Pycu (cadr Pti) ;---------------------------------------------------------------- (setq vertx (entnext Vertx) EList (entget vertx) ) ; end while VERTEX (if ClosePt ; neu Pline dang close, ve tiep den diem xuat phat: (progn (setq Pti Closept Px (car Pti) Py (cadr Pti) ) (if bulge (CenCal) (setq Center "") )
ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑK MAÙY CAÉT 359 (if (or Bulge tuongdoi) (setq Px (- Px Pxcu) Py (- Py Pycu) ) ) (princ (strcat "\n" (chuso PX TLe) (chuso PY TLe) Center) ) (write-line (strcat (chuso PX TLe) (chuso PY TLe) Center) F1) (setq Pxcu (car Pti) Pycu (cadr Pti) ) ) ) ) ; if cond=polyline ( ( = Etype "LINE") ;------neu la LINE: (sepq elist (entget ent) P1 (cdr (assoc 10 elist) ) P2 (cdr (assoc 11 elist) ) ) (setq Px (car P1) PY (cadr P1) ) (Repeat 2 (if tuongdoi (setq Px (- Px Pxcu) Py (-Py Pycu) ) ) (if (= Tuongdoi 2) (setq tuongdoi -2 Px (car P1) PY (cadr P1) ) (princ (strcat "\n" (chuso PX TLe) (chuso PY TLe) ) ) (if newent (write-line ma~nhanh F1) ) (write-line (strcat (chuso PX TLe) (chuso PY TLe) ) F1) (if newent (progn (write-line ma~cham F1) (setq newent nil) ) ) (setq Pxcu (car P1) Pycu (cadr P1) Px (car P2) Py (cadr P2) ) ) (setq Pxcu (car P2) Pycu (cadr P2) ) ) ( ( = Etype 'CIRCLE") ;----- neu la CIRCLE: (setq elist (entget ent) Pc (cdr (assoc 10 elist) ) R (cdr (assoc 40 elist) ) P2 (polar Pc Pi R) ) (setq Px (car P2) PY (cadr P2) ) (if tuongdoi (setq Px (- Px Pxcu) Py (- Py Pycu) ) )
360 CHÖÔNG 6 (if (= Tuongdoi 2) (setq Px (car P2) PY (cadr P2) ) ) ; diem bat dau va vong tron: (princ (strcat "\n" (chuso PX TLe) (chuso PY TLe) ) ) (write-line ma~nhanh F1) (write-line (strcat (chuso PX TLe) (chuso PY TLe) ) F1) (write-line ma~cham F1) (princ (strcat "\n++" (chuso R TLe) "++" ) ) (write-line (strcat "++" (chuso R TLe) "++" ) F1) (setq Pxcu (car P2) Pycu (cadr P2) ) ) ( ( = Etype "ARC") ;--- neu la ARC: (setq elist (entget ent) Pc (cdr (assoc 10 elist) ) R (cdr (assoc 40 elist) ) P1 (polar Pc (cdr (assoc 50 elist) ) R) P2 (polar Pc (cdr (assoc 51 elist) ) R) ) (setq Px (car P1) PY (cadr P1) ) ) (setq Center (chuso (- (car Pc) Px) Tle) (chuso (- (car Pc) Px) Tle) "+" ) (if (= tuongdoi 1) (setq Px ( - Px Pxcu) Py ( - Py Pycu) ) ) ; (if ( = Tuongdoi 2) ; Diem xuat phat: (princ (strcat "\n" (chuso PX TLe) (chuso PY TLe) ) ) (write-line ma~nhanh F1) (write-line (strcat (chuso R TLe) (chuso PY TLe) ) F1) (write-line ma~cham F1) (setq Pxcu (car P1) Pycu (cadr P1) Px (car P2) Py (cadr P2) ) ; Ve cung > 0, luon = tuongdoi: ; (if tuongdoi (setq Px ( - Px Pxcu) Py ( - Py Pycu) ) ) (princ (strcat "\n" (chuso PX TLe) (chuso PY TLe) Center) ) (write-line (strcat (chuso PX Tle) (chuso PY TLe) Center) F1)
ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑK MAÙY CAÉT 361 (setq Pxcu (car P2) Pycu (cadr P2) ;) ) ; end cond ' xong 1 doi tuong, lay doi tuong ke tiep (princ "\n") (write-line "" F1) (Setq i (1+ i) ent (ssname ssl i) tuongdoi (if tuongdoi (ABS tuongdoi) nil); tra lai nhu cu! ) ) ; end of repeat (close f1) (princ) ;----------------------------------------------------------------------- (defun CenCal () (setq DXY (sqrt (+( * ( - (car Pti) Pxcu) ( - (car Pti) Pxcu) ) ( * ( - (car Pti) Pxcu) ( - (car Pti) Pxcu) ) ) ) Hxy (abs (* DXY DXY) (* Hxy Hxy) ) (* 8 Hxy) ) alp (angle (list Pxcu Pycu) (list (car Pti) (cadr Pti) ) ) Cent (polar (list (* 0.5 (+ Pxcu (car Pti) ) ) (* 0.5 (+ Pycu (cadr Pti) ) ) ) ( - alp (* 0.5 3. 14159 ) ) (* (abs ( - Hxy Rxy) ) (IF (OR ( < 1. 0 Bulge) ( < -1. 0 Bulge 0) ) 1-1) ) TLe (if TLe TLe 100) Center (if ( > RXY maxr) "" (strcat (chuso ( - (car Cent) Pxcu) TLe) (chuso( - (car Cent) Pxcu) TLe) (if (> bulge 0) "+" "-" ) ) ;-------------------------------------------------------------- (defun chuso (so tle / dau) ; them dau +/- truoc toa do tren Cristal (cond ; tri <so> tu dong tang them ti le <tle> ( ( > so 0. 0 ) (setq dau (strcat "+" (rtos (* tle so) 2 0) ) ) ) ( ( < so 0. 0 ) ( setq dau (rtos (* tle so) 2 0) ) ) ( ( = so 0 ) (setq dau "+" ) ) (if (or ( = dau "0") ( = dau "+0") ) "+" dau) );-------------------------------End of TO _ KR ristal ---------------------
362 CHÖÔNG 6 Caùc keát quaû xuaát ra file ñieàu khieån coù theå xem trong phaàn phuï luïc A. 6.5 GIÔÙI THIEÄU CHÖÔNG TRÌNH MOÂ PHOÛNG MAÙY KRISTAL Vôùi muïc ñích minh hoïa vaø moâ phoûng hoaït ñoäng cuûa maùy caét toân thoâng qua töøng leänh ñieàu khieån, nhoùm taùc giaû ñaõ thöïc hieän moät phaàn meàm treân neàn C vôùi caùc chöùc naêng sau ñaây: - Cho pheùp ñoïc vaø ghi laïi caùc file döõ lieäu ñieàu khieån (daïng file text thoâng thöôøng) - Coù maøn hình hieån thò vaø bieân soaïn file text - Tröïc tieáp ra leänh thöïc thöïc hieän moâ phoûng vôùi ba kieåu: chaïy nhanh (lieân tuïc) ñeå kieåm tra, chaïy töøng leänh ñeå theo doõi, vaø chaïy moâ phoûng. - Quaù trình chaïy moâ phoûng coù maøn hình hieån thò töøng leänh, cuõng nhö caùc dieãn bieán khaùc nhö: chaïy nhanh, chaïy coù haõm cuoái haønh trình, chaïy dòch buø sang traùi hay sang phaûi, taét löûa, môû löûa caét... hay thoâng baùo cheá ñoä tính toïa ñoä tuyeät ñoái hay toïa ñoä töông ñoái (theo ñieåm döøng tröôùc ñoù)... - Keát thuùc quaù trình cho pheùp in maøn hình keát quaû ra maùy in vaø ghi nhaän laïi caùc thay ñoåi chöông trình trong file text neáu caàn. - Coù moät soá khaû naêng tieän nghi nhö choïn laïi maøu cuûa haønh trình, thay ñoåi tæ leä moâ phoûng, thay ñoåi vaän toác ñaàu caét... Vì chöông trình chæ nhaèm kieåm tra vaø huaán luyeän neân seõ boû qua moät soá maõ leänh khoâng lieân quan ñeán döõ lieäu hình hoïc cuûa quaù trình di chuyeån vaø caét. Chöông trình moâ phoûng noùi treân ñaõ phuïc vuï toát cho yeâu caàu huaán luyeän laäp trình ñieàu khieån cho maùy Kristal taïi nhaø maùy cuõng nhö phuïc vuï cho vieäc kieåm tra döõ lieäu tröôùc khi nhaäp tröïc tieáp qua baøn phieám cuûa maùy. Tieáp theo ñaây laø maøn hình ñieàu khieån chính cuûa chöông trình moâ phoûng (phuï luïc B) vaø caùc thaûo ñoà minh hoïa (phuï luïc C).
ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑK MAÙY CAÉT 363 PHUÏ LUÏC A: FILE ÑIEÀU KHIEÅN CAÉT ÖÙNG VÔÙI THAÛO ÑOÀ "TD - B7S10" + 82 54 5 - + 81 6 53-27 53 +277+9299 +1705-16 +455-16-948-91918- +5284-82 +716-10+3947+252133+ +2667-33 +3333-39 +2748-29 +3252-33 +3000-46-3862-350079- +3000-46+6861+350006+ +2471-20+4769+432381+ +3529-12+4691+882380+ +4000+ +2000+8-506+375117+ +2143+16 +3858+32 +3850+35 +2151+23 +839+13-1227+108203+ +5161+95 +361+5+984-55185- +1490+16+10649-942223- ++ -73-2494 -69-2494 -51-1950 -49-1950 ++ -1393-28 -308-5-967+50633- -6001-78 -6001-78 -2400-21-3750+288152- -3600-7-3035+648137- -2000+21 ++ -32+2215+481407+8115- -22+2215+481439+5899- -12+2260+481461+3684- -1+2260+481473+1424- +540+9571 +25+850-121+159 +3267+2477 +5300-2230 -837-634 -25-850 -7609+228 +3165+14707 +601-601 -2900-2900 -601+601-200+ ++3100 +3100+ +-200 +8310+11248 +273+590 +200+ ++3100-3548-124 +51-1449 -273-590 +3297-1527 +9546+11291-200-7-108+3098 +3550+ +-1450 +294-580 +294-580 +200+7 +108-3098
CHÖÔNG 6 364-2571+4-3429+8-4364+14-1636+8+2688+736421- -2485+24+1923+327562- -3515+38-8817-655078+ -3804+25-2196+17+2113+417692- -6000+62-6000+62-108+3098 +3550+ +-1450 +294-580 +294-580 +200+7 +108-3098 -3550+ ++1450 +3242+1641 +23331+11311-200-7-108+3098 +3550+ +-1450 +294-580 +294+580 +200+7 +108-3098 -3550+ ++1450 +3242+1641 +23331+11311-200-7-108+3098 +3550+ +-1450 +294-580 +200+7 +108-3098 -3550+ ++1450 +3242+1641-3550+ ++1450 +3242+1641 +14141+11291-200-7 +27346+8958 +8100+ ++6000-8100+ +-6000 +35635+8958 +4100+ ++6000-4100+ +-6000 +39979+8958 +4100+ ++6000-4100+ +-6000 +44885+14968-678-173 +1392-5455 +6065+92-1291+5058-678-173-4810+651 +51087+14959-621-323 +2748-5277 +6591+118-2841+5455-621-323-5257+352 (End of file)
ÖÙNG DUÏNG C.A.M. TRONG XEÁP THAÛO ÑOÀ HAÏ LIEÄU VAØ XUAÁT ÑK MAÙY CAÉT 365 PHUÏ LUÏC B: CAÙC MAØN HÌNH CHÍNH CUÛA CHÖÔNG TRÌNH MOÂ PHOÛNG KRISTAL
366 CHÖÔNG 6 PHUÏ LUÏC C: THAÛO ÑOÀ HAÏ LIEÄU TAÁM TD_A2B10 VAØ TD_B7S10