Luận văn Thiết kế robot di động

MỤC LỤC PHẦN I: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI .CÁC BỘ CẢM BIẾN. ĐỘNG CƠ DC.VÀ HỌ VI XỬ LÝ AT89C515 CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI:6 I.Mục đích chế tạo robot6 II.Sơ đồ tổng quát điều khiển robot8 1. NgườI điều khiển Robot8 2.KHỐI CẢM BIẾN DÒ VẠCH:9 3. khối cảm biến vật cản9 4.KHỐI ĐIỀU KHIỂN TỪ XA10 4.1.Bộ thu:10 4.2.Bộ phát:12 5.Khối Robot13 CHƯƠNG II: CẢM BIẾN14 I.Giới thiệu chung:14 1.Cảm Biến Quang:14 1.1.Khái niệm cơ bản về ánh sáng15 1.2.Các đơn vị đo quang:16 1.2.1. đơn vị đo năng lượng16 1.3.nguồn sáng :17 II.Ứng dụng Cảm biến Quang điện trong đề tài:17 CHƯƠNG III : ĐỘNG CƠ ĐIỆN MỘT CHIỀU VÀ CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN TỐC ĐỘ 18 I.Đặc tính tĩnh của động cơ một chiều18 II.Sơ lược về các phương pháp điều khiển động cơ điện một chiều22 1.Điều khiển điện áp phần ứng23 2. Điều khiển từ thông23 3. Điều khiển hỗn hợp điện áp phần ứng và từ thông kích từ 25 4.Điều khiển điện trở phần ứng25 III. KHỞI ĐỘNG:26 IV. CÁC TRẠNG THÁI HÃM:27 1.Hãm tái sinh:27 2. hãm động năng28 3.Hãm ngược 30 V.Hệ truyền động động cơ DC kích từ độc lập có hãm31 CHƯƠNG IV: SƠ LƯỢC HỌ VI XỬ LÝ AT89C51 I-Giới thiệu AT89C5133 II-Tổ chức bộ nhớ38 III-Các thanh ghi chức năng đặc biệt42 IV-Bảo vệ bộ nhớ47 V-HOẠT ĐỘNG CỦA PORT NỐI TIẾP48 1-GiớI thiệu:48 2- Thanh ghi điều khiển port nối tiếp :49 3- Các chế độ hoạt động :50 4-Khởi động và truy xuất các thanh ghi cổng nối tiếp :54 5-Tốc độ baud port nối tiếp :57 VI-CÁC NGẮT59 1- Giới thiệu :59 2-Tổ chức ngắt của 805160 3- Xử lý ngắt :64 4- Thiết kế chương trình dùng các ngắt :65 5- Các ngắt của 8051:67 6- Giản đồ thời gian khi xảy ra một ngắt :69 PHẦN II : THIẾT KẾ MẠCH ĐIỀU KHIỂN ROBOT VÀ CÁC MẠCH70 I.Khối mạch nguồn70 II.Khối mạch công suất:71 III.Mạch điều khiển75 IV.Khối mạch dò vạch78 V.Khối mạch lái80 VI.Khối mạch cảm biến vật cản80 VII.Khối mạch điều khiển từ xa80 PHẦN III : LƯU ĐỒ GIẢI THUẬT VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN ROBOT83 I.SƠ LƯỢC VỀ LƯU ĐỒ GIẢI THUẬT:83 II.Các lưu đồ giải thuật chương trình:85 1.Lưu đồ chương trình quét phím87 2.Lưu đồ giải thuật chương trình chính: .88&89 3.Lưu đồ chương trình điều khiển từ xa90 4.chương trình chọn lộ trình 91 5.Lưu đồ chương trình chạy theo lộ trình 092 6.Lưu đồ chương trình chạy thẳng93 7 lưu đồ chương trình chạy lùi95 8.lưu đồ chương trình quay trái97 9.Lưu đồ chương trình quay phải98 PHẦN IV: KẾT QỦA THI CÔNG124 PHẦN V: GIỚI THIỆU TÀI LIỆU THAM KHẢO125

doc91 trang | Chia sẻ: banmai | Lượt xem: 2004 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Thiết kế robot di động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ch [ADDRESS] laø soá chæ ñòa chæ ñöôïc cho ôû baûng sau Giaù trò Coång 65529 Coång ra 1 (8 bit) 65530 Coång ra 2 (8 bit) [BITNR ] Laø soá duøng ñeå phaân bieät daïng bit hoaëc byte 1. Daïng bit 1£ [BITNR ] £ 8 2. Daïng bit [BITNR ] = 0 [WERT] Laø soá tuøy theo {BITNR], giaù trò laø thaäp phaân töø 0 ñeán 255 vaø chuyeån sang nhò phaân taïi ngoû ra töông öùng. Ví duï: Daïng bit Leänh Coång ra bit Traïng thaùi Set-port 65529,5 = 0; Port 1 5 OFF Set-port 65529,4 = 1; Port 1 4 ON Set-port 65529,4 = 0; Port 2 4 OFF Set-port 65529,1 = 1; Port 2 1 ON Daïng byte Leänh Coång ra Giaù trò Set-port 65529,128 = 10; Port 1 0000 1010 Set-port 65529,128 = 27; Port 1 0001 1000 Set-port 65529,128 = 205; Port 2 1100 1101 Set-port 65529,128 = 255; Port 2 1111 1111 Set-port 65529,128 = 0; Port 1 0000 0000 Leänh Arc-r hoaëc Arc-l YÙ nghóa : Veõ voøng troøn theo chieàu phaûi hoaëc traùi. Cuù phaùp : Arc-r [r(v), [WINRELZ], [ñoä phaân giaûi]; Hoaëc: Cuù phaùp : Arc-l [r(v)], [WINKEL1], [WINKELZ], [ñoä phaân giaûi]; ÖÙng duïng : Veõ moät cung troøn hoaëc voøng troøn Giaûi Thích [r(v) Baùn kính vaø toác ñoä veõ [WINKEL1] Goùc baét ñaàu (tính baèng ñoä) [WINEKEL] Goùc keát thuùc (tính baèng ñoä) Ñoä phaân giaûi Ñoä phaân giaûi (tính baèng ñoä) Ví duï : Arc-r 10(1000), 0, 360, 5; Leänh treân thöïc hieän moät voøng troøn coù : Chieàu veõ laø beân phaûi Baùn kính 10mm Toác ñoä 1000HZ Goùc baét ñaàu 00 Goùc keát thuùc 3600 Ñoä phaân giaûi 50 Ví duï 2: Arc-l 5(5000), 180, 270, 3; Leänh treân keát quaû nhö sau: Chieàu veõ laø beân traùi Baùn kính 5mm Toác ñoä 5000HZ Goùc baét ñaàu 1800 Goùc keát thuùc 2700 Ñoä phaân giaûi 30 Khoâng neân choïn ñoä phaân giaûi quaù nhoû vì cung troøn laø keát hôïp nhieàu ñoaïn thaúng neân bò haïn cheá bôûi boä nhôù cuûa card giao tieáp. CHÖÔNG III THOÂNG BAÙO LOÃI I _ THOÂNG BAÙO LOÃI CUÛA CHÖÔNG TRÌNH SOAÏN THAÛO Taäp tin khoâng coù Taäp tin khoâng môû ôû ngoõ vaøo Taäp tin khoâng môû ôû ngoõ ra Taäp tin khoâng môû Ñoïc sai hoaëc khoâng thaáy thö muïc Ghi sai Daïng soá khoâng hôïp leä Taäp tin ñònh nghóa sai Traøn boä ñeäm Cöûa soå quaù nhoû Khoâng theå xoaù cöûa soå Cöûa soå khoâng theå lieân keát chính noù Töø quaù daøi so vôùi leà Khoái chöa ñònh nghóa Khoái khoâng coù trong cöûa soå hieän haønh Ñaùnh daáu khoâng hôïp leä Daáu ñaõ ñöôïc xaùc ñònh Daáu khoâng coù trong cöûa soå hieän haønh Leà khoâng hôïp leä Khoâng cho pheùp treân thieát bò laø logic Khoâng cho pheùp trong cheá ñoä tröïc tieáp Khoâng theå ñònh höôùng treân file chuaån Heát boä nhôù Soá khoâng hôïp leä Huyû boû leänh Khoâng tìm thaáy Ñóa ñaày File quaù lôùn Doøng quaù daøi Taïo file sai Khoâng theå ñoùng file ñích Khoâng theå ñoùng file nguoàn Khoâng theå taïo file.BAK File khoâng tìm thaáy Sai löu tröõ maëc ñònh In sai Ñoïc file in sai Ñoùng file in sai Khoâng tìm thaáy file in Cho pheùp toái ña 2 cöûa soå Cöûa soå thöù 2 khoâng môû Ñöôøng daãn khoâng hôïp leä Thieáu baùo caùo ñoä daøi Khoâng tìm thaáy cuoái file Cuoái file khoâng hôïp leä Ghi vaøo ñóa sai Thö muïc ñaày Kích thöôùc file traøn File ñaõ maát II _ THOÂNG BAÙO LOÃI CUÛA CHÖÔNG TRÌNH DÒCH Unexpected end of file. Xuaát hieän cuoái file tröôùc khi chaám döùt leänh ñang thöïc hieän Expected Phaûi keát thuùc leänh baèng daáu chaám phaåy Illegal axis entry Trong moät leänh phaûi coù thoâng soá cuûa truïc caàn ñieàu khieån, caùc thoâng soá naøy khoâng hôïp leä. ‘x’, ‘xy’, ‘xz’ or ‘xyz’ expected Queân nhaäp thoâng soá cho caùc truïc Axis alreadydefined Ñaõ xaùc ñònh soá löôïng truïc ñieàu khieån, neáu muoán thay ñoåi soá truïc laøm vieäc phaûi aùp duïng ngay töø ñaàu chöông trình ‘mm’, ‘cm’, ‘zoll’, ‘zoll/10’ or ‘zoll/20’ expected Ñôn vò khoâng hôïp leä Missing ‘stop’, stop assumed Thieáu leänh stop trong chöông trình Input already actime Chöông trình dòch ñaõ chuyeån phaàn ñaàu tieân cuûa vuøng döõ lieäu cho card giao tieáp, leänh input thöù hai khoâng ñöôïc pheùp. Too much nested repeats ( limit iszo) Caáu truùc chöông trình coù ñoä loàng quaù saâu. Repeat without until detected Thieáu leänh “until” keát thuùc ñoaïn chöông trình laëp. #-Command not recognized. Leänh ñaët sau kyù hieäu # khoâng ñuùng. Duplicate axis entry in command. Truïc ñöôïc xaùc ñònh hai laàn trong moät leänh. ‘X’, ‘y’, or ‘z’ expected Truïc khoâng hôïp leä. Interger expected Soá khoâng hôïp leä, naèm ngoaøi phaïm vi cho pheùp töø –32768 ñeán +32767 ‘,’ expected Moät leänh coù nhieàu thoâng soá, caùc thoâng soá phaûi caùch nhau baèng daáu phaåy. Positve interger expected. Soá nguyeân döông khoâng hôïp leä, ra ngoaøi phaïm vi cho pheùp töø 0 ñeán + 32767 Until without repeat Voøng laäp thieáu leänh “Repeat” Real number expected. Khoaûnh caùch dòch chuyeån laø moät soá thöïc ñöôïc cho döôùi daïng soá muõ (0,23E3) phaûi phaân caùch baèng daáu chaám thay vì duøng daáu phaåy. Positive real number expected. Caàn moät soá thaäp phaân döông ‘(’ expected Toác ñoä phaûi ñöôïc ghi trong daáu ngoaëc ñôn, loãi naøy cuõng xuaát hieän neáu duøng daáu phaåy ngaên caùch giöõa khoaûng di chuyeån toác ñoä. ‘)’ expected Toác ñoä phaûi ñöôïc ñoùng laïi baèng daáu ngoaëc ñôn, loãi naøy cuõng xuaát hieän hieän khi duøng daáu phaåy. ‘.’ Expected Phaûi keát thuùc leänh stop baèng moät daáu chaám thay vì daáu phaåy. Too much definitims. Quaù nheàu ñònh nghóa trong phaàn khai baùo, soá löôïng toái ña laø 50. Trong tröôøng hôïp phaûi duøng nhieàu ñònh nghóa neân söû duïng leänh “ #include” Definitim name expected Sau caùc leänh ñònh nghóa ít nhaát phaûi cho moät teân cuûa ñònh nghóa ñoù, teân coù theå bao goàm kyù töï, soá hoaëc gaïch noái döôùi. Illegal character for send or wait. Soá cho trong leänh thu/phaùt khoâng hôïp leä. ‘” ’or unit number expected . Sau leänh “Tell” phaûi cho bieát soá maùy hoaëc moät chuoãi kyù töï. ‘ “ ‘ expected Phaûi ñoùng chuoåi kyù töï baèng daáu ngoaëc keùp, loãi naøy cuõng xuaát hieän khi chuoåi kyù töï trong leänh “Tell” quaù daøi. “Wait” expected. Khi sau leänh “Tell reference “ hoaëc “ Tell star” coù daáu phaåy thì phaûi duøng leänh “wait” Unit entry expected Leänh caàn moät thoâng tin veà thieát bò ñeå coù theå laøm vieäc. Command not recognized Leänh sai, trong tröôøng hôïp duøng nhaûn thì phaûi coù daáu hai chaám keát thuùc. Neân löu yù laø PAL_PC phaân bieät giöõa chöõ in vaø chöõ thöôøng Too much labeldefinitims Quaù nhieàu nhaõn toái ña laø 50 Positive interger between 1 and 126 expected Soá phaûi naèm trong khoaûng töø 1 ñeán 126. Label not found. Söû duïng nhaõn khoâng roû raøng. No label defintim in text. Khoâng khai baùo moät nhaûn duy nhaát ‘,’ or ‘times’ expected Voøng laëp caàn daáu phaåy hoaëc töø “times” ñeå phaân caùch caùc thoâng soá. ‘In’ or ‘out’ expected Sau leänh “pulse sync” chæ cho pheùp 2 töø khoaù “in” vaø “out”. ‘On’, ‘off’ or ‘sync’ expected Sau leänh “pulse” hoaëc “port” chæ coù caùc töø khoaù keå treân laø hôïp leä. End of remark missing. Ñaõ ñeán cuoái file, maëc daàu phaàn ñaùnh daáu chöa keát thuùc coù theå ñaõ queân ñoùng ngoaëc. Serial transmission error (time out in receiver) Card giao tieáp khoâng ñaùp öùng coù theå loãi truyeàn döõ lieäu Elevation must be . 0,001 Thoâng tin khoâng hôïp leä File not found Khoâng thaáy taäp tin, kieåm tra laïi ñöôøng daãn. Letter or ‘-‘ expected Kyù töï ñaàu treân nhaûn hoaëc moät teân khoâng ñöôïc duøng soá. Replace text exceed 250 chars. Moät caâu khoâng daøi quaù 250 kyù töï. Line exceeds 250 chars after replace of defintim. Ñònh nghóa treân moät doøng daøi hôn 250 kyù töï, neáu treân moät doøng duøng nhieàu ñònh nghóa thì coù theå chia thaønh nhieàu doøng. Illegal defintim occurred Moät ñònh nghóa ñöôïc laëp laïi 2 laàn hoaëc laø trong moät thay theá coù chöùa teân ñònh nghóa. ‘” ‘ or ‘<’ expected Teân taäp tin sau leänh # include phaûi ôû trong ngoaëc nhoïn hoaëc ngoaëc keùp. (”) expected. Teân taäp tin phaûi ñoùng baèng ngoaëc keùp khi ñaõ môû baèng ngoaëc keùp. ‘>’ expected Teân taäp tin phaûi ñoùng baèng ngoaëc nhoïn khi ñaõ môû baèng ngoaëc nhoïn. Include file not found on I/O error. Taäp tin include ñaõ cho khoâng tìm thaáy, kieåm tra laïi teân vaø ñöôøng höôùng daãn. I/O error on read. Trong khi ñoïc taäp tin gaëp loåi I/O, thöû ñoïc taäp tin baèng trình soaïn thaûo vaø sau ñoù ghi vaøo ñóa. III _ THOÂNG BAÙO LOÃI CUÛA CARD GIAO TIEÁP PAL-PC coäng theâm 100 ñeå phaân bieät vôùi caùc loåi cuûa chöông trình dòch. Er error Döøng khaån caáp Nhaäp truïc sai Chöa choïn truïc Cuù phaùp sai Heát boä nhôù Soá thoâng soá sai Leänh jump sai Voøng laëp sai Toác ñoä khoâng hôïp leä Khoâng coù leänh löu tröõ Sai soùt beân trong CHÖÔNG iv ÖÙNG DUÏNG 1_ KHAÙI QUAÙT VEÀ HEÄ ÑÒNH VÒ BA CHIEÀU Moät heä thoáng ñònh vò ba chieàu laø heä thoáng coù khaû naêng ñieàu chænh vò trí cuûa moät ñieåm trong khoâng gian ñeå thöïc hieän baèng ba toïa ñoä xyz. Heä thoáng ta bieát ôû ñaây laø moät maùy khoan maïch in ñöôïc ñieàu khieån theo chöông trình baèng maùy tính. Khi muoán khoan moät loã maïch in thì ta nhaäp toïa ñoä xy töø baøn phím, luùc ñoù baøn khoan seõ dòch chuyeån theo hai chieàu xy vaø seõ döøng laïi khi ñeán ñuùng toïa ñoä (xy). Sau ñoù muõi khoan seõ dòch chuyeån theo phöông z töø treân xuoáng ñeå thöïc hieän coâng vieäc khoan maïch in. 2_ SÔ ÑOÀ KHOÁI MAÙY KHOAN Chöông trình ñieàu khieån maùy khoan ñöôïc vieát treân phaàn meàm PAL-EP baèng caùc leänh, ngöôøi söû duïng nhaäp toïa ñoä vò trí caùc loã khoan töø baøn phím, caùc vò trí loã khoan seõ ñöôïc löu tröõ treân moät taäp tin trong ñóa, taäp tin naøy coù theå goïi laïi ñeå boå xung, chænh söûa bôûi heä thoáng cuûa chöông trình. Sau khi ñaõ nhaäp xong döõ lieäu caùc loã caàn khoan, ngöôøi söû suïng ra leänh cho maùy khoan laøm vieäc. Tröôùc khi maùy khoan thöïc hieän coâng vieäc khoan, thì chöông trình seõ töï ñoäng khoan theo thöù töï. Maùy tính chæ laøm nhieäm xöû lyù döõ lieäu theo ngöôøi vieát chöông trình. Boä chuyeån phaùt ñieàu khieån ñoäng cô böôùc Ñoäng cô x (heä chuyeån ñoäng theo truïc x) Ñoäng cô y (heä chuyeån ñoäng theo truïc y) Ñoäng cô z (heä chuyeån ñoäng theo truïc z) Card giao tieáp X,Y,Z Tín hieäu hoài tieáp Maùy tính 3_ CHÖÔNG TRÌNH ÑIEÀU KHIEÅN Chöông trình ñieàu khieån ñöôïc vieát baèng caùc leänh, khi nhaäp toïa ñoä caùc loã khoan cuûa taám maïch in coù kích thöôùc xaùc ñònh, heä thoáng maùy khoan seõ hoaït ñoäng theo chöông trình ñieàu khieån ñeå khoan caùc ñieåm coù toïa ñoä nhaäp vaøo. Ñeå ñieàu khieån maùy khoan, ñaàu tieân maùy khoan phaûi ñöôïc Reset veà toïa ñoä goác (0,0). Sau khi maùy Reset veà (0,0) hay ñeán toïa ñoä mong muoán laøm nhieäm vuï khoan cuûa mình. Maùy tính seõ ñieàu khieån heä thoáng khoan tuaàn töï theo x,y,z… Tín hieäu ra töø maùy tính seõ ñieàu khieån cho ñoäng cô hoaït ñoäng, ban ñaàu ñoäng cô x hoaït ñoäng cho ñeán khi ñeán ñieåm quy ñònh thì döøng laïi, tieáp theo laø ñoäng cô y hoaït ñoäng laøm cho maùy khoan di chuyeån theo chieàu y vaø ñoäng cô y seõ döøng laïi khi ñeán ñieåm quy ñònh. Ñoäng cô x,y döøng laïi thì ñeán ñoäng cô z seõ hoaït ñoäng lieàn sau ñoù ñeå ñöa muõi khoan xuoáng ñieåm quy ñònh. Muoán cho caùc ñoäng cô xyz döøng ñuùng vò trí caàn khoan, maùy khoan caàn coù heä thoáng phaûn hoài veà maùy tính. Maùy tính seõ nhaän xung phaûn hoài vaø so saùnh vôùi toïa ñoä ñieåm caàn khoan roài môùi ñieàu khieån ñöôøng ñi keát tieáp cuûa ñoäng cô. Treân ñaây laø quy trình duøng khoan moät loã, muoán khoan nhieàu loã treân maïch in thì ta nhaäp toïa ñoä caùc ñieåm caàn khoan vaø maùy seõ hoaït ñoäng khoan tuaàn töï ñeán ñieåm cuoái cuøng. Sau ñoù Reset veà toïa ñoä goác (0,0). 4 _ CHÖÔNG TRÌNH KHOAN VI MAÏCH 40 CHAÂN Trong phaàn khai baùo cuõng nhö taäp leänh maø ta ñaõ bieát trong chöông .I vaø II, sau ñaây laø phaàn khaùi baùo vaø duøng caùc leänh ñeå khoan moät vi maïch 40 chaân. #axis xyz; #units zoll/10; #reference xyz; move 0(9000), 38(9000), 27(9000), 0(9000); repeat move 1(9000), 0(9000), 2(2000), -2(9000); until 20; move 1(9000), 6(9000), 0(9000), 0(9000); repeat move -1(9000), 0(9000), 2(9000), -2(9000); until 20; move 0(9000), 2(9000), 0(4000), 0(9000); repeat move 1(9000), 0(9000), 0(2000), 0(9000); until 7; move 1(9000), 3(9000), 0(4000), 0(9000); repeat move -1(9000), 0(9000), 2(2000), -2(9000); until 7; Refarence xyz; Stop. PHUÏ LUÏC CHÖÔNG TRÌNH TRÔÏ GIAÙO PAL-PC Chöông trình trôï giaùo PAL-PC laø moät phöông tieän giuùp tìm hieåu veà PAL-PC: caùc söû duïng vaø höôùng daãn caùc böôùc caàn thieát khi vieát chöông trình ñieàu khieån. Yeâu caàu veà heä thoáng Moät maùy tính IBM PC hoaëc töông thích vôùi heä ñieàu haønh dos hoaëc PC dos töø 2.1 trôû leân. Coù ít nhaát moät oå ñóa meàm Boä nhôù 256 kb Phöông phaùp baûo quaûn ñóa goác Trong thöïc teá cho thaáy raát caàn phaûi taïo moät baûn sao cuûa ñóa chöông trình ñeå ñeà phoøng hö hoûng, caùc böôùc taïo baûn sao ñóa goác thöïc hieän baèng leänh “DISKCOPY”. Ñöa ñóa dos vaøo vaøo oå A vaø nhaäp leänh DISCOPY A: A: Treân maøn hình seõ xuaát hieän thoâng baùo Insert source diskette in drive A: Press any key when ready . . . Baây giôø ñöa ñóa goác vaøo oå A vaø aán phím baát kyø treân maøn hình seõ xuaát hieän moät thoâng baùo Kopie A tracks 9 sectors/track, 2 side (s) Thoâng baùo naøy cho bieát quaù trình COPY ñaõ baét ñaàu, sau moät luùc treân maøn hình seõ xuaát hieän thoâng baùo. Insert target diskette in drive A: Press any key when ready . . . Ñaët ñóa chöa Format 360kb vaøo oå A vaø aán phím baát kyø, treân maøn hình xuaát hieän thoâng baùo Formatting while coping Thoâng baùo naøy cho bieát noäi dung ñóa goác ñang ñöôïc chuyeån vaøo ñóa copy, sau moät luùc treân maøn hình seõ xuaát hieän thoâng baùo Copy another diskette (y/n) ? Khi choïn N (No) thì seõ keát thuùc quaù trình copy vaø trôû laïi daáu nhaéc heä thoáng. Caát ñóa goác vaøo moät nôi an toaøn vaø chæ söû duïng ñóa copy (ñóa laøm vieäc) neáu hö hoûng thì laäp laïi quaù trình cheùp neâu treân. Khôûi ñoäng chöông trình Caùc böôùc khôûi ñoäng Noái daây caùp vaøo ngoõ ra noái tieáp (COM) cuûa maùy tính Chuyeån sang oå A, nhaäp teân lernen vaø aán Enter Phuï luïc söû duïng PAL-PC 1.1 trong cheá ñoä Teach-in PAL-PC 1.1 laø moät caûi tieán cuûa ngoân ngöõ veà quaù trình töï ñoäng PAL-PC, trong version naøy coù nhieàu leänh môùi töông thích vôùi card giao tieáp keá thöøa toaøn boä taäp leänh card 4.0. Trong cheá ñoä Teach-in caùc vò trí treân thieát bò coù theå xaùc ñònh vaø laäp trình, taøi leäu naøy ñöôïc chia laøm ba phaàn: phaàn moät moâ taû caùc leänh môùi trong version 1.1, phaàn hai öùng duïng cheá ñoä Teach-in vaø phaàn ba laø boå sung vaø söûa chöõa cuûa version. Noäi dung taøi lieäu döïa treân cô sôû card giao tieáp 4.0 coù theå laø card 3345 (ngoõ vaøo döõ lieäu SUBD 9 chaân ) hoaëc card 2240 (vôùi ñaàu caém tín hieäu vaøo 3 chaân) vaø phaàn meàm 4.0. Caùc leänh boå sung nhaèm khai thaùc heát khaû naêng cuûa card 4.0 leänh “movep” trong PAL-PC thay baèng leänh “ move . . . until paulse” CAÙC LEÄNH MÔÙI Xaùc ñònh soá hieäu maùy #GN Leänh naøy thoâng baùo cho chöông trình dòch soá hieäu cuûa maùy ñöôïc noái vôùi card, coù hieäu löïc vôùi card töø version 3.0 trôû leân. #GN 1: card giao tieáp ñöôïc laäp trình vôùi maùy soá 1 #GN 2: card giao tieáp ñöôïc laäp trình vôùi maùy soá 2 Dòch chuyeån ñeán vò trí (move to) Söû duïng gioáng nhö leänh move nhöng moãi truïc ñöôïc cho bieát vò trí ñeán khaùc nhau vôùi chuyeån ñoäng trong leänh move, ñeå hieåu roõ hôn veà vò trí tuyeät ñoái vaø töông ñoái xin ñoïc theâm taøi lieäu höôùng daãn card giao tieáp 4.0 Dòch chuyeån ñeán xung (movep) Ñaët tính naøy gioáng leänh dòch chuyeån töông ñoái. Tuy nhieân, quaù trình dòch chuyeån seõ döøng khi nhaän xung taïi ngoõ vaøo vaø leänh tieáp theo trong chöông trình seõ ñöôïc thöïc hieän, beà roäng xung toái thieåu phaûi khoaûng 20s vaø toái ña laø 100s. Löu yù khi söû duïng leänh naøy, xung phaûi ñöôïc ñaët taïi ngoõ vaøo phím stop cuûa card, khi card ñang thöïc hieän leänh dòch chuyeån maø xung xuaát hieän thì chuyeån ñoäng naøy seõ döøng. Ñaët vò trí 0 (null) Muïc ñích leänh naøy nhaèm taïo vò trí 0 aûo cho heä thoáng töông thích vôùi caùc truïc laøm vieäc Reference xyz; Movto 20( ), 30( ), 15( ), 0( ); Null xyz; Duøng leänh naøy cuøng di chuyeån veà vò trí 0 cuûa maùy vaø vò trí taïi 20, 30, 15 vaø vò trí 0 cuûa chi tieát. Chuyeån ñoäng tieáp theo seõ xem tieáp vò trí naøy laø vò trí chuaån. Coù nghóa laø caùch vò trí chi tieát laø 10, 20, 20 nhöng caùch vò trí 0 cuûa maùy laø 30, 50, 35 (sau taøi lieäu höôùng daãn card 4.0) vaø trong cheá ñoä Teach-in, toïa ñoä ñöôïc so töông ñoái vôùi chi tieát neân choïn moät vò trí duy nhaát trong chöông trình baèng leänh #null. Vò trí 0 chi tieát coù theå ñöôïc ñaët veà ñieåm 0 cuûa maùy baèng leänh reference, thao taùc naøy ñöôïc moâ taû chi tieát trong taøi lieäu höôùng daãn card 4.0. Choïn thöù töï (line): Thöù töï maëc ñònh choïn saün laø x/y (chuyeån ñoäng thaúng ñeán ñích) neáu muoán thay ñoåi coù theå duøng l “line” vaø phím sau leänh laø truïc caàn thay ñoåi thöù töï: Line xy; thöù töï x vaø y Line xz; thöù töï x vaø z Line yz; thöù töï y vaø z Sau khi choïn xong, thöù töï caùc truïc seõ coù hieäu löïc cho ñeán khi leänh “line” ñöôïc söû duïng laïi moät laàn nöûa, thöù töï maëc ñònh khi khôûi ñoäng heä thoáng laø xy. Leänh naøy khoâng aûnh höôûng khi caùc truïc di chuyeån veà vò trí, khoaûng dòch chuyeån, v.v… Ví duï 1: #limitss 200, 300, 80; Leänh treân xaùc ñònh vuøng giôùi haïn trong cheá ñoä Teach-in laø 200mm x 300 mm x 80 mm. Ví duï 2: #units zoll/10; #Elev 4, 4, 2; #limits 100, 100, 10; Vuøng giôùi haïn ñöôïc xaùc ñònh bôûi caùc leänh treân laø : 100 x 2,54mm (x), 100 x 2,54mm (y), 10 x 2,54mm (z) = 254mm x 254mm x 25,4mm Caùc giôùi haïn naøy ñöôïc taïo ra nhaèm haïn cheá tröôøng hôïp dòch chuyeån ra ngoaøi phaïm vi cho pheùp cuûa maùy. Vò trí 0 cuûa chi tieát (#0): Xaùc ñònh vò trí 0 cuûa chi tieát trong cheá ñoä Teach-in, moãi chöông trình NC chæ ñònh nghóa moät laàn: #null , , ; Leänh “#null 50, 50, 10 “ ñaët ñieåm 0 chi tieát taïi toïa ñoä “50, 50, 10” theo ñôn vò ñaõ choïn (mm, cm, zoll . . . ). Trong chöông trình NC, ñieåm 0 chi tieát cuõng ñöôïc xaùc ñònh baèng leänh “null”. Xaùc ñònh toác ñoä (#speed) #speed , , cho xyz #speed , cho xy #speed , cho xz #speed cho x , coù ñôn vò laø böôùc/giaây, caùc thoâng tö naøy khoâng ñöôïc duøng ñeå thay ñoåi laïi toác ñoä dòch chuyeån cuûa chöông trình NC, chuùng chæ coù taùc duïng khi chuyeån moät vò trí trong Tach-in. Ñònh nghóa laïi (#redfine) : Ñeå thay ñoåi toác ñoä vaø caùc khai baùo khaùc trong moät chöông trình NC khoâng theå duøng nhieàu leänh (#define). #define ( )(2000); #define ( )(3000); Sai ! Ví duï treân khoâng ñuùng maø phaûi söûa laïi nhö sau: #define ( )(2000); #redefine ( )(3000); ñuùng ! Leänh “#define “ seõ thay theá moät ñònh nghóa ñaõ coù saün baèng moät ñònh nghóa môùi (trong ví duï treân laø 3000). Cheá ñoä Teach-in ÖÙng duïng Teach-in Khoaûng dòch chuyeån khoâng chính xaùc trong nhieàu vaán ñeà cuûa heä thoáng ñieàu khieån, ñeå coù theå hieåu vaø thöïc hieän ñöôïc caùc chuyeån ñoäng caàn phaûi duøng ñeán cheá ñoä Teach-in. Trong cheá ñoä naøy ngöôøi duøng coù theå chæ cho maùy nhöõng gì phaûi laøm thoâng qua baøn phím, caùc toïa ñoä laøm vieäc laø toïa ñoä töông ñoái tuy coù löu yù ñeán vò tr töông ñoái so vôùi ñieåm 0 chi tieát, khuyeát ñieåm ñieåm ñieån hình cuûa cheá ñoä naøy laø ñieàu khieån baéng tay. Goïi cheá ñoä Teach-in Goïi cheá ñoä Teach-in Baèng caùch aán phím vaø , ngay laàn goïi ñaàu tieân PAL-PC seõ ñoïc phaàn khai baùo chöông trình vaø ñieàu chænh caùc giaù trò nhö: Khoaûng dòch chuyeån, soá böôùc vuøng giôùi haïn cho pheùp… Ñeå vieäc ñieàu chænh ñöôïc ñuùng, taïi laàn goïi naøy phaûi di chuyeån caùc truïc laøm vieäc veà vò trí 0. Trong tröôøng hôïp phaàn khai baùo ñaõ thay ñoåi thì phaûi aán phím ñeå goïi vaø thöïc hieän laïi toaøn boä caùc caøi ñaët. Con troû soaïn thaûo phaûi naèm treân doøng sau vò trí Teach-ende, trong tröôøng hôïp treân doøng naøy coù leänh dòch chuyeån tuyeät ñoái thì cheá ñoä Teach-in seõ baét ñaàu töø vò trí naøy khi ñöôïc goïi. Tín Hieäu Hoái Tieáp Töø Teach-In Cheá ñoä Teach-in seõ thoâng baùo cho chöông trình NC toïa ñoä cuûa con troû tröôùc khi goïi Tach-in, caùc tín hieäu hoài tieáp töø Teach-in bao goàm: Taát caû caùc khai baùo cuûa chöông trình döïa tr6n ñieåm 0 chi tieát. Khoaûng caùch böôùc ñaõ choïn, vôùi ñôn vò laø 1/10. Thì moät böôùc töông ñöông vôùi 2,54mm. Ñôn vò ñöôïc thay ñoåi baèng leänh “#units”. Xmax, Ymax, Zmax Khoâng di chuyeån toái ña cuûa thieát bò , Teach-in goïi giôùi haïn phaïm vi di chuyeån taïi caùc trò soá naøy nhaèm haïn cheá hö hoûng thieát bò hoaëc coâng cuï, thay ñoåi caùc trò soá naøy baèng leänh “#limit”, trong phaàn khai baùo chöông trình. Ñeå caùc giaù trò ñöôïc chính xaùc thì thoâng soá ñieàu chænh khoaûng dòch chuyeån phaûi ñuùng vaø toác ñoä thieát bò phaûi giaûm thaáp tröôùc khi ñeán khi gaàn caùc möùc giôùi haïn. “VT”: laø vaän toác trong cheá ñoä Teach-in ñôn vò laø mm/sec, toác ñoä coù theå thay ñoåi baèng phím + vaø – Position Cho bieát vò trí dòch chyeån theo ñôn vò ñaõ choïn, trò soá naøy coù theå chuyeån ñoåi töø daïng goùc sang daïng thaúng. Rel.Pos Cho bieát vò trí töông ñoái, aán nuùt Enter ñeå ñaët vò trí töông ñoái veà vò trí töông ñoái ñöôïc duøng ñeå ño khoaûng caùch. Khoâng coù tín hieäu hoài tieáp cuûa vò trí töông ñoái ñöa veà chöông trình NC maø chæ nhaäp vaøo ñaây vò trí tuyeät ñoái. Chuyeån Ñoäng Cuûa Caùc Truïc Caùc truïc coù theå dòch chuyeån theo hai caùch ñeå ñaït ñeán vò trí xaùc ñònh. Lieân Tuïc Vôùi caùc phím chöùc naêng töø ñeán ñeå di chuyeån caùc truïc lieân tuïc cho ñeán khi phím töông öùng ñöôïc nhaû ra, chöùc naêng caùc phím ñöôïc moâ taû nhö sau: = x+ = y+ = z+ = X- = y- = z- = taêng toác ñoä = giaûm toác ñoä Vò trí môùi seû ñöôïc hieån thò laïi sau khi nhaû phím ñieàu khieån, ñeå di chuyeån chính xaùc phaûi choïn toác ñoä di chuyeån thaáp. Cheá ñoä naøy coù löu yù ñeán taát caû caùc giôùi haïn ñaõ xaùc ñònh. Töøng Böôùc Thöïc hieän baèng caùc phím muõi teân, moãi moät phím seõ dòch chuyeån maùy theo moät höôùng coá ñònh, böôùc di chuyeån coù theå thay ñoåi baèng caùch chænh Stp, xem baûng sau: = x+ = y+ . = z+ = x- = y- = Z- = Taêng böôùc dòch chuyeån = Giaûm böôùc dòch chuyeån = Taêng toác ñoä = Giaûm toác ñoä Löu yù khi xöû duïng caùc phím muõi teân trong vuøng phím soá thì phaûi taét chöùc naêng ñaùnh soá cuûa caùc phím naøy (ñeøn num lock phaûi taét). Ñaët Vò Trí Khi ñaõ ñaït ñöôïc vò trí caàn ñeán, vò trí naøy ñöôïc chuyeån vaøo maøn hình soaïn thaûo PAL-PC. Neáu nhaán phím thì vò trí naøy seõ ñöôïc hieån thò ôû doøng tieáp theo sau con troû. Aán phím chöùc naêng ñeå thöïc hieän chuyeån ñoäng keá tieáp. Chaám Döùt Cheá Ñoä Teach-In Ñeå chaám döùt cheá ñoä Teach-in phaûi aán phím , vò trí vöøa ñeán seõ khoâng ñöôïc chuyeån vaøo PAL-PC. Trong laàn goïi Teach-in tieâp theo chöông trình NC seõ hieån thò vò trí hieän haønh cuûa thieát bò. Caùc Chöùc Naêng Cuûa Cheá Ñoä Teach-In Chöùc naêng dòch chuyeån (move) . Trong menu naøy cho pheùp thöïc hieän töøng chuyeån ñoäng rieâng leû baèng caùch aán phím. Dòch chuyeån coù kieåm tra (mov pos chck ) Khi caùc truïc ñöôïc dòch chuyeån veà vò trí chuaån vaø ñeå baûo ñaûm chính xaùc caùc truïc laïi ñöôïc di chuyeån moät laàn nöõa vò trí cuoái cuøng vaø coù theå kieåm tra vò trí ñöôïc hieån thò xem coù coøn ñuùng hay khoâng. Sai soá phaùt sinh chuû yeáu laø do sai soá cuûa ñoäng cô böôùc. Di chuyeån veà ñieåm 0 chi tieát (Mov floatzro) Ñeå trôû veà ñieåm 0 chi tieát, tröôùc tieân truïc z phaûi ñöôïc naâng leân ñeå traùnh hö hoûng vaø sau ñoù laïi ñöôïc haï xuoáng. Di chuyeån veà giôùi haïn +/+ . Thieát bò ñöôïc di chuyeån ñeán giôùi haïn toái ña vaø cuõng neân löu yù chænh ñuùng gí trò naøy ñeå traùnh rôi vaøo vuøng giôùi haïn cuûa maùy Di chuyeån veà giôùi haïn -/- . Thieát bò ñöôïc di chuyeån veà vò trí nhoû nhaát cho pheùp. Di chuyeån z veà ñieåm 0 (move z-zero) . Naâng Truïc Z Leân Chaám döùt di chuyeån . Chaám döùt menu di chuyeån. Ví duï : {1{#Define (x) (2000); #Define (y) (2000); #Define (z) (1000); {2{#Define (xx) (8000); #Define (yy) (8000); #Define (zz) (2000); {3}Moveto 20(x), 30(y), 40(z), 0(z); Sau khi goïi cheá ñoä Teach-in, di chuyeån ñeán vò trí (20, 35, 20) vaø ñaët vò trí vôùi “Eilg.ok” vaø thöïc hieän chuyeån ñoäng “moveto 20(xx), 35(yy), 20(zz), 0(zz)”, chöông trình nhö sau: {1}#Define (x)(2000); #Define (y)(2000); #Define (z)(1000); {2}#Define (xx)(8000); #Define (yy)(8000); #Define (zz) (2000); {3}Moveto 20(x), 30(y), 40(z), 0(z); {4}Moveto 20(xx), 30(yy), 40(zz), 0(zz); Chuyeån ñoäng {3} coù toác ñoä ( 2000, 2000, 1000), doøng leänh {4} coù toác ñoä cao hôn (8000, 8000, 2000). Toác ñoä dòch chuyeån trong chöông trình NC coù theå ñöôïc ñònh nghóa laïi baèng leänh “#Redefine”. Chöùc Naêng Define Ñaët caùc thoâng soá trong cheá ñoä Teach-in, neân chuù yù coù theå coù moät vaøi thoâng soá (ñieåm chi tieát) coù theå ngöôïc vôùi chuyeån ñoäng hieän haønh trong chöông trình. Ñaët Ñieåm 0 Chi Tieát Vò trí thöïc teá cuûa thieát bò ñöôïc xem nhö laø vò trí 0 chi tieát. Leänh naøy coù theå caàn thieát khi trong moät chöông trình phaûi laøm vieäc vôùi nhieàu vò trí 0. Tuy nhieân, ñeå traùnh raéc roái chæ neân ñònh nghóa moät ñieåm 0 cho chöông trình baèng leänh “#null” vaø :null”. Arc (angle) Vò trí hieån thò ñöôïc chuyeån töø ñôn vò ñoä daøi sang ñôn vò goùc döôùi daïng “goùc 1, goùc 2” trò soá naøy ñöôïc so töông ñoái vôùi ñieåm 0 cuoái cuøng (taïo ñieåm 0 naøy baèng caùch aán phím Enter), chöùc na7ng naøy hoaït ñoäng theo kieåu ON/OFF coù nghóa laø khi goïi laïi laàn thöù hai thì ñôn vò goùc laïi chuyeån trôû laïi thaønh ñôn vò ñoä daøi. Ñaët Giôùi Haïn Mim (Teach Mim) Coù theå ñaët giôùi haïn naøy taïi vò trí hieän haønh Ñaët Giôùi Haïn Max (Teach Max) Leänh naøy sau leänh Teach mim Xoaù Ñieåm 0 Chi Tieát (Fzero Off) Ñieåm 0 chi tieát ñöôïc ñaët taïi (0,0,0) ñaây laø ñieåm 0 cuûa maùy neân chuù yù trong chöông trình d0iaåm 0 chi tieát coù theå laøm cho chiuyeån ñoäng sai. Xoaù Giôùi Haïn Mim (Tmim Off) Giôùi haïn min cuûa Teach - in laïi ñöôïc ñöa veà ñieåm 0 cuûa maùy Xoaù Giôùi Haïn Max (Tmax Off) Giôùi haïn max cuûa Teach-in laïi ñöôïc ñöa veà giôùi haïn ñaõ ñònh nghóa cuûa maùy. Ñaët Giôùi Haïn (Limit On) Giôùi haïn naøy coù theå toùm taét baèng leänh “Tmim off” vaø Tmax off”. Trong laàn keá tieáp cuûa Teach-in ()thì giôùi haïn naøy laø (0,0,0). Pos.Ok (Pos High Sp) Ñònh nghóa hai caáp ñoä trong Teach-in, toác ñoä laøm vieäc (“Pos.ok.”) vaø moät toác ñoä nhanh (“Eilg.ok.). Chöùc naêng naøy ñöôïc thoâng baùo trình soaïn thaûo Nc. Ví duï : {1}#Define (x)(2000); #Define (y)(2000); #Define (z)(1000); {2}#Define (xx)(8000); #Define (yy)(8000); #Define (zz)(2000); {3}Moveto 20(x), 30(y), 40(z), 0(z); Sau khi goïi Teach-in, di chuyeån ñeán vò trí (20, 35, 20) vaø ñaët baèng leänh “Pos.ok”, sau ñoù thöïc hieän leänh “moveto 20(x), 35(y), 20(z), 0(z)”, chöông trình nhö sau: {1}#Define (x) (2000); #Define (y)(2000); #Define (z)(1000); {2}#Define (xx)(8000); #Define (yy)(8000); #Define (zz)(2000); {3}Moveto 20(x), 30(y), 40(z), 0(z); {4}Moveto 20(x), 359y), 20(z), 0(z); Doøng leänh {3} vaø {4} coù toác ñoä (2000, 2000,1000) Toác ñoä laøm vieäc trong chöông trình coù theå ñöôïc ñaët laïi baèng leänh “#Redefine”. Do toác cheá ñoä Teach-n khoâng chæ keát noái vôùi card giao tieáp maø coøn vôùi chöông trình NC neân coù theå sinh hai loãi. Loåi trong phaàn khai baùo cuûa chöông trình Nc. Cheá ñoä Teach-in coù khoâng hoaït ñoäng neáu trong phaàn khai baùo cuûa chöông trình coù loãi, Teach-in seõ thoâng baùo trong moät cöûa soå luùc naøy phaûi aán phím , ñeå veà trình soaïn thaûo NC,vò trí coù loãi trong phaàn khai baùo ñöôïc ñaùnh daáu, sau khi söûa goïi laïi Teach-in baèng phím . Loåi giao tieáp (card khoâng hoaït ñoäng) Trong cöûa soå Teach-in khoâng coù thoâng baùo vì card khoâng ñöa veà gôûi vò trí cuûa thieát bò, thoaùt ra baèng phím vaø sau ñoù aán ñeå veà trình soaïn thaûo NC. Ñeå kieåm tra giao tieáp, coù theå duøng chöùc naêng töï kieåm tra cuûa card (xem taøi lieäu höôùng daãn card 4.0). (!) neân nhôù raèng chöông trình töï kieåm tra seõ chaám döùt khi card ôû trong traïng thaùi off. V _ THOÂNG BAÙO LOÃI CUÛA CHÖÔNG TRÌNH DÒCH Unexpected end of file Chöông trình soaïn thaûo ñaõ chaám döùt maëc duø PAL-PC coøn ñôïi leänh tieáp theo, coù theå queân chaám döùt lôøi bình hoaëc leänh cuoái cuøng cuûa chöông trình coøn thieáu thoâng soá. ‘;’ expected Phaûi keát thuùc leänh baèng daáu chaám phaåy ngoaïi tröø leänh “repeat” vaø “stop”. Illegal axis-entry Truïc ñöôïc choïn 2 laàn hoaëc khoâng phuø hôïp vôùi card giao tieáp. ‘x’, ‘xy’, ‘xz’ hoaëc ‘xyz’ expected. Truïc khoâng ñuùng Ví duï : “#axis yz” Axis already defined. Leänh choïn truïc phaûi laø leänh ñaàu tieân, thöù töï sau ñaây laø khoâng hôïp leä. #Elev 4, 4, 4; #Axis xy; ‘mm’, ‘cm’, ‘zoll’, ‘zool/10’ hoaëc ‘zoll/20’ expected. Sau leänh #units caùc thoâng soá treân laø hôïp leä, coù theå thay “zoll” baèng “inch” Missing ‘stop’, stop assumed. Thieáu leänh stop trong chöông trình Input already active. Ñaõ coù leänh #input Too much nested repeats (limit is zo). Kieåm tra ñoä loàng cuûa voøng laëp coù theå quaù khaû naêng cho pheùp cuûa card, toái ña khoaûng 15 ñoái vôùi card 4.0. Repeat without until detected. Soá löôïng “repeat” nhieàu hôn “until”, kieåm tra laïi töøng voøng laëp Repeat Repeat Move . . . . Until Move. . . . . Until #-command not recognized. Leänh khoâng ñuùng, neân löu yù chöõ in vaø chöõ thöôøng Duplicate axis entry in command. Truïc ñöôïc ñònh nghóa nhieàu laàn Ví duï : “#axis xxz” ‘x’, ‘y’ hoaëc ‘z’ expected. Moãi truïc phaûi ñöôïc ñònh nghóa baèng moät kyù töï x, y vaø z Integer expected. Soá khoâng hôïp leä, phaïm vi cho pheùp töø 0 ñeán 32767 Ví duï : “20” laø sai. ‘,’ expected. Phaûi phaân caùch baèng daáu phaåy Positive integer expected. Taïi vò trí naøy chæ cho pheùp soá döông Until without repeat. “Until” nhieàu hôn Repeat Real number expected. Soá thaäp phaân phaûi phaân caùch baèng daáu chaám phaåy Positive real number expected. Phaûi laø soá döông Missing “#input”. Thieáu input ‘(‘ expected. Toác ñoä phaûi ñaët trong daáu ngoaëc ñôn ‘)’ expected. Toác ñoä phaûi ñaët trong daáu ngoaëc ñôn ‘.’ Expected. Phaûi keát thuùc leänh stop baèng daáu chaám Too much definitions. Coù quaù nhieàu ñònh nghóa Definiton name expected. Moät ñònh nghóa phaûi coù ít nhaát moät teân “#define ;” laø khoâng hôïp leä, daáu chaám phaåy khoâng phaûi laø teân. 26.Illegal character for send or wait (number between /. . ./ 26) expected. Kyù hieäu trong leänh send vaø wait phaûi töø 1 ñeán 126 ‘ “ ‘ or unit number expected. Leänh caàn moät kyù hieäu hoaëc moät soá ‘ “ ‘ expected. Chöông trình dòch caàn kyù hieäu höôùng daãn ‘wait’ expected. Leänh wait phaûi ôû vò trí naøy Until entry expected. Ñôn vò phaûi ôû vò trí naøy Comand not recognized. Leänh khoâng ñuùng Too much label defintion Coù quaù nhieàu nhaõn 33. Positive integer between 1 and 126 caàn moät vò trí töø 1 ñeán 126 34. Label not found Khoâng tìm thaáy nhaõn No label defintion in text Khoâng coù ñònh nhaõn ‘,’ or ‘times’ expected Caàn daáu phaåy hoaëc töø khoaù ‘times’ ‘,’ or ‘out’ expected Caàn leänh ‘in’ hoaëc ‘out’ sau ‘sync’ ‘On’, ‘off’, ‘in’, ‘out or ‘sync’ expected Caàn caøc töø khoaù keå treân cho thao taùc xung End of remark missing Chöông trình ñaõ chaám döùt nhöng lôøi bình chöa keát thuùc Serial times missing error (times out in receive) Quaù trình truyeàn döõ lieäu bò ngaét do aán phím, duøng chöùc naêng töï kieåm tra (môû/ taét card giao tieáp) Elevation must be > 0,001 Khoaûng di chuyeån phaûi lôùn hôn 0,001 File not found Khoâng tìm thaáy file 43. Letter or ‘-‘ expected Nhaõn phaûi baét ñaàu baèng kyù töï hoaëc daáu gaïch ngang döôùi Replace text exceed 250 char Ñònh nghóa daøi hôn 250 kyù töï Line exceed 250 char after replace of definition Doøng coù chöùa ñònh nghóa daøi hôn 250 kyù töï, neân ñöa ñònh nghóa rieâng treân moät doøng Illegal defintion occurred Ñònh nghóa truøng laëp Ví duï: “#Define stop noch nicht stop;” stop xuaát hieän 2 laàn ‘ “ ‘ or ‘<’ expected Phaûi ñaët taäp tin caàn cheøn giöõa hai ngoaëc nhoïn hoaëc daáu höôùng daãn ‘ “ ‘ expected Phaûi chaám döùt baèng daáu “ Ví duï : #include “abc.tex> laø sai ‘>’ expected Phaûi chaám döùt baèng daáu > Ví duï : #include <abc.txt” laø sai 50. Include file not found or I/O error Khoâng ñoïc ñöôïc file caàn cheøn 51. I/O error on read Loåi ñoïc ñóa, neân kieåm tra ñóa meàm 52. Illegal unit-no Soá hieäu card khoâng ñuùng, soá hôïp leä töø 0 ñeán 9 53. ‘xy’, ‘xz’ or ‘yz’ expected Leänh line chæ coù theå choïn kyù töï “xy”, “xz” vaø “yz”, “line xyz” khoâng hôïp leä vaø “line yx” cuõng sai. 54. Positive real number expected Caàn moät soá döông 55. No matching defintion for redefine Ñònh nghóa caàn thay ñoåi khoâng coù trong chöông trình, leänh #define chæ coù theå thay ñoåi nhöõng ñònh nghóa ñaõ ñöôïc duøng 56. (‘) expected Phaûi ñaùnh daáu ñònh nghóa muoán söûa baèng daáu “’” Ví duï : Ñònh nghóa coù saün “ #define AA, BB;” muoán söûa phaûi vieát “#redefine ‘AACC;” laø hôïp leä Caùc Thoâng Baùo Loãi Töø 149 Ñeán 170 Laø Cuûa Card Giao Tieáp. 149. Soá khoâng hôïp leä 150. Chuyeån maïch chuaån 151. Truïc khoâng hôïp leä 152 Khoâng coù thoâng soá cuûa truïc 153. Cuù phaùp sai 154. Heát boä nhôù 155. Soá löôïng thoâng soá khoâng ñuùng 156. Leänh khoâng ñuùng 161. (CR) sai 164. Töï kieåm tra bò döøng hoaëc loåi keát noái 165. Xung khoâng ñuùng 166. Leänh TELL sai 167. Chôø (CR) 168. Toác ñoä khoâng ñuùng 169. Voøng laëp sai 170. Döøng do ngöôøi söû duïng CAÙC ÖÙNG DUÏNG CUÛA PHAÀN MEÀM CUÛA PAL-EP {******************************************************PB01 Erlauterung Zum Pal-Beispeilprogramm: Interface-Manual 4.0 Seite 10 Oben Schena Zum Bohren Einer Dll-14-Fassung ***********************************************************} # AXIS XYZ ; #REFERENCE XYZ ; #UNITS ZOLL/10; MOVE 2(9000) , 2(9000) , 0(9000) , 0(9000); REPEAT MOVE 1(9000), 0(9000), 2(9000), -2(9000); UNTIL 7 ; MVOE 1(9000), 3(9000), 0(9000), 0(9000); REPEAT MOVE -1(9000), 0(9000), 2(9000), -2(9000); UNTIL 7 ; STOP. #START {*******************************************************PB02 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 12 Oben Anwendungssbeispiel Fur Relativ Positioniersteuerung **********************************************************} # AXIS XYZ; #REFERENCE XYZ ; #ELVE 4,4,4; #DEFINE N 0(21); #DEFINE ( )(2000); #DEFINE BOHRE 1(350), -1(2000); MOVE 66( ), 82( ) , N , N ; MVOE 54 ( ) , 33 ( ) , BOHRE ; MVOE 0 ( ), 40 ( ), BOHRE ; MVOE 65 ( ) , 0 ( ) , BOHRE ; MVOE 0 ( ) , =40 ( ) , BOHRE ; #REFERENCE XYZ ; STOP. {**************************************************** PB03 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 13 unten Anwendungsbeipiel Fur Absolute Positionierteuerung **********************************************************} #AXIS XYZ ; #ELVE 4, 4, 4 ; #DEFINE n 0 (21) ; #DEFINE ( ) (2000) ; #DEFINE BOHRE 1(350), -1(2000) ; MOVE 66( ),82( ), n , n ; NULL ; MOVE TO 54( ), 33( ), BOHRE ; MOVE TO 54( ), 73( ), BOHRE ; MOVE TO 119( ), 73( ), BOHRE; MOVE TO 119( ), 33( ), BOHRE ; REFERENCE XY ; STOP . {***************************************************** PB05 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 32 Oben Referenzfahrt Direkt Ausfuhren **********************************************************} #AXIS XYZ ; MOVE 20(1000), 20(9000); REFERENCE XY ; STOP. {*************************************************** PB06 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 32 Mitte Beispiel fur Specichreung **********************************************************} #AXIS XYZ ; MOVE 20(10000), 20(9000); REFERENCE STOP ; REFERENCE XY ; STOP . {****************************************************PB08 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 35 Oben Arbeiten in CNC_Betrieb **********************************************************} #AXIS X ; #REFERENCE X ; #INPUT MOVE 2(9000) ; MOVE -2(9000) ; MOVE 4(1000) ; STOP . #START {*****************************************************PB09 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 37 Oben Setzen der Referenzgeshwindigkeit *********************************************************} #AXIS XY ; #REF_SPEED 3000, 5000 ; #REFERENCE XY ; {***************************************************** PB10 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 38 Oben Arbeiten Im Speichermodus (CNC_MODUS) der Interfacekarte **********************************************************} #AXIS XZ ; #REFERENCE XZ ; #INPUT MOVE 5(100), 4(100), 0(100) ; STOP . {***************************************************** PB11 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 40 Oben Senden von synchronisationszeichen **********************************************************} #AXIS XYZ ; #REFERENCE XYZ ; #INPUT SENT 90 ; STOP . START {***************************************************** PB12 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 42 Unten Warten auf Sychronisationszeiche **********************************************************} #AXIS x ; #REFERENCE X ; #INPUT LABEL: MOVE 3(1000) ; WAIT 50, LABEL ; STOP . #START {****************************************************** PB13 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 44 mitte scheleife/verzweigung in speicherbetrieb **********************************************************} #AXIS X ; #REFERENCE X ; #INPUT REPEAT MOVE 2(1000); UNTIL 5; MOVE -10(2000) ; UNTIL 10 ; STOP . #START {***************************************************** PB14 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 46 Oben Ausgabe eines impulses mit der optionalen impulssteuerung **********************************************************} #AXIS X ; #REFERENCE X ; #INPUT PULSE IN ; MOVE 2(9000) ; STOP . START {***************************************************** PB15 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 47 Oben Ausfuhern einer zeitverzogerung **********************************************************} #AXIS X ; #REFERENCE X ; #INPUT MOVE 2(1000) ; DEPLAY 100 ; MOVE -2(1000) ; STOP . #START {***************************************************** PB16 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 48 unten Ausfuhren einerbBewegung bis Erhart eines inpulses **********************************************************} #AXIS X ; #REFERENCE X ; #INPUT MOVEP 2(9000); MOVEP 4(9000) ; MOVE 4(9000); STOP . #START {***************************************************** PB17 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 50 Oben starten einer zweiten interfacekart ***********************************************************} #AXIS XY ; #REFERENCE XY; #INPUT REPEAT MOVE 2(200), 2(200); TELL 0 REFERENCE X; TELL 0 START; MOVE -2(200), -2(200) ; UTIL 0; STOP . #START {***************************************************** PB18 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 54 verschieben des Anlagennullpunketes **********************************************************} #AXIS XY; #REFERENCE XY; #ELV 4, 4; #MOVE 80(900), 8(900); NULL XY; MOVE TO 2(900), 4(900); STOP . {***************************************************** PB22 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 65 Oben Auswahlen einer Beareitungsebene **********************************************************} #AXIS XYZ; #REFERENCE XYZ; LINE YZ; MOVE 20(200), 30(9000), 33(900), 0(21); STOP . {***************************************************** PB23 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 6 unten Ausgabe von impulsen mit der impulssteuerung **********************************************************} #AXIS XYZ; #REFERENCE XYZ; REPEAT PULSE OUT; DELAY 20; UNTIL 10; STOP . #START {***************************************************** PB24 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 Seite 7 Oben test des impulseingang **********************************************************} REPEAT PULSE IN ; UNTIL 10; STOP . #START {***************************************************** PB25 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4 Seite Oben Abfragen einer angeschlossenen programmwahleinheit In Gegensatz zur Anleitung sind mit dem PAL PC_Programm AB version 1.2 auch vorwartsbezuge bei labels moglich **********************************************************} #AXIS X; LABEL 1; REPEAT ON_KEY 1, FAHRE ; ON_KEY 2, REFERENCEZ; ON_KEY 3, STOP ; UNTIL 0; FAHRE : MOVE 10(1000); GOTO LABEL1; REFERENZ : reference X; GOTO LABEL; STOP . {**************************************************** PB26 Erlauterung Zum PAL-Beispeilprogramm: E/ A_Erweiterungseinheit seite 23 Bitweises setzen von Ausgangsports der E/A_Erweiterung **********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(1000), 50(1000), 30(3000), -2(6000); SET_PORT 65529, 5 = 0; SET_PORT 65529, 4 = 0; SET_PORT 65530, 4 = 0; REFERENCE XYZ; STOP . {***************************************************** PB27 Erlauterung Zum PAL-Beispeilprogramm: E/ A_Erweiterungseinheit seite 23 unten byteweises setzen von Ports der E/A_Erweiterung **********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(1000), 50(1000), 30(3000), -20(6000); SET_PORT 65529, 128 = 0; SET_PORT 65529, 128 = 27; SET_PORT 65530, 128 = 205; SET_PORT 65530, 128 = 255; SET_PORT 65530, 128 = 0; REFERENCE XYZ; STOP . {**************************************************** PB28 Erlauterung Zum PAL-Beispeilprogramm: E/ A_Erweiterungseinheit seite 24 mitte byteweises lesen eines Port der E/A_Erweiterung **********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(3000), 50(3000), 30(3000),-20(6000); ON_PORT 65531, 2 = 0, 3; ON_PORT 65531, 8 = 1, -2; REFERENCE XYZ; MOVE 70(6000), 70(6000)30(4000), -20(6000); REFERENCE XYZ; STOP . {***************************************************** PB29 Erlauterung Zum PAL-Beispeilprogramm:E/ A_Erweiterungseinheit seite 24 uten byteweises lesen eines Port der E/A_Erweiterung ***********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(3000), 50(3000), 30(3000),-20(3000); MOVE -40(3000), -40(3000),-5(1000), 0(1000); ON_PORT 65531, 128 = 10, 3; ON_PORT 65531, 128 = 0, -2; ON_PORT 65531, 128 = 205, -4; MOVE 60(6000), 60(6000), 30(3000), 0(3000); REFERENCE XYZ; STOP . {*******************************************************PB31 Anwendungsbeispiel: Programmwaheit Art.Nr.1783 Programm "Pb31" zur Interface_karte ubertragen subD_Buchse von der Interfacekaarte abziechen und Programmwaheinheit anschlieben STAART_TASTER durcken und die tasten F1 bis F12 sind funktionsbereit ***********************************************************} #AXIS XYZ; #DEFINE ( ) (21); #ELVE 4, 4, 4; ANFANG; REPEAT ON_KEY 1, REFERENCE Z; ON_KEY 2, FAHREZ; ON_KEY 3, FAHREZ; ON_KEY 4, FAHREZXY; ON_KEY 5, FAHREY; ON_KEY 6, FAHREXY; ON_KEY 7, FAHREX; ON_KEY 8, REFERENCEZ; ON_KEY 9, FAHREX; ON_KEY 10, FAHREXY; ON_KEY 11, FAHREY; ON_KEY 12, FAHREXY; UNTIL 0; FAHREZ: MOVE 0( ), 0( ), -1(2000), 0( ); GO TO ANFANG; FAHREZ: MOVE 0( ), 0( ), 1(2000), 0( ); GO TO ANFANG; FAHREXY: MOVE 10(2000 ), -10(2000 ), 0( ), 0( ); GO TO ANFANG; FAHREX: MOVE 10(2000 ), 0( ), 0( ), 0( ); GO TO ANFANG; FAHREXY: MOVE 10(2000 ), 10(2000 ), 0( ), 0( ); GO TO ANFANG; FAHREX: MOVE 0( ), -10(2000 ), 0( ), 0( ); GO TO ANFANG; FAHREZ: REFERENCE XYZ; GO TO ANFANG; FAHREY: MOVE 0( ), 10(2000 ), 0( ), 0( ); GO TO ANFANG; FAHREXY: MOVE -10(2000 ), -10(2000 ), -10(2000), 0( ), 0( ); GO TO ANFANG; FAHREX: MOVE -10(2000 ), 0( ), 0( ), 0( ); GO TO ANFANG; FAHREXY: MOVE -10(2000 ), 10(2000 ), 0( ), 0( ); GO TO ANFANG; END. STOP. {****************************************************** PB32 Anwendungsbeispiel: Interface-kart mit E/A_Erweiterungseinheit Programm zum Testen der E/A Einheit Programm mit den Befehl "TRNFER" im window_menue zur Interfacekart ubertragen. Nach erfolgreicher ubertragung und compierung solten sie den Befehl "COMMUNICATION" im window_menu aufrufen. Nun betatigen sie die "START" Taste und in window wird "PORT = 0" angezeigt, ercheint die meldung "PORT = 1". Schalten sie nun auf alle Eingange nacheianander die Meldung "PORT = 1, 2, 3, 4, 5, 6, 7, 8" KOMMEN. Schalten sie nur Eingang 7 (bit 7) leuchten zunachst die LED'STOP am Ausgangsport I nacheinande auf, anschliebend am Ausgangsport II. Dieser vorgang wiederholt sich nocheinmal Schalten sie nur Eingang 8 (bit 8), leuchten zunachst die LED am Ausgangsport I nacheinander auf, verfahibewegung X_Achse und aufleuchten der LED'STOP am Ausgangsport II nacheiander Dieser vorgang wiederholt sich noch eininol ***********************************************************} #AXIS X; #ELEV 2; #DEFINE M MOVE 1(9000); #DEFINE L MOVE -1(9000) #DEFINE INPUT ON_PORT 65531, 128 = ; #DEFINE P1 SET_PORT 65529, 128 = ; #DEFINE P SET_PORT 65530, 128 = ; #DEFINE T TIME 3; #DEFINE T1 TIME 2; START : PULSE IN; TIME 5; INPUT 0, A; INPUT 1, B; INPUT 3, C; INPUT 7, D; INPUT 15, E; INPUT 31, F; INPUT 63, G; INPUT 127, H; INPUT 255, I ; INPUT 128, K; INPUT 64, N; A: SEND 80; SEND 79; SEND 82; SEND 61; SEND 48; SEND 13; GOTO START ; B: SEND 80; SEND 79; SEND 82; SEND 61; SEND 49; SEND 13; GOTO START ; C: SEND 80; SEND 79; SEND 82; SEND 61; SEND 49; SEND 44; SEND 50; SEND 13; GOTO START ; D: SEND 80; SEND 79; SEND 82; SEND 61; SEND 49; SEND 44; SEND 50; SEND 44; SEND 51; SEND 13; GOTO START ; E: SEND 80; SEND 79; SEND 82; SEND 84; SEND 61; SEND 49; SEND 44; SEND 50; SEND 44; SEND 51; SEND 44; SEND 52; SEND 13; GOTO START ; F: SEND 80; SEND 79; SEND 82; SEND 84; SEND 61; SEND 49; SEND 44; SEND 50; SEND 44; SEND 51; SEND 44; SEND 52; SEND 44; SEND 53; SEND 13; GOTO START ; G: SEND 80; SEND 79; SEND 82; SEND 84; SEND 61; SEND 49; SEND 44; SEND 50; SEND 44; SEND 51; SEND 44; SEND 52; SEND 44; SEND 54; SEND 13; GOTO START ; H: SEND 80; SEND 79; SEND 82; SEND 84; SEND 61; SEND 49; SEND 44; SEND 50; SEND 44; SEND 51; SEND 44; SEND 52; SEND 44; SEND 53; SEND 44; SEND 54; SEND 44; SEND 55; SEND 13; GOTO START ; I: SEND 80; SEND 79; SEND 82; SEND 84; SEND 61; SEND 49; SEND 44; SEND 50; SEND 44; SEND 51; SEND 44; SEND 52; SEND 44; SEND 53; SEND 44; SEND 54; SEND 44; SEND 55; SEND 44; SEND 56; SEND 13; GOTO START ; K: SEND 80; SEND 79; SEND 82; SEND 84; SEND 61; SEND 56; SEND 13; GOTO START ; REFERENCE X; REPEAT P1 1; T; P1 2; T; P1 4; T; P1 8; T; P1 16; T; P1 32; T; P1 64; T; P1 128; T; P1 0; T; P 1; M; T1; P 2; L; T1; P 4; M; T1; P 8; L; T1; P 16; M; T1; P 32; L; T1; P 64; M; T1; P 128;L ; T1; P 0; T1; UNTIL 2; GOTO START ; N: SEND 80; SEND 79; SEND 82; SEND 84; SEND 61; SEND 55; SEND 13; REPEAT P1 1; T; P1 3; T; P1 7; T; P1 15; T; P1 31; T; P1 63; T; P1 127; T; P1 255; T; P1 127; T; P1 63; T; P1 31; T; P1 15; T; P1 7; T; P1 3; T; P1 1; T; P1 0; T; P1 1; T; P1 3; T; P1 7; T; P1 15; T; P1 31; T; P1 63; T; P1 127; T; P1 255; T; P1 127; T; P1 63; T; P1 31; T; P1 15; T; P1 7; T; P1 3; T; P1 1; T; P1 0; T; P1 15; T; UNTIL 2; GOTO START ; STOP . {****************************************************** PB33 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 zursatzblatt 30_Interpolation und kreisiterprolation **********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(1000), 50(1000), 10(1000), 0(1000); DELAY 50; SET3D ON; MOVE 50(1000), 50(1000), 50(1000), 0(1000); SET3D OFF; DELAY 50; MOVE -80(3000), -80(3000), -50(3000), 0(3000); REFERENCE XYZ; STOP . START ; {****************************************************** PB34 Erlauterung Zum PAL-Beispeilprogramm: PAL_PC Manual seite 91 unten kreis rechtsdrehend **********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(3000), 50(3000), 50(3000), 0(3000); ARC_R 10(100), 0, 360, 5; REFERENCE XYZ; STOP . #START ; {********************************************************PB35 Erlauterung Zum PAL-Beispeilprogramm: PAL_PC Manual seite 92 unten kreis rechtsdrehend ***********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(3000), 50(3000), 50(3000), 0(3000); ARC_L 6(5000), 180, 270, 3; REFERENCE XYZ; STOP . #START ; {****************************************************** PB36 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 zursatzblatt 30_Interpolation und kreisiterprolation kreis rechtsdrehend; mit knostanter Bahngeschwindigkeut **********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(3000), 50(3000), 50(3000), 0(3000); LINE YZ; CIRCLE_CW 10(1000), 720, 360; REFERENCE XYZ; STOP . #START ; {****************************************************** PB37 Erlauterung Zum PAL-Beispeilprogramm: Interface-Manual 4.0 zursatzblatt 30_Interpolation und kreisiterprolation kreis rechtsdrehend; mit knostanter Bahngeschwindigkeut ***********************************************************} #AXIS XYZ; #REFERENCE XYZ; MOVE 50(3000), 50(3000), 50(3000), 0(3000); CIRCLE_CCW 10(1000), 0, 360; REFERENCE XYZ; STOP . START ;

Các file đính kèm theo tài liệu này:

  • docMay khoan mach in CNC dung dong co buoc.DOC
  • pdfHINH ROBOT.pdf
  • pdfrobo di dong.pdf
Tài liệu liên quan