0
Tải bản đầy đủ (.pdf) (101 trang)

TẬP LỆNH 1 Lệnh “Label”

Một phần của tài liệu NGUYÊN LÝ HOẠT ĐỘNG VÀ CẤU TẠO CỦA HỆ THỐNG ĐIỀU KHIỂN MÁY KHOAN BẰNG VI TÍNH (Trang 53 -53 )

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:

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

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

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

C

[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

Để 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ì hỗ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)

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

. . .

C

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

- 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}

C

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”

- Ý 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

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

C

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ì hỗn.

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

- Ứng dụng : Tạo một thời gian trì hỗ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ì hỗn (phần mười của giây ).  Ví dụ:

- Times 50; {Trì hỗn 50 giây} - Delay 20; {Trì hỗn 2 giây}

- Thời gan trì hỗ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ụ:

C

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

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.

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 . . . } Move . . . {Dịch chuyển . . . } Until 7; {Lặp lại 7 lần}

C

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 [ 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

C

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; #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.

C

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. [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

Lệnh Giá trị Nhảy

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

2. Dạng Byte

Lệnh Giá trị Nhảy

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 2. Dạng bit

C

[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

Một phần của tài liệu NGUYÊN LÝ HOẠT ĐỘNG VÀ CẤU TẠO CỦA HỆ THỐNG ĐIỀU KHIỂN MÁY KHOAN BẰNG VI TÍNH (Trang 53 -53 )

×