
Lập trình cho Robot trong hệ
thống CIM
Cơ sở lập trình cho robot, ngôn ngữ MCL II
Giới thiệu về ngôn ngữ MCL II
MCL (Manufacturing Control Language) là một ngôn ngữ lập trình đa chức năng
dùng trong sản xuất, đợc tạo ra và phát triển để ứng dụng cho việc lập trình các
thiết bị và các hệ thống tự động. Đây là một ngôn ngữ đợc tạo ra để hợp nhất
những yêu cầu phong phú về lập trình của ngời sử dụng ở nhiều cấp độ khác nhau
trong sản xuất công nghiệp. Với MCL ngời sử dụng có thể tạo ra
từ những chơng trình đơn giản điều khiển robot và các thiết bị phụ trợ đến những
chơng trình phức tạp để điều khiển các robot, thu thập dữ liệu, giao tiếp thông tin
và xử lí các dữ liệu đó.
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 II
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
‘-’ : phép trừ
‘*’ : phép nhân
‘/’ : phép chia
‘^’ : luỹ thừa
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]
Với giá trị ở đây là giá trị của gia tốc mà ta muốn đặt
Trục: số hiệu của 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
...

[OTHERWISE
//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 GOTO có chức năng tơng tự câu lệnh rẽ nhánh BRANCH, chuyển điều
khiển chơng trình tới một nhãn định trớc.
Khai báo : GOTO tên nhãn

