Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Языки программирования промышленных роботов
Для программирования сборки и сварки приходится разрабатывать специальные средства автоматизации, и в первую очередь языки программирования роботов. По своему уровню все существующие языки программирования роботов можно подразделить на две большие группы: 1. Проблемно ориентированные (языки объектного уровня). 2. Языки уровня манипулятора. Языки объектного уровня. Языки объектного уровня позволяют описывать задание с помощью команд, близких по своему содержанию к отдельным технологическим операциям. В этом случае указывать перемещение руки робота не требуется, что конечно же, очень удобно для технологов, не имеющих навыков обращения с роботами. Программа на объектном языке анализируется компьютером, который планирует необходимые для реализации каждой технологической операции перемещения руки робота, вычисляет узловые точки рабочих траекторий и формирует управляющие сигналы на приводы звеньев робота (например: Захватить горелку А). На практике применяются, как правило, языки уровня манипулятора. Языки уровня манипулятора.
На языке уровня манипулятора программа представляет собой последовательность команд, каждая из которых задаёт величину и направление перемещение рабочего органа: 1) поворот вокруг оси Z на 900; 2) перемещение по оси У вперёд на 275 мм; 3) перемещение по оси Z вниз на 34 мм; 4) схват зажат и т. д.) Чтобы осуществить заданные в такой программе манипуляции, роботу не требуется информация о форме или размерах переносимой детали. Достаточно лишь указать координаты точек, в которых следует выполнять то или иное действие. В числе первых языков уровня манипулятора, которые стали использоваться на практике, следует назвать: VAL фирмы «Юнимэйшен» (США); SIGMA фирмы «Оливетти» (Италия); INDA международного исследовательского центра SRI. Ассемблер. Языки программирования компьютеров делятся на 2 основные группы: 1) языки низкого уровня; 2) языки высокого уровня. К языкам низкого уровня относятся языки Ассемблера. Свое название они получили от имени системной программы Ассемблер, которая преобразует исходные программы, написанные на таких языках, непосредственно в коды машинных команд. Термин " Ассемблер" произошел от английского слова assembler (сборщик частей в одно целое). Частями здесь служат операторы, а результатом сборки последовательность машинных команд. Процесс сборки называется ассемблированием. Язык Ассемблера объединяет в себе достоинства языка машинных команд и некоторые черты языков высокого уровня. Ассемблер обеспечивает возможность применения символических имен в исходной программе и избавляет программиста от утомительного труда (неизбежного при программировании на языке машинных команд) по распределению памяти компьютера для команд, переменных и констант. Ассемблер позволяет также гибко и полно использовать технические возможности компьютера, как и язык машинных команд. Транслятор исходных программ в Ассемблере проще транслятора, требующегося для языка программирования высокого уровня. На Ассемблере можно написать столь же эффективную по размеру и времени выполнения программу, как и программу на языке машинных команд. Это достоинство отсутствует у языков высокого уровня. Этот язык часто применяют для программирования систем реального времени, технологическими процессами и оборудованием, обеспечение работы информационно-измерительных комплексов. К таким системам обычно предъявляются высокие требования по объему занимаемой машинной памяти. Часто язык Ассемблера дополняется средствами формирования макрокоманд, каждая из которых эквивалентна целой группе машинных команд. Такой язык называют языком макроассемблера. Применение мак " строительных" блоков и приближает язык Ассемблера к языку высокого уровня. Ассемблер машинно-зависимый язык, т. е. он отражает особенности архитектуры конкретного типа компьютера. Исходная программа, написанная на ассемблере, состоит из одного или нескольких исходных модулей, а каждый модуль – из операторов. Assembler – (Ассемблер) Ассемблер – служебная программа, преобразуемая исходную программу, написанную на языке мнемокодов и символических адресов, в программу в двоичных кодах (объектную программу). В процессе ассемблирования формируется список синтаксических ошибок, содержащихся в исходной программе, и выполняется распечатка исходной и объектной версий программы. Ассемблирование - Мнемокод – слово или последовательность букв, заменяющая полное слово или фразу, удобную для запоминания. Алгоритм – упорядоченный набор действий для решения задач с конечным числом операций, приводящий к детерминирующему (определяющему) ответу. Интерфейс – устройства, управляющие потоками и форматами данных между микропроцессором и внешними устройствами. Листинг программы управления механизмом горизонтального перемещения вдоль оси Y Команды Одноадресные команды:
Двухадресные команды
Команды ветвления
Алгоритм организации работы приводов механизмов перемещения по координатным осям должен включать подсчёт количества импульсов фотодатчиком и сравнение их с заданной величиной: Общее перемещение 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 – ячейка.
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; Просмотров: 947; Нарушение авторского права страницы