Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
173 KB
Nội dung
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 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 //Các câu lệnh [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 LTMOVE : Di chuyển robot từ điểm này đến điểm kia theo một đờng thẳng và tiếp tục chơng trình mà không đợi robot di chuyển xong. Khai báo : LTMOVE điểm 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) Khai báo : WAITI input number, giá trị Trong đó input number là số hiệu đầu vào của tín hiệu đợi, giá trị có thể là 1 (ứng với tín hiệu đầu vào On) hoặc 0 (ứng với tín hiệu đầu vào 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. Khai báo : XTLMOVE khoảng cách 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 dụng đang lập cũng nh địa chỉ I/O đối với mỗi thiết bị. Đây là bớc cho ta những mô tả chung cần thiết để lắp đặt tế bào gia cô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. [...]... 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. .. 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 . 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. trục trong hệ toạ độ dụng cụ tơng ứng một khoảng nhất định. Khai báo : XTLMOVE khoảng cách 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. 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