ệ ố ng d ng l p trình cho các robot trong h th ng MiniCIM

ầ ươ ụ ẽ ậ ng trình cho robot làm vi c v i máy ti n CNC và m t ch ng trình l p trình m t ng d ng cho robot, ộ ứ ng trình cho robot ươ ệ ệ ộ m t ch ộ làm vi c v i máy khoan/phay CNC trong h th ng MiniCIM. Trong ph n này s nêu ra hai ch ươ ớ ệ ớ ệ ố

ươ ự ứ ệ ấ ấ Ch máy ti n và ch gia công xong đ đ a chi ti t đã gia công xong ra kh i máy ti n. ng trình robot th c hi n các ch c năng c p phôi lên các Pallet, c p phôi cho ế ệ ể ư ỏ ờ ệ

Gi i thích tóm t t nhi m v c a robot trong ch ng trình: ả ắ ụ ủ ệ ươ

ộ ả ự ề ệ ế ạ ệ ố ắ ằ ể ệ ỏ ừ ầ ệ ệ ừ ạ ấ ả ủ ế ẽ ầ ượ ấ ế ấ ả ộ ệ ố ẽ ắ ệ ừ ờ ể ấ ế ượ ạ ạ ả ố ẽ t đ n v trí ti p theo trong dây chuy n. ể ế ị ẽ ự Đây là ch ng trình cho robot th c hi n trong h th ng MiniCIM, robot s th c ươ hi n m t s ch c năng trong dây chuy n ch t o và l p ráp h p gi m t c d ng mô ố ạ ứ ộ ố c đi u khi n b ng máy tính trung tâm v i ph m m m CimSoft. ph ng. H th ng đ ề ệ ố ớ ượ ề ế máy ti n CNC là các tín hi u đ u vào quy t Các tín hi u t ph n m m CimSoft và t ầ ệ ề ầ ệ ừ ứ i tr m th th c hi n các công vi c c a robot. Đ u tiên, khi t đ nh th i đi m và trình t ạ ạ ệ ủ ự ự ầ ể ờ ị ộ i, robot s l n l t c p phôi cho hai pallet (phôi c a n p h p nh t có pallet d ng l ủ ắ gi m t c và c a thân h p gi m t c). Ti p đ n khi pallet th c hai d ng l i tr m 2 i t ố ạ ạ ạ ứ ộ pallet c p cho máy ti n đ ng th i báo tín hi u cho robot s g p phôi (phôi thân h p) t ồ ệ ừ máy ti n CNC ho t đ ng. Trong lúc đó robot s quay l i tr m 1 đ c p ti p các bánh ạ ộ ạ ạ i tr m 1. Sau cùng, khi máy ti n CNC răng cho pallet th c nh t khi này đã đ ứ ệ ấ ể ắ i tr m 2 đ g p ti n xong thân h p gi m t c báo ra tín hi u hoàn thành robot s quay l ộ ệ chi ti ề ể Ch ẽ c k p t ẹ ạ ạ ệ t ra cho lên pallet đ di chuy n chi ti ế ế ng trình: ế ươ

ứ ị ể ắ ứ ị ể

ắ ắ i tr m ti n //M ng “KHO_CHUA_NAP” ch a v trí các đi m cho load n p // M ng “KHO_CHUA_THAN” ch a v trí các đi m cho load thân // M ng “KHO_CHUA_BR1” ch a v trí các đi m cho load n p BR1 ể ứ ị // M ng “KHO_CHUA_BR2” ch a v trí các đi m cho load n p BR2 ể ứ ị //M ng “LATHE_THAN” ch a v trí các đi m t ạ ạ ả ả ả ả ả ứ ị ể ệ

// Danh sách vào ra // OUTPUTS INPUTS // 01. RESET ASRS POSITIONER 01. ASRS PALLET READY // 02. RESET LATHE POSITIONER 02. LATHE PALLET READY // 03 LATHE DONE 03. LATHE START // 04. OPEN CHUCK

// MAIN PROGRAM

CimData$ = "INIT" //INITIALIZE ETHERNET DATA VARIABLE DataWaiting = 0 //INITIALIZE ETHERNET DATA WAITING FLAG ProgComplete = 0 //INITIALIZE ETHERNET PALLET DONE FLAG1 ProgComplete2 = 0 //INITIALIZE ETHERNET PALLET DONE FLAG2 MANG_NAP = 1 MANG_THAN = 1 MANG_BR1 = 1 MANG_BR2 = 1 LOADED = 0 //SET LATHE LOADED FLAG TO 0 (NOT LOADED)

ả ể

ng trình cho đúng th t ươ ứ ự ể ắ ộ ộ //Khai báo các m ng đi m POINT KHO_CHUA_NAP[10] POINT KHO_CHUA_THAN[10] POINT KHO_CHUA_BR1[10] POINT KHO_CHUA_BR2[10] POINT LATHE_THAN[20] XONGBR = 0 J=1 //Bi n ch n Pallet đ load ch ọ //N u J=1 thì load n p h p cho Pallet 01 //N u J=2 thì load thân h p cho Pallet 02 //N u J=3 thì load các bánh răng cho Pallet 01 ế ế ế ế

PRINTLN "SET OUTPUTS TO ZERO" FOR K = 1 to 16 WRITEO K,0

NEXT SPEED 200 //INITIAL ROBOT CONDITIONS ACCEL 50 RELEASE PMOVE KHO_CHUA_THAN[5] // Ch tr c tr m 1 ạ ờ ướ

ươ ắ

ng trình load thân ươ //ETHERNET DECISION LOOP FOR WHICH ROUTINE TO EXECUTE ETHERLOOP: IF DataWaiting = 1 then IF CimData$ = "NOPART,1" AND MANG_NAP<4 AND J=1 THEN PRINTLN "MESSAGE = ",CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG ng trình con load n p CALL LOAD_NAP //G i ch ọ PRINTLN "MESSAGE = ",CimData$ GOTO ETHERLOOP ELSE IF CimData$ = "NOPART,1" AND MANG_THAN<4 AND J=2 THEN PRINTLN "MESSAGE = ",CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL LOAD_THAN // G i ch ọ GOTO ETHERLOOP

ng trình load các bánh răng ươ ELSE IF CimData$ = "NOPART,1" AND MANG_BR1<4 AND J=3 THEN PRINTLN "MESSAGE = ",CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL LOAD_BR // G i ch ọ GOTO ETHERLOOP

ng trình con DIQUA ươ ELSE IF CimData$ = "NOPART,1" AND J=4 THEN PRINTLN "MESSAGE = ",CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL DIQUA // G i ch ọ GOTO ETHERLOOP

ELSE IF CimData$ = "11-003,2" THEN PRINTLN "MESSAGE = ",CimData$

ọ ươ ấ

THAN_OLATHE

DataWaiting = 0 // RESET ETHERNET DATA FLAG ng trình con c p phôi CALL THAN_ILATHE // G i ch GOTO ETHERLOOP ELSE PRINTLN "MESSAGE FAILED =",CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG GOTO ETHERLOOP ENDIF

ng trình con ươ ọ

ELSE IF INP(3) = 1 AND LOADED=1 AND XONGBR>0 THEN // RECEIVED LATHE DONE SIGNAL CALL THAN_OLATHE // G i ch ENDIF

GOTO ETHERLOOP

END SUB LOAD_NAP

PRINTLN "LOADING NAP HOP GIAM TOC" SPEED 200 PMOVE KHO_CHUA_NAP[5]

RETRY: PMOVE KHO_CHUA_NAP[2] SPEED 80 GRWIDTH 820 PMOVE KHO_CHUA_NAP[1] GRASP ZMOVE 300 ZTLMOVE -1000 SPEED 150 DIST=MEASURE() PRINTLN "PART MEASURES = ",DIST

IF DIST < 600 THEN RELEASE MANG_NAP=MANG_NAP+1

IF MANG_NAP=5 THEN PMOVE MANG_NAP=1 ENDIF BRANCH RETRY: ENDIF //PMOVE KHO_CHUA_NAP[5] SPEED 200 PMOVE KHO_CHUA_NAP[6] PMOVE KHO_CHUA_NAP[8] SPEED 50 PMOVE KHO_CHUA_NAP[7] RELEASE SPEED 200

PMOVE KHO_CHUA_NAP[8] ProgComplete = 1 // TURN ON ETHERNET PALLET DONE FLAG PMOVE KHO_CHUA_NAP[6] PMOVE KHO_CHUA_NAP[5] J=2 //Pallet ti p theo là load thân ế MANG_NAP=MANG_NAP+1 DELAY 100

RETURN SUB LOAD_THAN

PRINTLN "LOADING THAN HOP GIAM TOC"

SPEED 200 PMOVE KHO_CHUA_THAN[5]

RETRY1:

ế

PMOVE KHO_CHUA_THAN[2] SPEED 80 GRWIDTH 820 PMOVE KHO_CHUA_THAN[1] GRASP ZMOVE 300 ZTLMOVE -1000 SPEED 150 DIST=MEASURE() PRINTLN "PART MEASURES = ",DIST IF DIST < 600 THEN RELEASE MANG_THAN=MANG_THAN+1 IF MANG_THAN=5 THEN PMOVE MANG_THAN=1 ENDIF BRANCH RETRY1: ENDIF //PMOVE KHO_CHUA_THAN[5] SPEED 200 PMOVE KHO_CHUA_THAN[6] PMOVE KHO_CHUA_THAN[8] SPEED 50 PMOVE KHO_CHUA_THAN[7] RELEASE SPEED 200 PMOVE KHO_CHUA_THAN[8] ProgComplete = 1 // TURN ON ETHERNET PALLET DONE FLAG //PMOVE KHO_CHUA_THAN[6] // Wait at Conveyor PMOVE LATHE_THAN[1] J=3 //Pallet ti p theo là g p bánh răng ắ MANG_THAN=MANG_THAN+1 DELAY 100

RETURN SUB LOAD_BR

PRINTLN "LOADING CAC BANHRANG CHO HOP GIAM TOC" //C p bánh răng th hai lên pallet ấ SPEED 200 PMOVE LATHE_THAN[1] PMOVE KHO_CHUA_BR2[5]

PMOVE

ứ ấ ấ RETRY2: PMOVE KHO_CHUA_BR2[2] SPEED 80 GRWIDTH 150 PMOVE KHO_CHUA_BR2[1] GRASP ZMOVE 300 ZTLMOVE -1000 SPEED 150 DIST=MEASURE() PRINTLN "PART MEASURES = ",DIST IF DIST < 10 THEN RELEASE MANG_BR2=MANG_BR2+1 IF MANG_BR2=5 THEN MANG_BR2=1 ENDIF BRANCH RETRY2: ENDIF SPEED 150 PMOVE KHO_CHUA_BR2[5] SPEED 200 PMOVE KHO_CHUA_BR2[6] PMOVE KHO_CHUA_BR2[8] SPEED 60 PMOVE KHO_CHUA_BR2[9] SPEED 20 PMOVE KHO_CHUA_BR2[7] RELEASE SPEED 200 PMOVE KHO_CHUA_BR2[8] PMOVE KHO_CHUA_BR2[6] // C p bánh răng th nh t lên Pallet PMOVE KHO_CHUA_BR1[5]

RETRY3:

PMOVE KHO_CHUA_BR1[2] SPEED 80

PMOVE LATHE_THAN[4]

GRWIDTH 150 PMOVE KHO_CHUA_BR1[1] GRASP ZMOVE 300 ZTLMOVE -1000 SPEED 150 DIST=MEASURE() PRINTLN "PART MEASURES = ",DIST IF DIST < 10 THEN RELEASE MANG_BR1=MANG_BR1+1 IF MANG_BR1=5 THEN PMOVE MANG_BR1=1 ENDIF BRANCH RETRY3: ENDIF PMOVE KHO_CHUA_BR1[5] SPEED 200 PMOVE KHO_CHUA_BR1[6] PMOVE KHO_CHUA_BR1[8] SPEED 60 PMOVE KHO_CHUA_BR1[9] SPEED 20 PMOVE KHO_CHUA_BR1[7] RELEASE SPEED 100 PMOVE KHO_CHUA_BR1[8] SPEED 200 IF XONGBR>0 THEN ProgComplete = 1 ENDIF PMOVE KHO_CHUA_BR1[6] J=4 //Pallet ti p theo s không làm gì mà đ đi qua ẽ ế MANG_BR1=MANG_BR1+1 MANG_BR2=MANG_BR2+1 DELAY 100 IF XONGBR = 0 THEN ELSE PMOVE KHO_CHUA_BR1[5] ENDIF XONGBR=XONGBR+1

ng trình con đ a thân vào máy ti n đ gia công ươ ư ể ệ RETURN // Ch

SUB THAN_ILATHE

t vào ti n trong máy ệ ế

ng trình con đ a thân ra kh i máy ti n sau khi đã gia công xong ươ ư ệ ỏ

PRINTLN "LOADING THAN_LATHE" SPEED 200 RELEASE PMOVE LATHE_THAN[1] PMOVE LATHE_THAN[9] SPEED 100 PMOVE LATHE_THAN[8] GRASP PMOVE LATHE_THAN[9] SPEED 200 PMOVE LATHE_THAN[1] PMOVE LATHE_THAN[4] WRITEO 4,1 PMOVE LATHE_THAN[6] SPEED 15 PMOVE LATHE_THAN[7] DELAY 100 WRITEO 4,0 DELAY 100 RELEASE SPEED 80 PMOVE LATHE_THAN[6] SPEED 150 PMOVE LATHE_THAN[4] LOADED=1 //Báo là đã có chi ti WRITEO 3,1 // TURN ON START LATHE SIGNAL DELAY 200 WRITEO 3,0 IF XONGBR=0 THEN TMOVE LATHE_THAN[19] TMOVE KHO_CHUA_BR1[5] ELSE WAITI 3,0 ENDIF RETURN // Ch SUB THAN_OLATHE

WAITI 3,1 PRINTLN "UNLOADING LATHE" WRITEO 3,0 // TURN OFF START LATHE SIGNAL SPEED 150 PMOVE LATHE_THAN[6] SPEED 80 PMOVE LATHE_THAN[14] GRASP DELAY 100

WRITEO 4,1 SPEED 50 PMOVE LATHE_THAN[15] SPEED 150 PMOVE LATHE_THAN[4] SPEED 200 PMOVE LATHE_THAN[1] PMOVE LATHE_THAN[17]

IF XONGBR=1 THEN ProgComplete = 1 ENDIF

t đã đ c đ a ra kh i máy ti n ỏ ượ ư ế ệ

SPEED 60 PMOVE LATHE_THAN[16] RELEASE SPEED 150 PMOVE LATHE_THAN[17] SPEED 200 PMOVE LATHE_THAN[1] ProgComplete2 = 1 // TURN ON ETHERNET PALLET DONE FLAG PMOVE KHO_CHUA_BR2[5] LOADED=0 // Chi ti DELAY 100 RETURN SUB DIQUA

DELAY 100 ProgComplete = 1 // TURN ON ETHERNET PALLET DONE FLAG J=1 DELAY 200

RETURN

ng trình robot th c hi n các ch c năng l y phôi t ươ ứ ệ ấ ừ ế các Pallet, c p phôi cho ấ ỏ t đã gia công xong ra kh i Ch ự máy phay/khoan và ch gia công xong đ đ a chi ti ờ máyphay/khoan cũng nh th c hi n các nhi m v l p ráp. ụ ắ ư ự ể ư ệ ệ

Gi i thích tóm t t nhi m v c a robot trong ch ng trình: ả ắ ụ ủ ệ ươ

ự ề ệ ế ạ ệ ố ắ ả ộ ể ượ ệ ỏ ầ ằ ề ph n m m CimSoft và t máy phay CNC t ệ ố ệ ừ ươ ệ ệ ừ ộ ừ ắ ị ạ ạ ị ế ạ ị ạ ể ộ ự ệ ẽ ự Đây là ch ng trình cho robot th c hi n trong h th ng MiniCIM, robot s th c ươ hi n m t s ch c năng trong dây chuy n ch t o và l p ráp h p gi m t c d ng mô ố ạ ứ ộ ố c đi u khi n b ng máy tính trung tâm v i ph m m m CimSoft. ph ng. H th ng đ ề ớ ng ng là các tín hi u đ u Các tín hi u t ầ ứ ừ ề ầ th c hi n các công vi c c a robot. Robot s l n vào quy t đ nh th i đi m và trình t ẽ ầ ế ị ệ ủ ự ự ể ờ t th c hi n các công vi c sau: Đ u tiên, khi t i tr m th 3 có pallet d ng l i, robot l ệ ứ ầ ệ ự ượ ủ pallet vào tr m đ nh v , xác đ nh chính xác v trí c a s th c hi n vi c g p n p h p t ạ ị ắ ệ ệ ẽ ự , ti p đ n robot g p thân h p vào tr m đ nh n p r i đ a vào máy phay đ gia công các l ị ắ ỗ ế ắ ồ ư v r i đ a lên tr m l p ráp, và cu i cùng là g p các bánh răng và th c hi n các thao tác ắ ố ắ ạ ị ồ ư l p ghép h p gi m t c hoàn ch nh. ố ả ắ ộ ỉ

Ch ng trình : ươ

02. Mill Status

ạ ố

// I/O List // Outputs Inputs // 01. Reset Positioner Station 01. Positioner Up // 02. Start Mill // 03. Vise Open = On / Closed = Off // Main Program CimData$ = "INIT" //INITIALIZE ETHERNET DATA VARIABLE DataWaiting = 0 //INITIALIZE ETHERNET DATA WAITING FLAG ProgComplete = 0 //INITIALIZE ETHERNET PALLET DONE FLAG1 POINT LAP_GHEP[30] POINT TRAM_DINH_VI[20] POINT MO_TO[20] WRITEO 1,0 WRITEO 2,0 WRITEO 3,0 SPEED 200 ACCEL 50 RELEASE VONG_LAP = 1 ///S chu trình đã ch y xong. BIENCHON = 1 // Đ a n p h p t Pallet vào máy phay CNC Pallet 02 vào tr m tìm ộ ừ ạ ư ạ ộ ừ ọ ỗ ể ư ắ Pallet 01 đ l p vào h p. ể ắ ộ

ư ắ //Bi n ch n = 2 thì đ a thân h p t ế đ đ a lên tr m l p. v trí l ị ừ ng trình l p Bánh răng. ắ ng trình c p n p cho máy phay ấ ắ ng trình đ a thân vào tr m đ nh v . ư //Bi n ch n =3 thì l y các bánh răng t ọ //Bi n ch n =1 đ ươ ọ // Bi n ch n =2 đ ươ ọ // Bi n ch n =3 đ ươ ọ ấ c đ t trong ch ượ ặ c đ t trong ch ượ ặ c đ t trong ch ượ ặ ế ế ế ế ạ ị ị

PMOVE WRITEO 3,1 PMOVE LAP_GHEP[1] ETHERLOOP: IF DataWaiting = 1 then IF CimData$ = "UNLOAD" AND BIENCHON = 1 THEN DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL UNLOAD_NAP PRINTLN "MESSAGE = ",CimData$ branch ETHERLOOP: ELSE IF CimData$ = "UNLOAD" AND BIENCHON = 2 THEN DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL UNLOAD_THAN PRINTLN "MESSAGE = ",CimData$ branch ETHERLOOP:

ng trình con ươ

ELSE IF CimData$ = "UNLOAD" AND BIENCHON = 3 THEN DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL UNLOAD_BR_VIT PRINTLN "MESSAGE = ",CimData$ branch ETHERLOOP: ELSE PRINTLN "MESSAGE FAILED =",CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG ENDIF branch ETHERLOOP: ENDIF Branch Etherloop: //Các ch //------------------------------// SUB UNLOAD_NAP RELEASE SPEED 200 PMOVE TRAM_DINH_VI[4] PMOVE TRAM_DINH_VI[16] SPEED 70 PMOVE TRAM_DINH_VI[15] GRASP PMOVE TRAM_DINH_VI[16] SPEED 200 PMOVE TRAM_DINH_VI[4] PMOVE TRAM_DINH_VI[3] PMOVE TRAM_DINH_VI[2] SPEED 20 PMOVE TRAM_DINH_VI[1] RELEASE WRITEO 12,1 DELAY 150 WRITEO 12,0 SPEED 100 PMOVE TRAM_DINH_VI[2] SPEED 200 PMOVE TRAM_DINH_VI[3] PMOVE TRAM_DINH_VI[12] SPEED 100 PMOVE TRAM_DINH_VI[11] GRASP SPEED 50 PMOVE TRAM_DINH_VI[12] SPEED 200 PMOVE TRAM_DINH_VI[3] PMOVE TRAM_DINH_VI[4] PMOVE TRAM_DINH_VI[5]

PMOVE TRAM_DINH_VI[6] PMOVE TRAM_DINH_VI[7] SPEED 70 WRITEO 3,1 DELAY 100 PMOVE TRAM_DINH_VI[8] DELAY 100 WRITEO 3,0 DELAY 200 RELEASE SPEED 200 PMOVE TRAM_DINH_VI[7] PMOVE TRAM_DINH_VI[6] PMOVE TRAM_DINH_VI[5] PMOVE TRAM_DINH_VI[4] WRITEO 2,1 //G i tín hi u cho máy CNC gia công ệ DELAY 200 WRITEO 2,0

i phóng Pallet 01 ả BIENCHON = 2 IF VONG_LAP = 1 THEN DELAY 1000 ENDIF ProgComplete =1 //Gi DELAY 100

i phóng Pallet s 02 ả ố

RETURN //----------------------------------// SUB UNLOAD_THAN RELEASE SPEED 200 PMOVE LAP_GHEP[1] PMOVE LAP_GHEP[2] SPEED 100 PMOVE LAP_GHEP[3] GRASP PMOVE LAP_GHEP[2] SPEED 200 PMOVE LAP_GHEP[1] ProgComplete = 1 //Gi PMOVE LAP_GHEP[4] PMOVE LAP_GHEP[5] SPEED 20 PMOVE LAP_GHEP[6] RELEASE

WRITEO 12,1 DELAY 150 WRITEO 12,0 GRASP SPEED 50 PMOVE LAP_GHEP[5] SPEED 200 PMOVE LAP_GHEP[4] PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[8] SPEED 100 PMOVE THEM_DIEM[2] SPEED 40 PMOVE LAP_GHEP[9] RELEASE SPEED 200 PMOVE LAP_GHEP[8] PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[1] BIENCHON = 3 RETURN //----------------------------// SUB UNLOAD_BR_VIT //G p 2 Bánh Răng ắ

GRWIDTH 150 SPEED 200 PMOVE LAP_GHEP[1] PMOVE LAP_GHEP[11] SPEED 70 PMOVE LAP_GHEP[10] GRASP PMOVE LAP_GHEP[11] SPEED 200 PMOVE LAP_GHEP[12] SPEED 100 PMOVE LAP_GHEP[29] SPEED 40 PMOVE LAP_GHEP[13] GRWIDTH 150 SPEED 150 PMOVE LAP_GHEP[12] SPEED 200 PMOVE LAP_GHEP[14] SPEED 100 PMOVE LAP_GHEP[15] GRASP SPEED 30

ắ ế

máy phay CNC ra ắ ắ ừ

PMOVE THEM_DIEM[1] SPEED 200 PMOVE LAP_GHEP[14] SPEED 200 PMOVE LAP_GHEP[16] SPEED 100 PMOVE LAP_GHEP[30] SPEED 40 PMOVE LAP_GHEP[17] GRWIDTH 150 SPEED 150 PMOVE LAP_GHEP[16] SPEED 200 PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[1] //H t ph n g p BR ầ //G p N p t SPEED 200 RELEASE PMOVE TRAM_DINH_VI[4] WRITEO 2,1 WAITI 2,1 //Đ i máy phay CNC gia công xong. PMOVE TRAM_DINH_VI[5] PMOVE TRAM_DINH_VI[6] PMOVE TRAM_DINH_VI[7] SPEED 100 PMOVE TRAM_DINH_VI[8] GRASP WRITEO 3,1 DELAY 200 SPEED 100 PMOVE TRAM_DINH_VI[7] SPEED 200 PMOVE TRAM_DINH_VI[6] PMOVE TRAM_DINH_VI[5] PMOVE TRAM_DINH_VI[4] PMOVE TRAM_DINH_VI[10] SPEED 70 PMOVE TRAM_DINH_VI[9] RELEASE PMOVE TRAM_DINH_VI[10] SPEED 200 PMOVE TRAM_DINH_VI[4] PMOVE TRAM_DINH_VI[16] SPEED 70 PMOVE TRAM_DINH_VI[15]

i phóng Pallet ả

i phóng Pallet s 02 lúc này đã vào tr m và c n ả ạ ầ ố c b qua đ GRASP PMOVE TRAM_DINH_VI[16] SPEED 200 PMOVE TRAM_DINH_VI[4] ProgComplete = 1 //Gi PMOVE TRAM_DINH_VI[3] PMOVE TRAM_DINH_VI[2] SPEED 20 PMOVE TRAM_DINH_VI[1] RELEASE WRITEO 12,1 DELAY 300 WRITEO 12,0 PMOVE LAP_GHEP[6] GRASP SPEED 50 PMOVE LAP_GHEP[5] SPEED 200 PMOVE LAP_GHEP[4] PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[8] SPEED 70 PMOVE LAP_GHEP[19] SPEED 15 PMOVE LAP_GHEP[18] RELEASE SPEED 100 PMOVE LAP_GHEP[19] PMOVE LAP_GHEP[8] SPEED 200 PMOVE LAP_GHEP[7] ProgComplete = 1 //Gi ượ ỏ

ắ ắ ầ ắ ạ ế

ắ ầ

//H t ph n g p N p ra cho vào tr m l p ghép //Ph n g p Vít GRWIDTH 200 SPEED 150 PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[22] SPEED 70 PMOVE LAP_GHEP[21] GRASP PMOVE LAP_GHEP[22] SPEED 150

ế ắ

ơ ể ặ ắ ầ ộ

PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[24] SPEED 50 PMOVE LAP_GHEP[23] GRWIDTH 200 PMOVE LAP_GHEP[24] SPEED 200 PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[22] SPEED 70 PMOVE LAP_GHEP[21] GRASP PMOVE LAP_GHEP[22] SPEED 150 PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[26] SPEED 50 PMOVE LAP_GHEP[25] GRWIDTH 200 PMOVE LAP_GHEP[26] SPEED 200 PMOVE LAP_GHEP[7] PMOVE LAP_GHEP[22] SPEED 70 PMOVE LAP_GHEP[21] GRASP PMOVE LAP_GHEP[22] SPEED 150 PMOVE LAP_GHEP[7] SPEED 200 PMOVE LAP_GHEP[28] SPEED 50 PMOVE LAP_GHEP[27] GRWIDTH 200 PMOVE LAP_GHEP[28] SPEED 200 PMOVE LAP_GHEP[7] //H t ph n g p Vít ầ //Ph n g p Đ ngC đ v n Vít GRWIDTH 500 SPEED 200 PMOVE MO_TO[1] PMOVE MO_TO[2]

SPEED 100 PMOVE MO_TO[3] GRASP SPEED 60 PMOVE MO_TO[2] SPEED 200 PMOVE MO_TO[1] PMOVE MO_TO[5] WRITEO 11,1 SPEED 50 PMOVE MO_TO[4] SPEED 10 PMOVE MO_TO[6] PMOVE MO_TO[4] SPEED 50 PMOVE MO_TO[5] SPEED 90 PMOVE MO_TO[7] SPEED 50 PMOVE MO_TO[8] SPEED 10 PMOVE MO_TO[9] PMOVE MO_TO[8] SPEED 50 PMOVE MO_TO[7] SPEED 90 PMOVE MO_TO[10] SPEED 50 PMOVE MO_TO[11] SPEED 10 PMOVE MO_TO[12] PMOVE MO_TO[11] SPEED 50 PMOVE MO_TO[10] WRITEO 11,0 SPEED 200 PMOVE MO_TO[1] PMOVE MO_TO[13] SPEED 30 PMOVE MO_TO[14] RELEASE SPEED 100 PMOVE MO_TO[2] SPEED 200 PMOVE MO_TO[1] //H t ph n g p Đ ng C ơ ắ ế ầ ộ

//G p s n ph m cho vào thùng ch a ắ ả ứ ẩ

PMOVE MO_TO[15] SPEED 100 PMOVE MO_TO[16] GRASP PMOVE MO_TO[15] SPEED 200 PMOVE MO_TO[17] PMOVE MO_TO[18] RELEASE PMOVE MO_TO[17] PMOVE MO_TO[1] PMOVE LAP_GHEP[1] // H t ph n g p s n ph m ắ ả ế ẩ ầ

ổ VONG_LAP = VONG_LAP + 1 IF VONG_LAP = 3 THEN //Mu n thay đ i s chu trình thì thay đ i ổ ố ố đi u ki n này đ k t thúc ể ế ệ ề

DataWaiting = 0 VONG_LAP = 1 ENDIF BIENCHON = 1 RETURN

ng trình ! // H t ch ế ươ