1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

điều khiển máy khoan bằng máy tính điện tử, chương 11 pps

19 277 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 119,11 KB

Nội dung

SƠ LƯỢCPhần chương trình chứa các lệnh điều khiển sẽ được chuyển vào card giao tiếp và lưu trữ tại đây.. Với chương trình quá lớn có thể vượt quá dung lượng của card giao tiếp, trong trư

Trang 1

Chương 11:

TẬP LỆNH

SƠ LƯỢC

1 Tập lệnh

2 Lệnh “Label”

3 Lệnh “move”

4 Lệnh “moveto”

5 Lệnh “movep”

6 Lệnh “Send”

7 Lệnh “wait”

8 Lệnh “loop”

9 Lệnh “port” và “pulse”

10 Lệnh “reference”

11 Lệnh “tell”

12 Lệnh “Stop”

13 Lệnh “line”

14 Lệnh “repeat until”

15 Lệnh “go to”

16 Lệnh “null”

17 Lệnh “on-key”

18 Lệnh “on-port”

19 Lệnh “st-port”

20 Lệnh “arc-r” hoặc :arc-l”

Trang 2

SƠ LƯỢC

Phần chương trình chứa các lệnh điều khiển sẽ được chuyển vào card giao tiếp và lưu trữ tại đây

Với chương trình quá lớn có thể vượt quá dung lượng của card giao tiếp, trong trường hợp này phải giải quyết bằng cách chia quá trình thực hiện thành nhiều bước, sau đó nạp vào card và thực hiện tuần tự

I _ TẬP LỆNH

1 Lệnh “Label”

- Ý nghĩa : Đặt nhản

- Cú pháp : [label].

- Ứng dụng : Một vài lệnh phân nhánh (nhảy), vị trí nhảy

được cho

tương đối và chỉ bắt đầu bằng một số

Ví dụ:

“goto-5” lệnh này nhảy luôn về lệnh thứ 5 Nhưng lệnh như thế này rất dề nhằm lẩn Do đó PAL-PC cho phép đặt vị trí nhảy bằng lệnh dưới dạng văn bản

Giải Thích

[Label] : Nhản bao gồm ký tự, ký số và dấu gạch dưới không được phép bắt đầu bằng ký số và kết thúc nhản bằng dấu hai chấm

Ví dụ:

- Các nhản hợp lệ

ANFANG:

prog-bokren:

anfang-zwitns:

Trang 3

Nhãn ANFANG “và” anfang” được chương trình xem là khác nhau vì PAL-PC phân biệt chữ in và chữ thường

- Các nhãn không hợp lệ :

124: không cho phép dùng ký số làm nhản

1.Unterprog: Có dấu chấm “.” Và bắt đầu bằng một số PROG FRAESEN : Có khoảng trắng

Trong chương trình, nhản được dùng cho các lệnh nhảy

2 Lệnh “MOVE”

- Ý nghĩa : Di chuyển tương đối.

- Cú pháp : MOVE [x1 (xv)], [y1(v)], [z11 (zv1)], [z12(zv2)]

- Ứng dụng : Đây là lệnh cơ bản nhất dùng để di chuyển trục làm

việc

Giải Thích

[x1(xv)] : Khoảng dịch chuyển và tốc độ của trục x

[y1(yv)] : Khoảng dịch chuyển và tốc độ của trục y

[z11(zv1)] : Khoảng dịch chuyển và tốc độ lần 1 của trục z [z12(zv2)] : Khoảng dịch chuyển và tốc độ lần thứ 2 của trục z

Phải cho biết khoảng dịch chuyển và tốc độ dịch chuyển của từng trục, tốc độ được đặt trong dấu hoặc đơn sau khoảng dịch chuyển Các trị số được phân cách bằng dấu phẩy và chấm dứt lệnh bằng dấu chấm phẩy

Riêng đối với trục z có hai thông số vì quá trình dịch chuyển của trục này thường là lên và xuống

Phần thập phân của khoảng dịch chuyển được phân cách bằng dấu chấm, tốc độ phải là một số  21

Ví dụ:

Trang 4

MOVE 2(2000); {Di chuyển trục x} MOVE 2(2000), 2(3000); {Di chuyển trục xy} MOVE 20(900), 30(1000), -30(100); {Di chuyển trục xz} MOVE 2(100), 2(100), 2.8)200), -2(100);

{Di chuyển trục xyz}

Lưu ý rằng PAL-PC có thể kiểm tra phạm vi di chuyển cho phép của máy

Quá trình dịch chuyển luôn luôn bắt đầu theo thứ tự với trục

xy sau đó đến thông số thứ nhất của trục z và cuối cùng là thông số thứ nhì của trục z Thứ tự này có thể thay đổi bằng lệnh

“line”

Đối với các trục không cần di chuyển, phải đặt khoảng dịch chuyển bằng 0, tốc độ đặt trong phạm vi cho phép (21 đến 20.000)

3 Lệnh “moveto”:

- Ý nghĩa : Di chuyển đến vị trí xác định

- Cú pháp : Moveto [x1(xv)], [y1(yv)], [z11(zv1)], [z12(zv2)];

- Ứng dụng : Cũng giống như lệnh move, tuy nhiên lệnh này có tác dụng di chuyển các trục đến một vị trí xuất phát xác định

Giải Thích

[x1 (xv)] : Khoảng dịch chuyển và tốc độ của trục x

[y1 ( (v)] : Khoảng dịch chuyển và tốc độ của trục y

[z11 (zv1)] : Khoảng dịch chuyển và tốc độ lần 1 của trục z [z12(zv2)] : Khoảng dịch chuyển và tốc độ lần thứ 2của trục z

Trang 5

Để hiểu rỏ hơn về khái niệm vị trí tương đối và tuyệt đối đề nghị xem thêm tài liệu hướng dẫn card giao tiếp 4.0

4 Lệnh movep:

- Ý nghĩa : Dịch chuyển theo xung

- Cú pháp : MOVE [x1(xv)], [y1(yv)], [z11(zv1)], [z12(zv2)];

- Ứng dụng : Giống như lệnh move, tuy nhiện quá trình dịch

chuyển

sẽ dừng khi xuất hiện xung ở ngõ vào và lệnh tiếp theo sẽ được thực hiện

Giải Thích

[x1 (xv)] : Khoảng dịch chuyển và tốc độ của trục x

[y1 ( (v)] : Khoảng dịch chuyển và tốc độ của trục y

[z11 (zv1)] : Khoảng dịch chuyển và tốc độ lần 1 của trục z [z12(zv2)] : Khoảng dịch chuyển và tốc độ lần thứ 2của trục z

Xung vào phải có một bề rộng tối thiểu và khoảng cách 20s và tối đa là 100s, xung này được đưa đến ngõ vào stop của card giao tiếp, trong trường hợp xung quá rộng thì sai lệch movep nên thêm một lệnh trì hoãn

5 Lệnh send:

- Ý nghĩa : Phát ký hiệu đồng bộ

- Cú pháp : Send [zahl];

- Ứng dụng : Để tạo khả năng đồng bộ giữa hai card giao tiếp hoặc với máy tính thì phải gởi đi ký hiệu đồng bộ tại một vị trí xác định trong vùng dữ liệu

 Giải Thích

[Zahl] là số từ 33 đến 126 (MÃ ASCII)

Trang 6

Tín hiệu đồng bộ phải ở trong khoảng từ 33 đến 126, không nên dùng ký số 64 Ngay đầu chương trình nên định nghĩa các ký hiệu đồng bộ bằng lệnh #define, sau đó có thể dùng một tên cho ký hiệu đồng bộ

Ví dụ:

#define Bohren-ist-fertig 90; {ký hiệu đồng bộ bằng 90}

Send bohren-ist-fertig

6 Lệnh “wait”:

- Ý nghĩa : Ký hiệu đồng bộ

- Cú pháp : Wait [zahl], [offset];

- Ứng dụng : Đi kèm với lệnh send như đã trình

bày ở trên để chờ ký

- hiệu đồng bộ từ một card giao tiếp hoặc máy tính khác

Giải Thích

[Zahl] ký số từ 33 đến 126 (Mã ASCII)

[Offset] là một số cho biết vị trí số dòng lệnh trước hay sau hoặc một nhãn mà tại đó chương trình sẽ tiếp tục

- Card giao tiếp còn có thể thực hiện nhiều thao tác có thể tóm tắt như sau: Tiếp tục thực hiện sau khi nhận ký hiệu đồng bộ

- Card giao tiếp tự động thực hiện lệnh tiếp theo trong vùng dữ liệu khi nhận ký hiệu đồng bộ

Thực hiện tại vị trí tương đối:

Trang 7

- Card giao tiếp nhảy đến vị trí được cho biết trong dòng lệnh

Nhận ký hiệu 127

- Card giao tiếp thực hiện reset và đợi lệnh từ máy tính

Ví dụ :

Wait 90, - 5; {Đợi ký hiệu 90 và sau khi nhận nhảy lùi lại

5 dòng trong chương trình}

Wait 80, ngang;{Đợi ký hiệu 80 và nhảy về phải “ngang” sau

khi nhận được ký hiệu.}

Ví dụ 2:

Label1:

Move {Phần lổ}

Send TELL-DA; {Sẵn sàng kiểm tra}

Wait TELL-OK, weiter; {Đợi cho phép}

Move {Đặt phần không dùng (phần hư)} Goto label1; {Thử phần tiếp theo}

Weiter:

Move {Đặt phần trong máy}

Move {Tại vị trí ra}

Goto label1; {Làm lại từ đầu}

Máy tính sẽ kiểm tra các phần và thông báo cho card giao tiếp theo một yêu cầu TELL-DA, sau khi kết thúc và các phần điều tốt thì TEELL-OK + 1 sẽ được chuyển đi và card giao tiếp sẽ đặt phần này vào máy, trong các trường hợp khác máy tính sẽ phát TEIL-OK + 0 và card giao tiếp sẽ đặt các phần không xử dụng và lổ vào phần tiếp theo

7 Lệnh “loop”

Trang 8

- Ý nghĩa : Thực hiện vòng lặp

- Cú pháp : Loop [số] Times [label];

- Ứng dụng : Lặp lại các thao tác giống nhau

Giải Thích

[số] số từ 0 đến 32767, nếu bằng 0 có nghĩa là vòng lặp không chấm dứt

[Label] Lặp lại từ nhản xác định

Ví dụ 1:

Loop _1:

Move {Di chuyển }

-Loop 5 times loop_1; {Lặp lại 5 lần từ nhản “loop_1”}

Ví dụ 2:

Loop :

Move {Di chuyển }

-Loop 0 times loop_1; {Lặp lại từ nhản “loop”}

Nên dùng lệnh “Repeat” và “Until” vì dễ dùng và dịch chuyển nhanh hơn, lệnh loop còn xử dụng là do tương thích với các version cũ

8 Lệnh “Port” và “Pulse”

- Ý nghĩa : Nhập xung

- Cú pháp : Port [Trạng thái ]

- Ý nghĩa : Phát xung

- Cú pháp : Pulse [ Trạng thái ]

- Ứng dụng : Lệnh chỉ có tác dụng với tùy chọn

“Impulsesausgable” trên card giao tiếp

Trang 9

Giải Thích

[Trạng thái ] cho biết trạng thái cần có tại ngỏ ra, xem bảng sau:

Cú pháp Trạng thái

Port on; Ngỏ ra on

Port off; Ngỏ ra off

Pulse out; Phát xung 50 ms

Pulse in ; Chờ nhận xung

Pulse sync out; Phát xung, đợi xác nhận

Pulse sync in; Chờ xung, gởi xác nhận

Ngõ ra xung cũng được sử dụng cho yêu cầu đồng bộ giữa hai thiết bị (hai tùy chọn cuối cùng)

Nhiệm vụ chính của điều khiển xung là trong khi thực hiện chương trình có thể cho phép thao tác bằng tay tại một vị trí nào đó bằng cách tác động vào nút nhấn “start”, do nút “Start” được kết nối với ngỏ vào xung nên phải dùng lệnh “Pulse in”

 Ví dụ

Pulse in; {đợi tác động nút Start”}

9 Lệnh “Times” và “Delay”

- Ý nghĩa : Tạo thời gian trì hoãn

- Cú pháp : Times [zeit]; hoặc delay [zeit];

- Ứng dụng : Tạo một thời gian trì hoãn, trong khoảng thời gian này

card giao tiếp không làm gì cả

Giải Thích

[ Zeit ] Thời gian trì hoãn (phần mười của giây )

Ví dụ:

Trang 10

- Times 50; {Trì hoãn 50 giây}

- Delay 20; {Trì hoãn 2 giây}

- Thời gan trì hoãn tối đa là 3276,7 giây

10 Lệnh “Refrence”

- Ý nghĩa : Xác định vị trí chuẩn ( vị trí 0)

- Cú pháp : Refrence [Trục ];

- Ứng dụng : Rất cần thiết khi thời gian thực hiện quá dài, càng lúc càng xa vị trí chuẩn nhằm bù lại sai sót của động cơ bước, vì hệ thống tuyến tính Isel làm việc theo chế độ điều khiển vòng hở nên không có tín hiệu báo lổi hồi tiếp

Giải Thích

[ Trục ] Làm việc

Ví dụ:

Refrence xy; {Qua vị trí 0 của trục x và y}

Refrence x; {Qua vị trí 0 của trục x }

Refrence xyz; {Qua vị trí 0 cả 3 trục }

Lưu ý: Thứ tự thực hiện luôn là zyx, có nghĩa là trước tiên qua

vị trí 0 của z, sau đó y và cuối cùng là x Khi muốn thay đổi thứ tự thì phải dùng hai lệnh

Ví dụ 2:

Refrence x; {Qua vị trí 0 của trục x}

-Refrence y; {Qua vi trí 0 của trục y }

Về vị trí 0 được đúng thì trong phần khai báo phải xác định tốc độ chuẩn ( Xem mục 19 Lệnh # Ref_sped)

11 Lệnh “Tell”

- Ý nghĩa : Xuất ký hiệu điều khiển

Trang 11

- Cú pháp : Tell [GN ] [Option];

- Ứng dụng : Việc xuất tín hiệu điều khiển phụ thuộc vào quá trình hệ cơ đồng bộ, lệnh này xuất 4 ký hiệu để khởi động một card giao tiếp thứ hai hoặc cũng có thể sử dụng cho các mục đích khác

Giải Thích

[ GN ] Số hiệu máy

[Option ] Lệnh điều khiển

Ví dụ:

Tell 0 start; {Khởi động máy số 0}

Tell 0 start, wait {Khởi động máy 0 và chờ dứt} Tell 0 Refrence xyz {Về vị trí chuẩn máy 0 }

Tell 0 Refrence, wait xyz {Về vị trí 0, chờ chấm dứt}

Tốt nhất nên dùng chức năng truyền thông để kiểm tra quá trình thực hiện lệnh này

12 Lệnh “Stop”

- Ý nghĩa : Đặt điểm dừng chương trình

- Cú pháp : Stop

- Ứng dụng : Báo chấm dứt chương trình

 Ví dụ

#axit x; {chọn trục làm việc}

#units mm; {chọn đơn vị mm}

Refrence x; {Về vị trí 0 của trục x}

Move 100(8000); {di chuyển trục x 100mm}

Stop

Mỗi một chương trình phải có lệnh stop và phải kết thúc bằng dấu chấm phẩy

Trang 12

13 Lệnh “Line”

- Ýù nghĩa : Xác định thứ tự

- Cú pháp : Line [ Trục ]

- Ứng dụng : Thứ tự mặc định là x/y, lệnh này dùng để thay đổi thứ tự nếu cần

Giải Thích

[ Trục ] cần thay đổi thứ tự

Ví dụ:

Line xy; {Thứ tự xy}

Line xz; {Thứ tự xz}

Line yz; Thứ tự yz}

Lệnh vẫn còn hiệu lực trong chương trình cho đến khi được thay đổi lại bằng lệnh “Line” Khi khởi động thứ tự mặc định sẻ là xy

Lệnh không ảnh hưởng khi trục quay về vị trí 0, thứ tự này là xyz

14 Lệnh Repeat until

- Ý nghĩa Thực hiện vòng lặp

- Cú pháp Repeat

-until[số ]

- Ứng dụng Thực hiện lặp lại một đoạn chương trình bắt đầu

từ vị trí “repeat” cho đến “’until”

Giải Thích

[ số ] số lần lặp lại, nếu bằng không thì quá trình lặp lại

không kết thúc

Ví dụ:

Repeat {Vị trí bắt đầu lặp }

Move {Dịch chuyển }

Trang 13

Move {Dịch chuyển }

Until 7; {Lặp lại 7 lần}

Sau lệnh repeat khoảng có dâu chấm phẩy, do lệnh không có thông số nên trong vòng lặp có thể chứa một vòng lặp khác, số lượng “repeat” và “until” phụ thuộc vào bộ nhớ của card giao tiếp

Phải kết thúc lệnh “until” bằng dấu chấm phẩy

15 Lệnh “goto”

- Ý nghĩa : Rẽ nhánh (nhảy)

- Cú pháp : Goto [ đích ]

- Ứng dụng : Khi gặp lệnh nhảy, bộ đếm lệnh sẽ thay đổi giá trị và tiếp tục thực hiện tại vị trí đích

Giải Thích

[Đích ] Là ký số cho biết vị trí dòng lệnh tiếp tục ở trước hoặc sau dòng lệnh hiện hành hoặc một nhản ( số có thể ương hoặc âm) sẽ không kiểm tra nếu vị trí nhảy ở phía sau lệnh dừng của chương trình

Ví dụ:

Goto 5; {Nhảy đến lệnh thứ 5 kế tiếp}

Goto-5; {Nhảy lùi lại 5 lệnh }

Goto begin; {Nhảy đến lệnh “Begin”}

Goto end; {Nhảy đến lệnh “End”}

16 Lệnh “null”:

- Ý nghĩa : Xác định vị trí 0

- Cú pháp : Null [Trục]

- Ứng dụng : Tạo điểm 0 cho chi tiết

Giải Thích

Trang 14

[ Trục ] Chọn trục cần tạo điểm 0.

Ví dụ:

Refrence xyz;

Moveto 20( ), 30( ), 15( ), 0( );

Null xyz;

Moveto 10( ), 20( ), 20( ), 0( );

Lệnh trên cùng dịch chuyển các trục về điểm 0 của máy, điểm 0 của chi tiết đặt tại vị trí 20, 30, 15 và lệnh di chuyển tiếp theo sẽ xem vị trí này là chuẩn, khoảng cách sau khi dịch chuyển so với điểm 0 chi tiết là 10, 20, 20 hoặc so với điểm 0 của máy là 30, 50, 35

Vì trong chế độ Teach-in tọa độ tương đối được so sánh với điểm 0 chi tiết đầu tiên Do đó chỉ nên dùng một điểm 0 trong chương trình bằng lệnh #null

Điểm 0 chi tiết có thể đặt trở về vị trí điểm 0 của máy, xem thêm chi tiết trong tài liệu hướng dẫn card giao tiếp 4.0

17 Lệnh “on-key”

- Ý nghĩa : Đọc từ bàn phím

- Cú pháp : On-key [số phím ], [ nhản ]; Và

- Cú pháp : Goto [ nhản “begin”]

- Ứng dụng : Thực hiện ứng dụng thông qua việc kết nối với một đơn vị chọn chương trình Ví dụ bàn phím gồm 12 phím được nối đến đầu giao tiếp của card

Giải Thích

[ Số phím ] cho biết số của phím

[ Nhản ] nhản tương ứng với phím đã chọn

Ví dụ:

#axit x;

Trang 15

#until mm;

#elev 4;

Begin

On-key1, do_refernce;

On_key2, do_move;

On_key3, end;

Goto begin;

Do_refernce

Refernce x;

Goto begin;

Do_move:

Move 5(8000);

Goto begin;

End:

Stop.

- Nếu tác động phím F1 chương trình sẽ nhảy đến do_refernce

- Nếu tác động phím F2 chương trình sẽ nhảy đến do_move

- Nếu tác động F3 chương trình sẽ nhảy đến end và dừng luôn

18 Lệnh “On_port”

- Ý nghĩa : Đọc từ cổng vào

- Cú pháp : On-port [Address ], [Bitnr] = [wert],

[OFFSET];

- Ứng dụng : Card 4.0 đọc cổng vào và rẽ nhánh theo điều kiện

Giải Thích

[Address ] là con số cho biết địa chỉ, đối với lệnh này giá trị là 65531

Trang 16

[BITNR ] xem mục 1.1

[WERT ] Xem mục 1.1

{OFFSET ] là 1 con số hoặc nhản cho biết vị trí rẻ nhánh trong chương trình

Cổng vào được đọc theo dạng bit hoặc byte, nếu thỏa điều kiện thì thực hiện bước nhảy

Ví dụ:

1 Dạng bit

On-port 65531 = 0,3; Bit 2 = Off Nhảy tới 3 dòng On-port 65531,8 = 1, -2; Nit 8 = on Nhảy lùi 2 dòng

On-port 65531,0 = 10,3; 0000.1010 nhảy tới 3 dòng On-port 65531,0 = 0, -2; 0000.0000 Nhảy lùi lại 2 dòng On-port 65531,0 = 205, -4; 1100.1101

Nhảy lùi lại 4 dòng

19 Lệnh “Set-port”

- Ý nghĩa : Đặt cổng ra

- Cú pháp : St_port [ ADDRESS ], {BITNR ], = [WEIT};

- Ứng dụng : Card 4.0 đặt giá trị cho cổng ra

Giải Thí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

Trang 17

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ụ:

1 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

2 Dạng byte

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

20 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 độ)

Ngày đăng: 05/07/2014, 13:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w