Языки программирования промышленных роботов
Для программирования сборки и сварки приходится разрабатывать специальные средства автоматизации, и в первую очередь языки программирования роботов.
По своему уровню все существующие языки программирования роботов можно подразделить на две большие группы:
1. Проблемно ориентированные (языки объектного уровня).
2. Языки уровня манипулятора.
Языки объектного уровня.
Языки объектного уровня позволяют описывать задание с помощью команд, близких по своему содержанию к отдельным технологическим операциям. В этом случае указывать перемещение руки робота не требуется, что конечно же, очень удобно для технологов, не имеющих навыков обращения с роботами. Программа на объектном языке анализируется компьютером, который планирует необходимые для реализации каждой технологической операции перемещения руки робота, вычисляет узловые точки рабочих траекторий и формирует управляющие сигналы на приводы звеньев робота (например: Захватить горелку А).
На практике применяются, как правило, языки уровня манипулятора.
Языки уровня манипулятора.
На языке уровня манипулятора программа представляет собой последовательность команд, каждая из которых задаёт величину и направление перемещение рабочего органа:
1) поворот вокруг оси Z на 90 0;
2) перемещение по оси У вперёд на 275 мм;
3) перемещение по оси Z вниз на 34 мм;
Чтобы осуществить заданные в такой программе манипуляции, роботу не требуется информация о форме или размерах переносимой детали. Достаточно лишь указать координаты точек, в которых следует выполнять то или иное действие.
В числе первых языков уровня манипулятора, которые стали использоваться на практике, следует назвать:
VAL фирмы «Юнимэйшен» (США);
SIGMA фирмы «Оливетти» (Италия);
INDA международного исследовательского центра SRI.
Языки программирования компьютеров делятся на 2 основные группы:
К языкам низкого уровня относятся языки Ассемблера. Свое название они получили от имени системной программы Ассемблер, которая преобразует исходные программы, написанные на таких языках, непосредственно в коды машинных команд. Термин » Ассемблер» произошел от английского слова assembler (сборщик частей в одно целое). Частями здесь служат операторы, а результатом сборки последовательность машинных команд. Процесс сборки называется ассемблированием.
Язык Ассемблера объединяет в себе достоинства языка машинных команд и некоторые черты языков высокого уровня. Ассемблер обеспечивает возможность применения символических имен в исходной программе и избавляет программиста от утомительного труда (неизбежного при программировании на языке машинных команд) по распределению памяти компьютера для команд, переменных и констант.
Ассемблер позволяет также гибко и полно использовать технические возможности компьютера, как и язык машинных команд. Транслятор исходных программ в Ассемблере проще транслятора, требующегося для языка программирования высокого уровня. На Ассемблере можно написать столь же эффективную по размеру и времени выполнения программу, как и программу на языке машинных команд. Это достоинство отсутствует у языков высокого уровня. Этот язык часто применяют для программирования систем реального времени, технологическими процессами и оборудованием, обеспечение работы информационно-измерительных комплексов. К таким системам обычно предъявляются высокие требования по объему занимаемой машинной памяти. Часто язык Ассемблера дополняется средствами формирования макрокоманд, каждая из которых эквивалентна целой группе машинных команд. Такой язык называют языком макроассемблера. Применение мак » строительных» блоков и приближает язык Ассемблера к языку высокого уровня.
Ассемблер машинно-зависимый язык, т. е. он отражает особенности архитектуры конкретного типа компьютера. Исходная программа, написанная на ассемблере, состоит из одного или нескольких исходных модулей, а каждый модуль – из операторов.
Assembler – (Ассемблер)
Ассемблер – служебная программа, преобразуемая исходную программу, написанную на языке мнемокодов и символических адресов, в программу в двоичных кодах (объектную программу). В процессе ассемблирования формируется список синтаксических ошибок, содержащихся в исходной программе, и выполняется распечатка исходной и объектной версий программы.
Ассемблирование —
Мнемокод – слово или последовательность букв, заменяющая полное слово или фразу, удобную для запоминания.
Алгоритм – упорядоченный набор действий для решения задач с конечным числом операций, приводящий к детерминирующему (определяющему) ответу.
Интерфейс – устройства, управляющие потоками и форматами данных между микропроцессором и внешними устройствами.
Листинг программы управления механизмом горизонтального перемещения вдоль оси Y
Одноадресные команды:
Мнемоника | CLR | INC |
Команда | CLEAR | INCREASE |
Произношение | КЛИЭ | ИНКРИЗ |
Назначение | ОЧИСТКА | ПРИБАВЛЕНИЕ ЕДИНИЦЫ |
Код | 0050 DD | 0052 DD |
Двухадресные команды
Мнемоника | MOV | CMP | BIT |
Команда | MOVE | COMPARE | BIT TEST |
Произношение | МУВ | КЭМПЭА | БИТ ТЕСТ |
Назначение | ПЕРЕСЫЛКА | СРАВНЕНИЕ | ПРОВЕРКА РАЗРЯДОВ |
Код | 01SSDD | 02SSDD | 03SSDD |
Команды ветвления
Мнемоника | BEQ | BNE | BLT | BGT | BLE | BGE | BR |
Команда | Branch if equal | Branch if not equal | Branch if less than | Branch if greater than | Branch if less or equal | Branch if greater than or equal | Branch |
Произношение | Бреньчь иф иквэл | Бреньчь иф нот иквэл | Бреньчь иф лиз вэн | Бреньчь иф грит вэн | Бреньчь иф лиз ор иквэл | Бреньчь иф грит вэн ор иквэл | Бреньчь |
Назначение | если = 0 | если ≠ 0 | если < 0 | если > 0 | если ≤ 0 | если ≥ 0 | ветвление безусловное |
Код | 001400+см | 001000+см | 002400+см | 003000+см | 003400+см | 002000+см | 000400+см |
Алгоритм организации работы приводов механизмов перемещения по координатным осям должен включать подсчёт количества импульсов фотодатчиком и сравнение их с заданной величиной: Общее перемещение L = dl 0 * I, где L — перемещение в мм, dl 0 — дискретность счётного датчика, i — число импульсов датчика.
MOV #40, @#167772
M1: BIT #20, @#167764
M2: BIT #20, @#167764
Коды: 27 – число; 37 – ячейка.
MOV | CLR | BIT | BEQ | BNE | INC | CMP | BLT |
01SSDD | 0050DD | 03SSDD | 001774 | 001374 | 0052DD | 02SSDD | 0027 СМ |
SS – 6 разрядный код источника;
DD – 6 разрядный код приёмника;
СМ – смещение: 65 – при перемещении,
74, 70 – при задержке.
Подпрограммы задержки могут быть организованы по многоступенчатому циклу, например:
. MACRO PAUSE
Время задержки составляет 100008 *1448 =14400008=40860010*9*10 -6 =3, 677 сек.
Управление роботом осуществляется путём записи в ячейки с номерами 167762 и 167772 соответствующих чисел при этом робот выполняет следующие движения:
Ячейка 167772
Перемещение по осям Х и У, работа чёрного и жёлтого захватов.
Ячейка 167762
Перемещение по оси Z, поворот вокруг вертикальной оси, ротация захватов, работа вращателя и сварочной горелки.
Последнее изменение этой страницы: 2019-03-29; Просмотров: 786; Нарушение авторского права страницы
lektsia.com 2007 — 2023 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.027 с.)
Главная | Случайная страница | Обратная связь