Ứng dụng phần mềm Pal-El để khoan mạch in

Cũng như ở cổng máy in, các đường dẫn tín hiệu riêng biệt cũng cho phép trao đổi qua các địa chỉ trong máy tính PC. Trong trường hợp này, người ta thường sử dụng những vi mạch có mức độ tích hợp cao để có thể hợp nhất nhiều chức năng trên một chip. Ở máy tính PC thường có một bộ phát/nhận không đồng bộ vạn năng (gọi tắt là UART: Universal Asnchronous Receiver/ Transmitter) để điều khiển sự trao đổi thông tin giữa máy tính và các thiết bị ngoại vi. Phổ biến nhất là vi mạch 8250 của hãng NSC hoặc các thế hệ tiếp theo. Thông thường với các yêu cầu ứng dụng tốc độ thấp người ta giao tiếp qua ngõ nối tiếp, nó giao tiếp theo tiêu chuẩn RS232C và dùng để giao tiếp giữa máy tính với Modem hoặc Mouse. Ngoài ra cũng có thể dùng giao tiếp với printer hay plotter nhưng không thông dụng lắm bởi tốc độ truyền quá chậm. Đối với máy AT cho ta hai ngõ giao tiếp COM1 và COM2. Trong một số card I/O ta có thể có đến 4 cổng COM. Để giao tiếp nối tiếp với 2 ngõ COM này Bus hệ thống của CPU (Data Bus và Address Bus) hãng IBM sử dụng hai Chip lập trình của Intel là 8250 UART (Universal Asynchronus Receiver Transmitter). Địa chỉ theo bộ nhớ của hai Chip này là 0040:0000 cho UART của ngõ COM1 và 0040:0002 cho UART của ngõ COM2 (Địa chỉ logic do hệ điều hành chỉ định) và địa chỉ theo Port để truy xuất khi sử dụng là 3F8-3FF cho COM1 và 2F8-2FF cho COM2. Dữ liệu truyền qua cho Port COM dưới dạng nối tiếp từng Bit một,

doc91 trang | Chia sẻ: Dung Lona | Lượt xem: 1458 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Ứng dụng phần mềm Pal-El để khoan mạch in, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ch [ADDRESS] là số chỉ địa chỉ được cho ở bảng sau Giá trị Cổng 65529 Cổng ra 1 (8 bit) 65530 Cổng ra 2 (8 bit) [BITNR ] Là số dùng để phân biệt dạng bit hoặc byte 1. Dạng bit 1£ [BITNR ] £ 8 2. Dạng bit [BITNR ] = 0 [WERT] Là số tùy theo {BITNR], giá trị là thập phân từ 0 đến 255 và chuyển sang nhị phân tại ngỏ ra tương ứng. Ví dụ: Dạng bit Lệnh Cổng ra bit Trạng thá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 Dạng byte Lệnh Cổng ra Giá 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 Lệnh Arc-r hoặc Arc-l Ý nghĩa : Vẽ vòng tròn theo chiều phải hoặc trái. Cú pháp : Arc-r [r(v), [WINRELZ], [độ phân giải]; Hoặc: Cú pháp : Arc-l [r(v)], [WINKEL1], [WINKELZ], [độ phân giải]; Ứng dụng : Vẽ một cung tròn hoặc vòng tròn Giải Thích [r(v) Bán kính và tốc độ vẽ [WINKEL1] Góc bắt đầu (tính bằng độ) [WINEKEL] Góc kết thúc (tính bằng độ) Độ phân giải Độ phân giải (tính bằng độ) Ví dụ : Arc-r 10(1000), 0, 360, 5; Lệnh trên thực hiện một vòng tròn có : Chiều vẽ là bên phải Bán kính 10mm Tốc độ 1000HZ Góc bắt đầu 00 Góc kết thúc 3600 Độ phân giải 50 Ví dụ 2: Arc-l 5(5000), 180, 270, 3; Lệnh trên kết quả như sau: Chiều vẽ là bên trái Bán kính 5mm Tốc độ 5000HZ Góc bắt đầu 1800 Góc kết thúc 2700 Độ phân giải 30 Không nên chọn độ phân giải quá nhỏ vì cung tròn là kết hợp nhiều đoạn thẳng nên bị hạn chế bởi bộ nhớ của card giao tiếp. CHƯƠNG III THÔNG BÁO LỖI I _ THÔNG BÁO LỖI CỦA CHƯƠNG TRÌNH SOẠN THẢO Tập tin không có Tập tin không mở ở ngõ vào Tập tin không mở ở ngõ ra Tập tin không mở Đọc sai hoặc không thấy thư mục Ghi sai Dạng số không hợp lệ Tập tin định nghĩa sai Tràn bộ đệm Cửa sổ quá nhỏ Không thể xoá cửa sổ Cửa sổ không thể liên kết chính nó Từ quá dài so với lề Khối chưa định nghĩa Khối không có trong cửa sổ hiện hành Đánh dấu không hợp lệ Dấu đã được xác định Dấu không có trong cửa sổ hiện hành Lề không hợp lệ Không cho phép trên thiết bị là logic Không cho phép trong chế độ trực tiếp Không thể định hướng trên file chuẩn Hết bộ nhớ Số không hợp lệ Huỷ bỏ lệnh Không tìm thấy Đĩa đầy File quá lớn Dòng quá dài Tạo file sai Không thể đóng file đích Không thể đóng file nguồn Không thể tạo file.BAK File không tìm thấy Sai lưu trữ mặc định In sai Đọc file in sai Đóng file in sai Không tìm thấy file in Cho phép tối đa 2 cửa sổ Cửa sổ thứ 2 không mở Đường dẫn không hợp lệ Thiếu báo cáo độ dài Không tìm thấy cuối file Cuối file không hợp lệ Ghi vào đĩa sai Thư mục đầy Kích thước file tràn File đã mất II _ THÔNG BÁO LỖI CỦA CHƯƠNG TRÌNH DỊCH Unexpected end of file. Xuất hiện cuối file trước khi chấm dứt lệnh đang thực hiện Expected Phải kết thúc lệnh bằng dấu chấm phẩy Illegal axis entry Trong một lệnh phải có thông số của trục cần điều khiển, các thông số này không hợp lệ. ‘x’, ‘xy’, ‘xz’ or ‘xyz’ expected Quên nhập thông số cho các trục Axis alreadydefined Đã xác định số lượng trục điều khiển, nếu muốn thay đổi số trục làm việc phải áp dụng ngay từ đầu chương trình ‘mm’, ‘cm’, ‘zoll’, ‘zoll/10’ or ‘zoll/20’ expected Đơn vị không hợp lệ Missing ‘stop’, stop assumed Thiếu lệnh stop trong chương trình Input already actime Chương trình dịch đã chuyển phần đầu tiên của vùng dữ liệu cho card giao tiếp, lệnh input thứ hai không được phép. Too much nested repeats ( limit iszo) Cấu trúc chương trình có độ lồng quá sâu. Repeat without until detected Thiếu lệnh “until” kết thúc đoạn chương trình lặp. #-Command not recognized. Lệnh đặt sau ký hiệu # không đúng. Duplicate axis entry in command. Trục được xác định hai lần trong một lệnh. ‘X’, ‘y’, or ‘z’ expected Trục không hợp lệ. Interger expected Số không hợp lệ, nằm ngoài phạm vi cho phép từ –32768 đến +32767 ‘,’ expected Một lệnh có nhiều thông số, các thông số phải cách nhau bằng dấu phẩy. Positve interger expected. Số nguyên dương không hợp lệ, ra ngoài phạm vi cho phép từ 0 đến + 32767 Until without repeat Vòng lập thiếu lệnh “Repeat” Real number expected. Khoảnh cách dịch chuyển là một số thực được cho dưới dạng số mũ (0,23E3) phải phân cách bằng dấu chấm thay vì dùng dấu phẩy. Positive real number expected. Cần một số thập phân dương ‘(’ expected Tốc độ phải được ghi trong dấu ngoặc đơn, lỗi này cũng xuất hiện nếu dùng dấu phẩy ngăn cách giữa khoảng di chuyển tốc độ. ‘)’ expected Tốc độ phải được đóng lại bằng dấu ngoặc đơn, lỗi này cũng xuất hiện hiện khi dùng dấu phẩy. ‘.’ Expected Phải kết thúc lệnh stop bằng một dấu chấm thay vì dấu phẩy. Too much definitims. Quá nhều định nghĩa trong phần khai báo, số lượng tối đa là 50. Trong trường hợp phải dùng nhiều định nghĩa nên sử dụng lệnh “ #include” Definitim name expected Sau các lệnh định nghĩa ít nhất phải cho một tên của định nghĩa đó, tên có thể bao gồm ký tự, số hoặc gạch nối dưới. Illegal character for send or wait. Số cho trong lệnh thu/phát không hợp lệ. ‘” ’or unit number expected . Sau lệnh “Tell” phải cho biết số máy hoặc một chuỗi ký tự. ‘ “ ‘ expected Phải đóng chuổi ký tự bằng dấu ngoặc kép, lỗi này cũng xuất hiện khi chuổi ký tự trong lệnh “Tell” quá dài. “Wait” expected. Khi sau lệnh “Tell reference “ hoặc “ Tell star” có dấu phẩy thì phải dùng lệnh “wait” Unit entry expected Lệnh cần một thông tin về thiết bị để có thể làm việc. Command not recognized Lệnh sai, trong trường hợp dùng nhản thì phải có dấu hai chấm kết thúc. Nên lưu ý là PAL_PC phân biệt giữa chữ in và chữ thường Too much labeldefinitims Quá nhiều nhãn tối đa là 50 Positive interger between 1 and 126 expected Số phải nằm trong khoảng từ 1 đến 126. Label not found. Sử dụng nhãn không rỏ ràng. No label defintim in text. Không khai báo một nhản duy nhất ‘,’ or ‘times’ expected Vòng lặp cần dấu phẩy hoặc từ “times” để phân cách các thông số. ‘In’ or ‘out’ expected Sau lệnh “pulse sync” chỉ cho phép 2 từ khoá “in” và “out”. ‘On’, ‘off’ or ‘sync’ expected Sau lệnh “pulse” hoặc “port” chỉ có các từ khoá kể trên là hợp lệ. End of remark missing. Đã đến cuối file, mặc dầu phần đánh dấu chưa kết thúc có thể đã quên đóng ngoặc. Serial transmission error (time out in receiver) Card giao tiếp không đáp ứng có thể lỗi truyền dữ liệu Elevation must be . 0,001 Thông tin không hợp lệ File not found Không thấy tập tin, kiểm tra lại đường dẫn. Letter or ‘-‘ expected Ký tự đầu trên nhản hoặc một tên không được dùng số. Replace text exceed 250 chars. Một câu không dài quá 250 ký tự. Line exceeds 250 chars after replace of defintim. Định nghĩa trên một dòng dài hơn 250 ký tự, nếu trên một dòng dùng nhiều định nghĩa thì có thể chia thành nhiều dòng. Illegal defintim occurred Một định nghĩa được lặp lại 2 lần hoặc là trong một thay thế có chứa tên định nghĩa. ‘” ‘ or ‘<’ expected Tên tập tin sau lệnh # include phải ở trong ngoặc nhọn hoặc ngoặc kép. (”) expected. Tên tập tin phải đóng bằng ngoặc kép khi đã mở bằng ngoặc kép. ‘>’ expected Tên tập tin phải đóng bằng ngoặc nhọn khi đã mở bằng ngoặc nhọn. Include file not found on I/O error. Tập tin include đã cho không tìm thấy, kiểm tra lại tên và đường hướng dẫn. I/O error on read. Trong khi đọc tập tin gặp lổi I/O, thử đọc tập tin bằng trình soạn thảo và sau đó ghi vào đĩa. III _ THÔNG BÁO LỖI CỦA CARD GIAO TIẾP PAL-PC cộng thêm 100 để phân biệt với các lổi của chương trình dịch. Er error Dừng khẩn cấp Nhập trục sai Chưa chọn trục Cú pháp sai Hết bộ nhớ Số thông số sai Lệnh jump sai Vòng lặp sai Tốc độ không hợp lệ Không có lệnh lưu trữ Sai sót bên trong CHƯƠNG iv ỨNG DỤNG 1_ KHÁI QUÁT VỀ HỆ ĐỊNH VỊ BA CHIỀU Một hệ thống định vị ba chiều là hệ thống có khả năng điều chỉnh vị trí của một điểm trong không gian để thực hiện bằng ba tọa độ xyz. Hệ thống ta biết ở đây là một máy khoan mạch in được điều khiển theo chương trình bằng máy tính. Khi muốn khoan một lỗ mạch in thì ta nhập tọa độ xy từ bàn phím, lúc đó bàn khoan sẽ dịch chuyển theo hai chiều xy và sẽ dừng lại khi đến đúng tọa độ (xy). Sau đó mũi khoan sẽ dịch chuyển theo phương z từ trên xuống để thực hiện công việc khoan mạch in. 2_ SƠ ĐỒ KHỐI MÁY KHOAN Chương trình điều khiển máy khoan được viết trên phần mềm PAL-EP bằng các lệnh, người sử dụng nhập tọa độ vị trí các lỗ khoan từ bàn phím, các vị trí lỗ khoan sẽ được lưu trữ trên một tập tin trong đĩa, tập tin này có thể gọi lại để bổ xung, chỉnh sửa bởi hệ thống của chương trình. Sau khi đã nhập xong dữ liệu các lỗ cần khoan, người sử sụng ra lệnh cho máy khoan làm việc. Trước khi máy khoan thực hiện công việc khoan, thì chương trình sẽ tự động khoan theo thứ tự. Máy tính chỉ làm nhiệm xử lý dữ liệu theo người viết chương trình. Bộ chuyển phát điều khiển động cơ bước Động cơ x (hệ chuyển động theo trục x) Động cơ y (hệ chuyển động theo trục y) Động cơ z (hệ chuyển động theo trục z) Card giao tiếp X,Y,Z Tín hiệu hồi tiếp Máy tính 3_ CHƯƠNG TRÌNH ĐIỀU KHIỂN Chương trình điều khiển được viết bằng các lệnh, khi nhập tọa độ các lỗ khoan của tấm mạch in có kích thước xác định, hệ thống máy khoan sẽ hoạt động theo chương trình điều khiển để khoan các điểm có tọa độ nhập vào. Để điều khiển máy khoan, đầu tiên máy khoan phải được Reset về tọa độ gốc (0,0). Sau khi máy Reset về (0,0) hay đến tọa độ mong muốn làm nhiệm vụ khoan của mình. Máy tính sẽ điều khiển hệ thống khoan tuần tự theo x,y,z… Tín hiệu ra từ máy tính sẽ điều khiển cho động cơ hoạt động, ban đầu động cơ x hoạt động cho đến khi đến điểm quy định thì dừng lại, tiếp theo là động cơ y hoạt động làm cho máy khoan di chuyển theo chiều y và động cơ y sẽ dừng lại khi đến điểm quy định. Động cơ x,y dừng lại thì đến động cơ z sẽ hoạt động liền sau đó để đưa mũi khoan xuống điểm quy định. Muốn cho các động cơ xyz dừng đúng vị trí cần khoan, máy khoan cần có hệ thống phản hồi về máy tính. Máy tính sẽ nhận xung phản hồi và so sánh với tọa độ điểm cần khoan rồi mới điều khiển đường đi kết tiếp của động cơ. Trên đây là quy trình dùng khoan một lỗ, muốn khoan nhiều lỗ trên mạch in thì ta nhập tọa độ các điểm cần khoan và máy sẽ hoạt động khoan tuần tự đến điểm cuối cùng. Sau đó Reset về tọa độ gốc (0,0). 4 _ CHƯƠNG TRÌNH KHOAN VI MẠCH 40 CHÂN Trong phần khai báo cũng như tập lệnh mà ta đã biết trong chương .I và II, sau đây là phần khái báo và dùng các lệnh để khoan một vi mạch 40 châ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. PHỤ LỤC CHƯƠNG TRÌNH TRỢ GIÁO PAL-PC Chương trình trợ giáo PAL-PC là một phương tiện giúp tìm hiểu về PAL-PC: các sử dụng và hướng dẫn các bước cần thiết khi viết chương trình điều khiển. Yêu cầu về hệ thống Một máy tính IBM PC hoặc tương thích với hệ điều hành dos hoặc PC dos từ 2.1 trở lên. Có ít nhất một ổ đĩa mềm Bộ nhớ 256 kb Phương pháp bảo quản đĩa gốc Trong thực tế cho thấy rất cần phải tạo một bản sao của đĩa chương trình để đề phòng hư hỏng, các bước tạo bản sao đĩa gốc thực hiện bằng lệnh “DISKCOPY”. Đưa đĩa dos vào vào ổ A và nhập lệnh DISCOPY A: A: Trên màn hình sẽ xuất hiện thông báo Insert source diskette in drive A: Press any key when ready . . . Bây giờ đưa đĩa gốc vào ổ A và ấn phím bất kỳ trên màn hình sẽ xuất hiện một thông báo Kopie A tracks 9 sectors/track, 2 side (s) Thông báo này cho biết quá trình COPY đã bắt đầu, sau một lúc trên màn hình sẽ xuất hiện thông báo. Insert target diskette in drive A: Press any key when ready . . . Đặt đĩa chưa Format 360kb vào ổ A và ấn phím bất kỳ, trên màn hình xuất hiện thông báo Formatting while coping Thông báo này cho biết nội dung đĩa gốc đang được chuyển vào đĩa copy, sau một lúc trên màn hình sẽ xuất hiện thông báo Copy another diskette (y/n) ? Khi chọn N (No) thì sẽ kết thúc quá trình copy và trở lại dấu nhắc hệ thống. Cất đĩa gốc vào một nơi an toàn và chỉ sử dụng đĩa copy (đĩa làm việc) nếu hư hỏng thì lập lại quá trình chép nêu trên. Khởi động chương trình Các bước khởi động Nối dây cáp vào ngõ ra nối tiếp (COM) của máy tính Chuyển sang ổ A, nhập tên lernen và ấn Enter Phụ lục sử dụng PAL-PC 1.1 trong chế độ Teach-in PAL-PC 1.1 là một cải tiến của ngôn ngữ về quá trình tự động PAL-PC, trong version này có nhiều lệnh mới tương thích với card giao tiếp kế thừa toàn bộ tập lệnh card 4.0. Trong chế độ Teach-in các vị trí trên thiết bị có thể xác định và lập trình, tài lệu này được chia làm ba phần: phần một mô tả các lệnh mới trong version 1.1, phần hai ứng dụng chế độ Teach-in và phần ba là bổ sung và sửa chữa của version. Nội dung tài liệu dựa trên cơ sở card giao tiếp 4.0 có thể là card 3345 (ngõ vào dữ liệu SUBD 9 chân ) hoặc card 2240 (với đầu cắm tín hiệu vào 3 chân) và phần mềm 4.0. Các lệnh bổ sung nhằm khai thác hết khả năng của card 4.0 lệnh “movep” trong PAL-PC thay bằng lệnh “ move . . . until paulse” CÁC LỆNH MỚI Xác định số hiệu máy #GN Lệnh này thông báo cho chương trình dịch số hiệu của máy được nối với card, có hiệu lực với card từ version 3.0 trở lên. #GN 1: card giao tiếp được lập trình với máy số 1 #GN 2: card giao tiếp được lập trình với máy số 2 Dịch chuyển đến vị trí (move to) Sử dụng giống như lệnh move nhưng mỗi trục được cho biết vị trí đến khác nhau với chuyển động trong lệnh move, để hiểu rõ hơn về vị trí tuyệt đối và tương đối xin đọc thêm tài liệu hướng dẫn card giao tiếp 4.0 Dịch chuyển đến xung (movep) Đặt tính này giống lệnh dịch chuyển tương đối. Tuy nhiên, quá trình dịch chuyển sẽ dừng khi nhận xung tại ngõ vào và lệnh tiếp theo trong chương trình sẽ được thực hiện, bề rộng xung tối thiểu phải khoảng 20s và tối đa là 100s. Lưu ý khi sử dụng lệnh này, xung phải được đặt tại ngõ vào phím stop của card, khi card đang thực hiện lệnh dịch chuyển mà xung xuất hiện thì chuyển động này sẽ dừng. Đặt vị trí 0 (null) Mục đích lệnh này nhằm tạo vị trí 0 ảo cho hệ thống tương thích với các trục làm việc Reference xyz; Movto 20( ), 30( ), 15( ), 0( ); Null xyz; Dùng lệnh này cùng di chuyển về vị trí 0 của máy và vị trí tại 20, 30, 15 và vị trí 0 của chi tiết. Chuyển động tiếp theo sẽ xem tiếp vị trí này là vị trí chuẩn. Có nghĩa là cách vị trí chi tiết là 10, 20, 20 nhưng cách vị trí 0 của máy là 30, 50, 35 (sau tài liệu hướng dẫn card 4.0) và trong chế độ Teach-in, tọa độ được so tương đối với chi tiết nên chọn một vị trí duy nhất trong chương trình bằng lệnh #null. Vị trí 0 chi tiết có thể được đặt về điểm 0 của máy bằng lệnh reference, thao tác này được mô tả chi tiết trong tài liệu hướng dẫn card 4.0. Chọn thứ tự (line): Thứ tự mặc định chọn sẵn là x/y (chuyển động thẳng đến đích) nếu muốn thay đổi có thể dùng l “line” và phím sau lệnh là trục cần thay đổi thứ tự: Line xy; thứ tự x và y Line xz; thứ tự x và z Line yz; thứ tự y và z Sau khi chọn xong, thứ tự các trục sẽ có hiệu lực cho đến khi lệnh “line” được sử dụng lại một lần nửa, thứ tự mặc định khi khởi động hệ thống là xy. Lệnh này không ảnh hưởng khi các trục di chuyển về vị trí, khoảng dịch chuyển, v.v… Ví dụ 1: #limitss 200, 300, 80; Lệnh trên xác định vùng giới hạn trong chế độ Teach-in là 200mm x 300 mm x 80 mm. Ví dụ 2: #units zoll/10; #Elev 4, 4, 2; #limits 100, 100, 10; Vùng giới hạn được xác định bởi các lệnh trên là : 100 x 2,54mm (x), 100 x 2,54mm (y), 10 x 2,54mm (z) = 254mm x 254mm x 25,4mm Các giới hạn này được tạo ra nhằm hạn chế trường hợp dịch chuyển ra ngoài phạm vi cho phép của máy. Vị trí 0 của chi tiết (#0): Xác định vị trí 0 của chi tiết trong chế độ Teach-in, mỗi chương trình NC chỉ định nghĩa một lần: #null , , ; Lệnh “#null 50, 50, 10 “ đặt điểm 0 chi tiết tại tọa độ “50, 50, 10” theo đơn vị đã chọn (mm, cm, zoll . . . ). Trong chương trình NC, điểm 0 chi tiết cũng được xác định bằng lệnh “null”. Xác định tốc độ (#speed) #speed , , cho xyz #speed , cho xy #speed , cho xz #speed cho x , có đơn vị là bước/giây, các thông tư này không được dùng để thay đổi lại tốc độ dịch chuyển của chương trình NC, chúng chỉ có tác dụng khi chuyển một vị trí trong Tach-in. Định nghĩa lại (#redfine) : Để thay đổi tốc độ và các khai báo khác trong một chương trình NC không thể dùng nhiều lệnh (#define). #define ( )(2000); #define ( )(3000); Sai ! Ví dụ trên không đúng mà phải sửa lại như sau: #define ( )(2000); #redefine ( )(3000); đúng ! Lệnh “#define “ sẽ thay thế một định nghĩa đã có sẵn bằng một định nghĩa mới (trong ví dụ trên là 3000). Chế độ Teach-in Ứng dụng Teach-in Khoảng dịch chuyển không chính xác trong nhiều vấn đề của hệ thống điều khiển, để có thể hiểu và thực hiện được các chuyển động cần phải dùng đến chế độ Teach-in. Trong chế độ này người dùng có thể chỉ cho máy những gì phải làm thông qua bàn phím, các tọa độ làm việc là tọa độ tương đối tuy có lưu ý đến vị tr tương đối so với điểm 0 chi tiết, khuyết điểm điểm điển hình của chế độ này là điều khiển bắng tay. Gọi chế độ Teach-in Gọi chế độ Teach-in Bằng cách ấn phím và , ngay lần gọi đầu tiên PAL-PC sẽ đọc phần khai báo chương trình và điều chỉnh các giá trị như: Khoảng dịch chuyển, số bước vùng giới hạn cho phép… Để việc điều chỉnh được đúng, tại lần gọi này phải di chuyển các trục làm việc về vị trí 0. Trong trường hợp phần khai báo đã thay đổi thì phải ấn phím để gọi và thực hiện lại toàn bộ các cài đặt. Con trỏ soạn thảo phải nằm trên dòng sau vị trí Teach-ende, trong trường hợp trên dòng này có lệnh dịch chuyển tuyệt đối thì chế độ Teach-in sẽ bắt đầu từ vị trí này khi được gọi. Tín Hiệu Hối Tiếp Từ Teach-In Chế độ Teach-in sẽ thông báo cho chương trình NC tọa độ của con trỏ trước khi gọi Tach-in, các tín hiệu hồi tiếp từ Teach-in bao gồm: Tất cả các khai báo của chương trình dựa tr6n điểm 0 chi tiết. Khoảng cách bước đã chọn, với đơn vị là 1/10. Thì một bước tương đương với 2,54mm. Đơn vị được thay đổi bằng lệnh “#units”. Xmax, Ymax, Zmax Không di chuyển tối đa của thiết bị , Teach-in gọi giới hạn phạm vi di chuyển tại các trị số này nhằm hạn chế hư hỏng thiết bị hoặc công cụ, thay đổi các trị số này bằng lệnh “#limit”, trong phần khai báo chương trình. Để các giá trị được chính xác thì thông số điều chỉnh khoảng dịch chuyển phải đúng và tốc độ thiết bị phải giảm thấp trước khi đến khi gần các mức giới hạn. “VT”: là vận tốc trong chế độ Teach-in đơn vị là mm/sec, tốc độ có thể thay đổi bằng phím + và – Position Cho biết vị trí dịch chyển theo đơn vị đã chọn, trị số này có thể chuyển đổi từ dạng góc sang dạng thẳng. Rel.Pos Cho biết vị trí tương đối, ấn nút Enter để đặt vị trí tương đối về vị trí tương đối được dùng để đo khoảng cách. Không có tín hiệu hồi tiếp của vị trí tương đối đưa về chương trình NC mà chỉ nhập vào đây vị trí tuyệt đối. Chuyển Động Của Các Trục Các trục có thể dịch chuyển theo hai cách để đạt đến vị trí xác định. Liên Tục Với các phím chức năng từ đến để di chuyển các trục liên tục cho đến khi phím tương ứng được nhả ra, chức năng các phím được mô tả như sau: = x+ = y+ = z+ = X- = y- = z- = tăng tốc độ = giảm tốc độ Vị trí mới sẻ được hiển thị lại sau khi nhả phím điều khiển, để di chuyển chính xác phải chọn tốc độ di chuyển thấp. Chế độ này có lưu ý đến tất cả các giới hạn đã xác định. Từng Bước Thực hiện bằng các phím mũi tên, mỗi một phím sẽ dịch chuyển máy theo một hướng cố định, bước di chuyển có thể thay đổi bằng cách chỉnh Stp, xem bảng sau: = x+ = y+ . = z+ = x- = y- = Z- = Tăng bước dịch chuyển = Giảm bước dịch chuyển = Tăng tốc độ = Giảm tốc độ Lưu ý khi xử dụng các phím mũi tên trong vùng phím số thì phải tắt chức năng đánh số của các phím này (đèn num lock phải tắt). Đặt Vị Trí Khi đã đạt được vị trí cần đến, vị trí này được chuyển vào màn hình soạn thảo PAL-PC. Nếu nhấn phím thì vị trí này sẽ được hiển thị ở dòng tiếp theo sau con trỏ. Aán phím chức năng để thực hiện chuyển động kế tiếp. Chấm Dứt Chế Độ Teach-In Để chấm dứt chế độ Teach-in phải ấn phím , vị trí vừa đến sẽ không được chuyển vào PAL-PC. Trong lần gọi Teach-in tiêp theo chương trình NC sẽ hiển thị vị trí hiện hành của thiết bị. Các Chức Năng Của Chế Độ Teach-In Chức năng dịch chuyển (move) . Trong menu này cho phép thực hiện từng chuyển động riêng lẻ bằng cách ấn phím. Dịch chuyển có kiểm tra (mov pos chck ) Khi các trục được dịch chuyển về vị trí chuẩn và để bảo đảm chính xác các trục lại được di chuyển một lần nữa vị trí cuối cùng và có thể kiểm tra vị trí được hiển thị xem có còn đúng hay không. Sai số phát sinh chủ yếu là do sai số của động cơ bước. Di chuyển về điểm 0 chi tiết (Mov floatzro) Để trở về điểm 0 chi tiết, trước tiên trục z phải được nâng lên để tránh hư hỏng và sau đó lại được hạ xuống. Di chuyển về giới hạn +/+ . Thiết bị được di chuyển đến giới hạn tối đa và cũng nên lưu ý chỉnh đúng gí trị này để tránh rơi vào vùng giới hạn của máy Di chuyển về giới hạn -/- . Thiết bị được di chuyển về vị trí nhỏ nhất cho phép. Di chuyển z về điểm 0 (move z-zero) . Nâng Trục Z Lên Chấm dứt di chuyển . Chấm dứt menu di chuyển. Ví dụ : {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 gọi chế độ Teach-in, di chuyển đến vị trí (20, 35, 20) và đặt vị trí với “Eilg.ok” và thực hiện chuyển độ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); Chuyển động {3} có tốc độ ( 2000, 2000, 1000), dòng lệnh {4} có tốc độ cao hơn (8000, 8000, 2000). Tốc độ dịch chuyển trong chương trình NC có thể được định nghĩa lại bằng lệnh “#Redefine”. Chức Năng Define Đặt các thông số trong chế độ Teach-in, nên chú ý có thể có một vài thông số (điểm chi tiết) có thể ngược với chuyển động hiện hành trong chương trình. Đặt Điểm 0 Chi Tiết Vị trí thực tế của thiết bị được xem như là vị trí 0 chi tiết. Lệnh này có thể cần thiết khi trong một chương trình phải làm việc với nhiều vị trí 0. Tuy nhiên, để tránh rắc rối chỉ nên định nghĩa một điểm 0 cho chương trình bằng lệnh “#null” và :null”. Arc (angle) Vị trí hiển thị được chuyển từ đơn vị độ dài sang đơn vị góc dưới dạng “góc 1, góc 2” trị số này được so tương đối với điểm 0 cuối cùng (tạo điểm 0 này bằng cách ấn phím Enter), chức na7ng này hoạt động theo kiểu ON/OFF có nghĩa là khi gọi lại lần thứ hai thì đơn vị góc lại chuyển trở lại thành đơn vị độ dài. Đặt Giới Hạn Mim (Teach Mim) Có thể đặt giới hạn này tại vị trí hiện hành Đặt Giới Hạn Max (Teach Max) Lệnh này sau lệnh Teach mim Xoá Điểm 0 Chi Tiết (Fzero Off) Điểm 0 chi tiết được đặt tại (0,0,0) đây là điểm 0 của máy nên chú ý trong chương trình d0iẩm 0 chi tiết có thể làm cho chiuyển động sai. Xoá Giới Hạn Mim (Tmim Off) Giới hạn min của Teach - in lại được đưa về điểm 0 của máy Xoá Giới Hạn Max (Tmax Off) Giới hạn max của Teach-in lại được đưa về giới hạn đã định nghĩa của máy. Đặt Giới Hạn (Limit On) Giới hạn này có thể tóm tắt bằng lệnh “Tmim off” và Tmax off”. Trong lần kế tiếp của Teach-in ()thì giới hạn này là (0,0,0). Pos.Ok (Pos High Sp) Định nghĩa hai cấp độ trong Teach-in, tốc độ làm việc (“Pos.ok.”) và một tốc độ nhanh (“Eilg.ok.). Chức năng này được thông báo trình soạn thảo Nc. Ví dụ : {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 gọi Teach-in, di chuyển đến vị trí (20, 35, 20) và đặt bằng lệnh “Pos.ok”, sau đó thực hiện lệ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); Dòng lệnh {3} và {4} có tốc độ (2000, 2000,1000) Tốc độ làm việc trong chương trình có thể được đặt lại bằng lệnh “#Redefine”. Do tốc chế độ Teach-n không chỉ kết nối với card giao tiếp mà còn với chương trình NC nên có thể sinh hai lỗi. Lổi trong phần khai báo của chương trình Nc. Chế độ Teach-in có không hoạt động nếu trong phần khai báo của chương trình có lỗi, Teach-in sẽ thông báo trong một cửa sổ lúc này phải ấn phím , để về trình soạn thảo NC,vị trí có lỗi trong phần khai báo được đánh dấu, sau khi sửa gọi lại Teach-in bằng phím . Lổi giao tiếp (card không hoạt động) Trong cửa sổ Teach-in không có thông báo vì card không đưa về gởi vị trí của thiết bị, thoát ra bằng phím và sau đó ấn để về trình soạn thảo NC. Để kiểm tra giao tiếp, có thể dùng chức năng tự kiểm tra của card (xem tài liệu hướng dẫn card 4.0). (!) nên nhớ rằng chương trình tự kiểm tra sẽ chấm dứt khi card ở trong trạng thái off. V _ THÔNG BÁO LỖI CỦA CHƯƠNG TRÌNH DỊCH Unexpected end of file Chương trình soạn thảo đã chấm dứt mặc dù PAL-PC còn đợi lệnh tiếp theo, có thể quên chấm dứt lời bình hoặc lệnh cuối cùng của chương trình còn thiếu thông số. ‘;’ expected Phải kết thúc lệnh bằng dấu chấm phẩy ngoại trừ lệnh “repeat” và “stop”. Illegal axis-entry Trục được chọn 2 lần hoặc không phù hợp với card giao tiếp. ‘x’, ‘xy’, ‘xz’ hoặc ‘xyz’ expected. Trục không đúng Ví dụ : “#axis yz” Axis already defined. Lệnh chọn trục phải là lệnh đầu tiên, thứ tự sau đây là không hợp lệ. #Elev 4, 4, 4; #Axis xy; ‘mm’, ‘cm’, ‘zoll’, ‘zool/10’ hoặc ‘zoll/20’ expected. Sau lệnh #units các thông số trên là hợp lệ, có thể thay “zoll” bằng “inch” Missing ‘stop’, stop assumed. Thiếu lệnh stop trong chương trình Input already active. Đã có lệnh #input Too much nested repeats (limit is zo). Kiểm tra độ lồng của vòng lặp có thể quá khả năng cho phép của card, tối đa khoảng 15 đối với card 4.0. Repeat without until detected. Số lượng “repeat” nhiều hơn “until”, kiểm tra lại từng vòng lặp Repeat Repeat Move . . . . Until Move. . . . . Until #-command not recognized. Lệnh không đúng, nên lưu ý chữ in và chữ thường Duplicate axis entry in command. Trục được định nghĩa nhiều lần Ví dụ : “#axis xxz” ‘x’, ‘y’ hoặc ‘z’ expected. Mỗi trục phải được định nghĩa bằng một ký tự x, y và z Integer expected. Số không hợp lệ, phạm vi cho phép từ 0 đến 32767 Ví dụ : “20” là sai. ‘,’ expected. Phải phân cách bằng dấu phẩy Positive integer expected. Tại vị trí này chỉ cho phép số dương Until without repeat. “Until” nhiều hơn Repeat Real number expected. Số thập phân phải phân cách bằng dấu chấm phẩy Positive real number expected. Phải là số dương Missing “#input”. Thiếu input ‘(‘ expected. Tốc độ phải đặt trong dấu ngoặc đơn ‘)’ expected. Tốc độ phải đặt trong dấu ngoặc đơn ‘.’ Expected. Phải kết thúc lệnh stop bằng dấu chấm Too much definitions. Có quá nhiều định nghĩa Definiton name expected. Một định nghĩa phải có ít nhất một tên “#define ;” là không hợp lệ, dấu chấm phẩy không phải là tên. 26.Illegal character for send or wait (number between /. . ./ 26) expected. Ký hiệu trong lệnh send và wait phải từ 1 đến 126 ‘ “ ‘ or unit number expected. Lệnh cần một ký hiệu hoặc một số ‘ “ ‘ expected. Chương trình dịch cần ký hiệu hướng dẫn ‘wait’ expected. Lệnh wait phải ở vị trí này Until entry expected. Đơn vị phải ở vị trí này Comand not recognized. Lệnh không đúng Too much label defintion Có quá nhiều nhãn 33. Positive integer between 1 and 126 cần một vị trí từ 1 đến 126 34. Label not found Không tìm thấy nhãn No label defintion in text Không có định nhãn ‘,’ or ‘times’ expected Cần dấu phẩy hoặc từ khoá ‘times’ ‘,’ or ‘out’ expected Cần lệnh ‘in’ hoặc ‘out’ sau ‘sync’ ‘On’, ‘off’, ‘in’, ‘out or ‘sync’ expected Cần càc từ khoá kể trên cho thao tác xung End of remark missing Chương trình đã chấm dứt nhưng lời bình chưa kết thúc Serial times missing error (times out in receive) Quá trình truyền dữ liệu bị ngắt do ấn phím, dùng chức năng tự kiểm tra (mở/ tắt card giao tiếp) Elevation must be > 0,001 Khoảng di chuyển phải lớn hơn 0,001 File not found Không tìm thấy file 43. Letter or ‘-‘ expected Nhãn phải bắt đầu bằng ký tự hoặc dấu gạch ngang dưới Replace text exceed 250 char Định nghĩa dài hơn 250 ký tự Line exceed 250 char after replace of definition Dòng có chứa định nghĩa dài hơn 250 ký tự, nên đưa định nghĩa riêng trên một dòng Illegal defintion occurred Định nghĩa trùng lặp Ví dụ: “#Define stop noch nicht stop;” stop xuất hiện 2 lần ‘ “ ‘ or ‘<’ expected Phải đặt tập tin cần chèn giữa hai ngoặc nhọn hoặc dấu hướng dẫn ‘ “ ‘ expected Phải chấm dứt bằng dấu “ Ví dụ : #include “abc.tex> là sai ‘>’ expected Phải chấm dứt bằng dấu > Ví dụ : #include <abc.txt” là sai 50. Include file not found or I/O error Không đọc được file cần chèn 51. I/O error on read Lổi đọc đĩa, nên kiểm tra đĩa mềm 52. Illegal unit-no Số hiệu card không đúng, số hợp lệ từ 0 đến 9 53. ‘xy’, ‘xz’ or ‘yz’ expected Lệnh line chỉ có thể chọn ký tự “xy”, “xz” và “yz”, “line xyz” không hợp lệ và “line yx” cũng sai. 54. Positive real number expected Cần một số dương 55. No matching defintion for redefine Định nghĩa cần thay đổi không có trong chương trình, lệnh #define chỉ có thể thay đổi những định nghĩa đã được dùng 56. (‘) expected Phải đánh dấu định nghĩa muốn sửa bằng dấu “’” Ví dụ : Định nghĩa có sẵn “ #define AA, BB;” muốn sửa phải viết “#redefine ‘AACC;” là hợp lệ Các Thông Báo Lỗi Từ 149 Đến 170 Là Của Card Giao Tiếp. 149. Số không hợp lệ 150. Chuyển mạch chuẩn 151. Trục không hợp lệ 152 Không có thông số của trục 153. Cú pháp sai 154. Hết bộ nhớ 155. Số lượng thông số không đúng 156. Lệnh không đúng 161. (CR) sai 164. Tự kiểm tra bị dừng hoặc lổi kết nối 165. Xung không đúng 166. Lệnh TELL sai 167. Chờ (CR) 168. Tốc độ không đúng 169. Vòng lặp sai 170. Dừng do người sử dụng CÁC ỨNG DỤNG CỦA PHẦN MỀM CỦ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:

  • docDO145.DOC