Ứng dụng lập trình cho các robot trong hệ thống MiniCIM
Số trang: 17
Loại file: doc
Dung lượng: 114.50 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trong phần này sẽ nêu ra hai chương trình lập trình một ứng dụng cho robot, một chương trình cho robot làm việc với máy tiện CNC và một chương trình cho robot làm việc với máy khoan/phay CNC trong hệ thống MiniCIM. Chươ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 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.
Nội dung trích xuất từ tài liệu:
Ứng dụng lập trình cho các robot trong hệ thống MiniCIM Ứng dụng lập trình cho các robot trong hệ thống MiniCIM Trong phần này sẽ nêu ra hai chương trình lập trình một ứng dụng cho robot,một chương trình cho robot làm việc với máy tiện CNC và một chương trình cho robotlàm việc với máy khoan/phay CNC trong hệ thống MiniCIM.Chươ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 chomáy tiện và chờ gia công xong để đưa chi tiết đã gia công xong ra khỏi máy tiện.Giải thích tóm tắt nhiệm vụ của robot trong chương trình: Đây là chương trình cho robot thực hiện trong hệ thống MiniCIM, robot sẽ thựchiệ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ôphỏng. Hệ thống được điều khiển bằng máy tính trung tâm với phầm mềm CimSoft.Các tín hiệu từ phần mềm CimSoft và từ máy tiện CNC là các tín hiệu đầu vào quyếtđịnh thời điểm và trình tự thực hiện các công việc của robot. Đầu tiên, khi tại trạm thứnhất có pallet dừng lại, robot sẽ lần lượt cấp phôi cho hai pallet (phôi của nắp hộpgiả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 tại trạm 2robot sẽ gắp phôi (phôi thân hộp) từ pallet cấp cho máy tiện đồng thời báo tín hiệu chomá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ánhrăng cho pallet thức nhất khi này đã được kẹp tại trạm 1. Sau cùng, khi máy tiện CNCtiệ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ại trạm 2 để gắpchi tiết ra cho lên pallet để di chuyển chi tiết đến vị trí tiếp theo trong dây chuyền.Chương trình: //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ại trạm tiện // 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)//Khai báo các mảng điểmPOINT KHO_CHUA_NAP[10]POINT KHO_CHUA_THAN[10]POINT KHO_CHUA_BR1[10]POINT KHO_CHUA_BR2[10]POINT LATHE_THAN[20]XONGBR = 0J=1 //Biến chọn Pallet để load chương trình cho đúng thứ tự //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 01PRINTLN SET OUTPUTS TO ZEROFOR K = 1 to 16 WRITEO K,0NEXTSPEED 200 //INITIAL ROBOT CONDITIONSACCEL 50RELEASEPMOVE KHO_CHUA_THAN[5] // Chờ trước trạm 1//ETHERNET DECISION LOOP FOR WHICH ROUTINE TO EXECUTEETHERLOOP:IF DataWaiting = 1 then IF CimData$ = NOPART,1 AND MANG_NAP DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL THAN_ILATHE // Gọi chương trình con cấp phôi GOTO ETHERLOOP ELSE PRINTLN MESSAGE FAILED =,CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG GOTO ETHERLOOP ENDIFELSE IF INP(3) = 1 AND LOADED=1 AND XONGBR>0 THEN// RECEIVED LATHE DONE SIGNAL CALL THAN_OLATHE // Gọi chương trình con THAN_OLATHEENDIFGOTO ETHERLOOPENDSUB 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 100RETURNSUB 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_ ...
Nội dung trích xuất từ tài liệu:
Ứng dụng lập trình cho các robot trong hệ thống MiniCIM Ứng dụng lập trình cho các robot trong hệ thống MiniCIM Trong phần này sẽ nêu ra hai chương trình lập trình một ứng dụng cho robot,một chương trình cho robot làm việc với máy tiện CNC và một chương trình cho robotlàm việc với máy khoan/phay CNC trong hệ thống MiniCIM.Chươ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 chomáy tiện và chờ gia công xong để đưa chi tiết đã gia công xong ra khỏi máy tiện.Giải thích tóm tắt nhiệm vụ của robot trong chương trình: Đây là chương trình cho robot thực hiện trong hệ thống MiniCIM, robot sẽ thựchiệ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ôphỏng. Hệ thống được điều khiển bằng máy tính trung tâm với phầm mềm CimSoft.Các tín hiệu từ phần mềm CimSoft và từ máy tiện CNC là các tín hiệu đầu vào quyếtđịnh thời điểm và trình tự thực hiện các công việc của robot. Đầu tiên, khi tại trạm thứnhất có pallet dừng lại, robot sẽ lần lượt cấp phôi cho hai pallet (phôi của nắp hộpgiả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 tại trạm 2robot sẽ gắp phôi (phôi thân hộp) từ pallet cấp cho máy tiện đồng thời báo tín hiệu chomá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ánhrăng cho pallet thức nhất khi này đã được kẹp tại trạm 1. Sau cùng, khi máy tiện CNCtiệ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ại trạm 2 để gắpchi tiết ra cho lên pallet để di chuyển chi tiết đến vị trí tiếp theo trong dây chuyền.Chương trình: //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ại trạm tiện // 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)//Khai báo các mảng điểmPOINT KHO_CHUA_NAP[10]POINT KHO_CHUA_THAN[10]POINT KHO_CHUA_BR1[10]POINT KHO_CHUA_BR2[10]POINT LATHE_THAN[20]XONGBR = 0J=1 //Biến chọn Pallet để load chương trình cho đúng thứ tự //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 01PRINTLN SET OUTPUTS TO ZEROFOR K = 1 to 16 WRITEO K,0NEXTSPEED 200 //INITIAL ROBOT CONDITIONSACCEL 50RELEASEPMOVE KHO_CHUA_THAN[5] // Chờ trước trạm 1//ETHERNET DECISION LOOP FOR WHICH ROUTINE TO EXECUTEETHERLOOP:IF DataWaiting = 1 then IF CimData$ = NOPART,1 AND MANG_NAP DataWaiting = 0 // RESET ETHERNET DATA FLAG CALL THAN_ILATHE // Gọi chương trình con cấp phôi GOTO ETHERLOOP ELSE PRINTLN MESSAGE FAILED =,CimData$ DataWaiting = 0 // RESET ETHERNET DATA FLAG GOTO ETHERLOOP ENDIFELSE IF INP(3) = 1 AND LOADED=1 AND XONGBR>0 THEN// RECEIVED LATHE DONE SIGNAL CALL THAN_OLATHE // Gọi chương trình con THAN_OLATHEENDIFGOTO ETHERLOOPENDSUB 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 100RETURNSUB 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_ ...
Tìm kiếm theo từ khóa liên quan:
lập trình robot hệ thống MiniCIM kỹ thụât lập trình ứng dụng lập trìnhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 245 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 179 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 177 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 147 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 143 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 113 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 112 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 102 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 84 0 0