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,
91 trang |
Chia sẻ: Dung Lona | Lượt xem: 1458 | Lượt tải: 0
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:
- DO145.DOC