Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МВ_ЛР_РТК_0.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
25.83 Mб
Скачать

Приклад розробки проекту програми для керування роботом-маніпулятором в середовищі fst використовуючи мову stl

Для початку створимо новий проект. Надаємо входам та виходам символьні імена та абсолютні імена в підпункті Allocation List та додамо до них коментарі, як показано в таблиці 4.5. Встановлення абсолютних імен здійснюємо відповідно до фізичного з’єднання виходів контролера з електромагнітними клапанами керування

Абсолютний Символьний Коментар

операнд операнд

O0.0 Y2 поворот руки за год стрілкою

O0.1 Y1 розжим верхньої руки

O0.2 Y3 поворот руки проти год стрілки

O0.3 Y6 поворот маніпулятора за год стрілкою

O0.5 Y5 підйом маніпулятора

O0.6 Y4 опускання маніпулятора

O1.0 Y7 розжим нижньої руки

O1.1 Y9 рух руки вліво

O1.2 Y8 рух руки вправо

O1.3 Y10 виштовхування рук

O1.4 Y12 повор от маніпулятора проти год стріл

O1.5 Y11 втягнення рук

T1 витримка часу

В установках проекту вказуємо тип контролера FEC Standard. В блокноті описуємо розроблювану систему. Складаємо алгоритм роботи системи та перетворюємо його на алгоритм керуючої програми у відповідності з циклограмою роботи маніпулятора, яка наведена на рис. 4.6

По закінченню робочого циклу показаному на рис. 4.6 відбувається витримка часу для виконання решти операцій технологічного процесу (якщо такі є) і повтор циклу з його початку.

Тепер можна приступати до розробки алгоритму та написання тексту керуючої програми.

Програма на мові STL має структуру побудовану на логічних умовах «Якщо….то….інакше….», які забезпечують необхідну послідовність дій та відтворюють процес мислення людини. Наприклад, якщо об’єкт потрапляє робочу зону, то необхідно затиснути його (виштовхнути шток циліндра 1) та почати обробку (виштовхнути шток циліндра 2):

Рисунок 4.6 – Циклограма роботи маніпулятора

П – підйом рук;

O – опускання рук;

ПЛ – поворот ліворуч;

ПП – поворот праворуч;

ВР – виштовхування рук;

ВтР – втягування рук;

ЗЛ – зміщення захвата ліворуч;

ЗП – зміщення захвата праворуч;

РЛ – ротація захвата ліворуч;

РП – ротація захвата праворуч;

РВ – розжим верхнього захвату;

РН – розжим нижнього захвату;

IF DETAL ‘деталь в робочій зоні

THEN SET CYL1 ‘прижим деталі

SET CYL2 ‘обробка

Програма на мові STL крім того має крокову структуру, тобто розділена на певну кількість послідовно виконуваних груп дій, при чому кожна група починається з зарезервованого слова STEP. В першому кроці основної програми виставляють такі значення виходів, що визначають початкове положення виконавчих елементів системи.

Затримка між кроками задається за допомогою використання таймера, якому попередньо призначають необхідну величину (уставку) та під час виконання порівнюють його реальне значення з величиною уставки. При цьому поки умова рівності не виконується, біт значення таймера рівний 1, при виконанні умови – біт значення таймера встановлюється на 0. наприклад задамо затримку величиною в 1 с.:

SET T1

WITH 1s

IF N T1

THEN …

Наведемо лістинг програми керування роботом відповідно до циклограми вказаної на рис. 4.6 розробленої на мові STL:

STEP 1

IF NOP

THEN RESET Y1 'розжим верхньої руки

RESET Y2 'поворот руки за год стрілкою

RESET Y3 'поворот руки проти год стрілки

RESET Y5 'підйом маніпулятора

RESET Y6 'поворот маніпулятора за год стрілкою

RESET Y7 'розжим нижньої руки

RESET Y8 'рух руки вправо

RESET Y9 'рух руки вліво

RESET Y10 'виштовхування рук

RESET Y11 'втягнення рук

RESET Y12 'поворот маніпулятора проти год стріл

SET T1 'витримка часу

WITH 1s

STEP 2

IF N T1 'витримка часу

THEN SET Y1 'розжим верхньої руки

SET Y7 'розжим нижньої руки

SET T1 'витримка часу

WITH 0.5s

STEP 3

IF N T1 'витримка часу

THEN SET Y10 'виштовхування рук

SET Y3 'поворот руки проти год стрілки

SET Y9 'рух руки вліво

RESET Y1 'розжим верхньої руки

RESET Y7 'розжим нижньої руки

SET T1 'витримка часу

WITH 1s

STEP 4

IF N T1 'витримка часу

THEN RESET Y10 'виштовхування рук

RESET Y3 'поворот руки проти год стрілки

RESET Y9 'рух руки вліво

SET Y5 'підйом маніпулятора

SET Y2 'поворот руки за год стрілкою

SET Y8 'рух руки вправо

SET T1 'витримка часу

WITH 1s

STEP 5

IF N T1 'витримка часу

THEN SET Y6 'поворот маніпулятора за год стрілкою

RESET Y2 'поворот руки за год стрілкою

RESET Y8 'рух руки вправо

SET T1 'витримка часу

WITH 1s

STEP 6

IF N T1 'витримка часу

THEN RESET Y5 'підйом маніпулятора

RESET Y6 'поворот маніпулятора за год стрілкою

SET Y7 'розжим нижньої руки

SET Y1 'розжим верхньої руки

SET T1 'витримка часу

WITH 0.5s

STEP 7

IF N T1 'витримка часу

THEN SET Y12 'поворот маніпулятора проти год стріл

SET Y11 'втягнення рук

SET T1 'витримка часу

WITH 0.5s

STEP 8

IF N T1 'витримка часу

THEN JMP TO 1

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]