Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Языки программирования промышленных роботов



Для программирования сборки и сварки приходится разрабатывать специальные средства автоматизации, и в первую очередь языки программирования роботов.

По своему уровню все существующие языки программирования роботов можно подразделить на две большие группы:

1. Проблемно ориентированные (языки объектного уровня).

2. Языки уровня манипулятора.

Языки объектного уровня.

Языки объектного уровня позволяют описывать задание с помощью команд, близких по своему содержанию к отдельным технологическим операциям. В этом случае указывать перемещение руки робота не требуется, что конечно же, очень удобно для технологов, не имеющих навыков обращения с роботами. Программа на объектном языке анализируется компьютером, который планирует необходимые для реализации каждой технологической операции перемещения руки робота, вычисляет узловые точки рабочих траекторий и формирует управляющие сигналы на приводы звеньев робота (например: Захватить горелку А).

На практике применяются, как правило, языки уровня манипулятора.

Языки уровня манипулятора.

 

На языке уровня манипулятора программа представляет собой последовательность команд, каждая из которых задаёт величину и направление перемещение рабочего органа:

1) поворот вокруг оси Z на 900;

2) перемещение по оси У вперёд на 275 мм;

3) перемещение по оси Z вниз на 34 мм;

4) схват зажат и т. д.)

Чтобы осуществить заданные в такой программе манипуляции, роботу не требуется информация о форме или размерах переносимой детали. Достаточно лишь указать координаты точек, в которых следует выполнять то или иное действие.

В числе первых языков уровня манипулятора, которые стали использоваться на практике, следует назвать:

VAL фирмы «Юнимэйшен» (США);

SIGMA фирмы «Оливетти» (Италия);

INDA международного исследовательского центра SRI.

Ассемблер.

Языки программирования компьютеров делятся на 2 основные группы:

1) языки низкого уровня;

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     #., R0

CLR                  R1

MOV #40, @#167772

M1: BIT #20, @#167764

BEQ M1

M2: BIT #20, @#167764

BNE M2

INC R1

CMP R1, R0

BLT M 1

HALT

    Коды: 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

                                                                MOV #100., R0

                                                           CLR R1

                           

                                                                          M2:    : CLR R2

 

                                                       M1:   INC    R2

                                                                            CMP R2, #10000

                                                                      BLT M1

                                                                                                            INC    R1

                                                                     CMP  R1, R0

                                                                BLT M2

                                                               .END M

        

Время задержки составляет 100008 *1448 =14400008=40860010*9*10-6=3, 677 сек.


    Управление роботом осуществляется путём записи в ячейки с номерами 167762 и 167772 соответствующих чисел при этом робот выполняет следующие движения:


Ячейка 167772

    Перемещение по осям Х и У, работа чёрного и жёлтого захватов.

Ячейка 167762

    Перемещение по оси Z, поворот вокруг вертикальной оси, ротация захватов, работа вращателя и сварочной горелки.


Поделиться:



Последнее изменение этой страницы: 2019-03-29; Просмотров: 889; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.087 с.)
Главная | Случайная страница | Обратная связь