Mô tả các kiểu dữ liệu và các câu lệnh thường được sử dụng trong ngôn ngữ MCL

Một phần của tài liệu Hệ Thống Sản Xuất Linh Hoạt FMSCIM (Trần Văn Địch) (Trang 67 - 79)

b. Mức trung bình

3.2.1.2. Mô tả các kiểu dữ liệu và các câu lệnh thường được sử dụng trong ngôn ngữ MCL

Với phạm vi đề tài này, chúng tôi chỉ giới thiệu ngắn gọn những kiểu dữ liệu và những câu lệnh thường được sử dụng trong ngôn ngữ MCL để lập trình cho các robot thực hiện các công việc nhất định theo mục đích của ngư ời sử dụng.

Các kiểu dữ liệu

Trong MCL sử dụng 3 kiểu dữ liệu thông dụng: Kiểu Integer (số nguyên), kiểu String (xâu kí tự), và kiểu Point (điểm).

Kiểu Integer : Một biến có kiểu Integer, có thể là biến địa phương hay toàn cục, có giá trị nằm trong khoảng -2147483647 đến 2147483647.

 Các toán tử dùng với kiểu Integer: ‘+’ : phép cộng

 Các toán tử so sánh dùng với kiểu Integer: ‘=’ : bằng

‘<>’: khác

‘>,<’ : lớn, bé hơn

Kiểu String : Một biến kiểu string là một xâu kí tự có độ dài tối đa là

255 kí tự, biến kiểu string cũng có thể là biến địa phương hoặc biến toàn cục.

 Các toán tử dùng với kiểu String: ‘+’ : phép cộng

 Các toán tử so sánh dùng với kiểu String: ‘=’ : bằng

‘<>’: khác

Kiểu Point : Biến Point trong ngôn ngữ MCL có thể coi giống như biến bản ghi trong các ngôn ngữ lập trình cấu trúc thông thường như Pascal. Trong phần mềm quản lí robot các vị trí làm việc của robot được xác định là vị trí của các điểm và quá trình hoạt động của robot tương ứng với việc

robot sẽ dịch chuyển từ điểm này đến điểm kia với toạ độ của các điểm đã được ghi nhớ trước. Như vậy thực chất giá trị của các biến Point ở đây là các thành phần toạ độ của một điểm đã được ghi nhớ.

Khai báo một biến Point có dạng MyPoint<X, Y, Z, pitch, roll>

Trong các chương trình lập trình cho robot thông thường ta thường sử dụng kiểu dữ liệu Point dưới dạng các mảng điểm để ghi nhớ các vị trí làm việc của robot tuỳ theo từng công việc một, mỗi công việc sẽ tương ứng với một mảng điểm riêng.

Ví dụ: Point Lathe [20] là khai báo một mảng có 20 phần tử điểm ứng với

20 vị trí làm việc của robot.

Các câu lệnh thường dùng

Lệnh ACCEL : Thay đổi gia tốc của robot Khai báo : ACCEL giá trị [trục]

Lệnh AND : Thực hiện phép logic and giữa 2 biểu thức Khai báo : (biểu thức 1) AND (biểu thức 2)

Lệnh AND thường được sử dụng kèm trong các câu lệnh if, while, repeat,nó chỉ trả về kết quả true nếu cả hai biểu thức đều đúng.

Lệnh OR : Thực hiện phép logic or giữa 2 biểu thức

Lệnh rẽ nhánh BRANCH : Chuyển điều khiển chương trình tới một nhãn cho sẵn.

Khai báo : BRANCH tên nhãn

Lệnh gọi chương trình con CALL : Chuyển điều khiển chương trình tới một chương trình con cho sẵn.

Khai báo : CALL tên chương trình con

Lệnh CASE : Câu lệnh lựa chọn các trường hợp. Khai báo :

SELECT [biểu thức lựa chọn]

CASE biểu thức 1 THEN //Các câu lệnh CASE biểu thức 2 THEN

//Các câu lệnh ...

//Các câu lệnh ]

ENDSELECT

Lệnh trễ thời gian DELAY : Dừng chương trình trong một khoảng thời gian nhất định.

Khai báo : DELAY thời gian

Thời gian ở đây được tính theo 1/100 giây

Lệnh dừng chương trình END :thường được sử dụng ở cuối một chư ơng trình chính.

Lệnh FOR : Lệnh vòng lặp thực hiện một số lệnh với số lần hữ Khai báo : FOR chỉ số bắt đầu TO chỉ số kết thúc [STEP giá trị]

//Các câu lệnh NEXT

Trong đó, giá trị sau từ khoá STEP biểu thị khoảng tăng của chỉ số sau mỗi lần lặp, mặc định là 1.

Lệnh kẹp chi tiết bằng hàm kẹp của robot GRASP

Khai báo : GRASP

Câu lệnh này thường đi kèm với lệnh nhả chi tiết ra RELEASE

Khai báo : RELEASE

Lệnh GRWIDTH : Mở hàm kẹp của robot với một độ rộng nhất định

Khai báo : GRWIDTH độ rộng

Lệnh INP : cho phép kiểm tra trạng thái của tín hiệu vào đã định. Lệnh này có thể được sử dụng kết hợp trong câu lệnh If-Then để tạo nên một câu lệnh chờ điều kiện vào.

Khai báo : INP (input)

Ví dụ :

IF INP(2) = 1 THEN CALL LoadPallet

Lệnh IF-ELSE : Được sử dụng để điều khiển rẽ nhánh chương trình Khai báo : IF biểu thức THEN

[ELSE [IF ... ] //Các câu lện

] ENDIF

Lệnh LABEL : Đánh dấu vị trí nhãn trong chương trình dùng cho câu lệnh rẽ nhánh.

Khai báo : LABEL tên nhãn Hoặc Tên nhãn :

Lệnh LMOVE : Di chuyển robot từ điểm này đến điểm kia theo một đường thẳng.

Khai báo : LMOVE điểm

Robot sẽ thực hiện việc di chuyển từ điểm hiện tại đến điểm được cho sau lệnh LMOVE theo một đường thẳng.

Lệnh PMOVE: Di chuyển robot từ điểm hiện tại đến điểm yêu cầu theo quỹ đạo ngắn nhất.

Khai báo : PMOVE điểm

Lệnh TMOVE: Di chuyển robot từ điểm hiện tại đến điểm yêu cầu theo quỹ đạo ngắn nhất và tiếp tục thực hiện chương trình mà không đợi cho đến khi robot kết thúc dịch chuyển.

Khai báo : TMOVE điểm

Lệnh MEASURE : cho phép trả về khoảng cách hiện tại giữa hai hàm kẹp của robot.

Khai báo : MEASURE ()

Lệnh này thường được sử dụng dưới dạng dist = MEASURE () sau đó so sánh dist với một giá trị yêu cầu để xem xem robot có kẹp được chi tiết hay không.

Lệnh lặp REPEAT : cho phép lặp lại một đoạn chương trình khi điều kiện kiểm tra còn đúng.

Khai báo : REPEAT //Các câu lệnh

UNTIL biểu thức

Lệnh SUB - RETURN : Bắt đầu và kết thúc một chương trình con, chuyển điều khiển chương trình về chương trình chính.

Khai báo :

SUB tên chương trình con

//

//Các câu lệnh thực hiện trong chương trình con

//

RETURN

Lệnh SPEED : Đặt tốc độ di chuyển cho robot Khai báo : SPEED giá trị tốc độ yêu cầu

Lệnh WAITI : dừng chương trình đợi một tín hiệu vào thay đổi đến một trạng thái đặt trước (On hoặc Off)

Lệnh WRITEO : Điều khiển bật tín hiệu ra đã định lên trạng thái On hoặc Off và tiếp tục thực hiện dòng lệnh tiếp theo. Tín hiệu được xuất ra duy trì trạng thái ở đầu ra cho đến khi gặp câu lệnh WRITEO tiếp theo trong chương trình.

Lệnh WHILE : Thực hiện vòng lặp với một đoạn chương trình cho đến khi điều kiện sai.

Khai báo : WHILE biểu thức

//

//Các câu lệnh //

WEND

Các lệnh XMOVE, YMOVE, ZMOVE : di chuyển theo các trục tương ứng một khoảng nhất định.

Khai báo : XMOVE khoảng cách

Các lệnh XTLMOVE, YTLMOVE, ZTLMOVE : di chuyển theo các trục trong hệ toạ độ dụng cụ tương ứng một khoảng nhất định.

3.2.1.3Các bước để lập trình một chương trình robot

Các bước lập trình sau đây cho ta một phương pháp thống nhất và hợp lý để lập bất cứ một chương trình ứng dụng của robot nào đặc biệt là những chương trình phức tạp. Sáu bước để lập trình một chương trình sau đây không chỉ giúp ta viết chương trình dễ dàng mà còn cung cấp cho người khác một hình ảnh cụ thể về ứng dụng đó.

1) Vẽ sơ đồ chung biểu diễn vị trí các robot, các thiết bị vào ra cũng như các kiểu tín hiệu vào ra của robot, vị trí phôi chi tiết.

2) Lập trình tự chung các thao tác dưới dạng là bản tóm tắt chung các bước để robot thực hiện, tuy nhiển ở bước này không cần mô tả chi tiết từng bước cụ thể robot sẽ làm gì.

3) Liệt kê danh sách các tín hiệu vào ra, danh sách này cần có tên, chức năng và kiểu tín hiệu vào ra cần thiết cho ứng

4) Lập tiến trình cụ thể của các thao tác, tiến trình này liệt kê từng bước tất cả các hoạt động hoặc các giao tiếp được tiến hành để robot thực hiện nhiệm vụ yêu cầu. Đây là sự chi tiết hoá trình tự chung của các thao tác.

5) Liệt kê danh sách các điểm, đây là các điểm cần để hoàn thành trình tự cụ thể của các thao tác, chức năng của mỗi điểm cũng cần được mô tả. Danh sách này cho phép ta dạy các điểm nhanh

chóng và tham khảo chúng sau này, mỗi khi cần kiểm tra chương trình hoăch sửa đổi.

6) Viết chương trình, đây là bước cuối cùng sau khi đã có tất cả những sườn công việc đã lập ở trên. Thường chương trình được lập bằng cách viết các câu lệnh cho mỗi bước trình tự cụ thể của các thao tác trong bước 4. Nội dung của trình tự cụ thể của các thao tác sẽ trở thành những chú thich để giải thích mỗi câu lệnh trong chương trình.

Chương 4

Hệ thống Lắp Ráp tự động trong CIm 4.1. Khái niệm về hệ thống lắp ráp tự động

Một phần của tài liệu Hệ Thống Sản Xuất Linh Hoạt FMSCIM (Trần Văn Địch) (Trang 67 - 79)

Tải bản đầy đủ (PPT)

(106 trang)