Обучение робота выполнению работ (Глава 7 книги "Роботы и автоматизация производства"), страница 10

Чтобы подготовить программу для робота на разгрузку поддона с 30 заготовками, необходимо знать расстояние между рядами и между колонками. Если эти расстояния одинаковы, программа будет значительно эффективнее. В этом примере ярко проявляется важность порядка в расстановке продукции и ее одинаковости. В планируемой упорядоченной автоматизированной системе действительные расстояния должны быть известны заранее или их можно измерить с помощью панели обучения. Примем расстояние между рядами 30 мм, а между колонками 40 мм, если измерять по серединам деталей. Тогда, если робот начинает с переднего левого угла и разгружает ряд за рядом, ему для захвата следующей детали необходимо каждый раз сдвигаться вправо на 40 мм. После окончания разгрузки каждого ряда робот должен снова вернуться налево, сдвинуться назад и начать новый ряд. Процесс продолжается до тех пор, пока поддон не опустеет. После этого робот может напечатать на экране дисплея или с помощью пишущей машинки КОНЕЦ или НОВЫЙ ПОДДОН, ПОЖАЛУЙСТА и обождать немного, позволяя оператору или автоматизированной транспортной системе заменить пустой поддон на полный. Ниже приведена соответствующая программа.

TRAY.ТО.В      (начать с угла поддона)

95 SETA-AA     (АА)

SETI NBR=0    (ввести целочисленную переменную NBR=0. Эта переменная

относится к подсчету деталей до 30 во время установки их

в позицию В) 85 GOSUB TRAY (обращение к подпрограмме с наименованием TRAY,

которая определяет сдвиг от ряда к ряду и от колонки к колонке)

APPRO A, 25

MOVE A

CLOSEI

DEPART 25

APPRO В, 25    (аналогично программе BETTER.A.TO.B.)

OPEN I

DEPART 25

SETI NBR=NBR+1                 (прибавить единицу к сумме каждый раз, когда

                                                  очередная деталь перенесена в позицию В)

IF NBR LT 30 THE 30            (если сумма NBR еще не равна 30, перейти

THEN 85                                   к строке команды, обозначенной 85, и перенести

следующую деталь)

TYPE NEW TRAY, PLEASE (если сумма NBR равна 30, разгрузка поддона

закончена, напечататьоб этом соответствующее

сообщение)

DELAY 10                                 (ожидать нового поддона в течение 10 с)

GOTO 9                                     (перейти к строке команды с обозначением 95 и

начать все сначала с новым поддоном)

Поскольку программа TRAY.TO.B содержит инструкцию GOSUB TRAY, нужно написать другую программу (точнее, подпрограмму), к которой затем следует переходить. Целью подпрограммы является сведение в единый блок последовательности команд, необходимых для того, чтобы при описанной выше расстановке деталей сдвигать руку робота на 40 мм по мере того, как она переходит от колонки к колонке в каждом ряду. Затем, закончив ряд, рука робота перемещается назад в крайнее левое положение, чтобы начать новый ряд. Направление этого перемещения вдоль оси X отрицательно, если рассматривать его в мировых координатах:

Перемещение = -40 мм * 5 колонок = -200мм. Множитель 5, а не 6 используется, поскольку руке робота не надо сдвигаться, чтобы забрать первую деталь в углу поддона. Кроме того, что рука робота возвращается вдоль ряда, для перехода в новый ряд ее надо сдвинуть на 30 мм, на этот раз вдоль оси Y.

TRAY                 (наименование подпрограммы)

IF NBR EQ 0 THEN 60 (если это первая деталь в углу поддона, не сдвигаясь, перейти к команде с обозначением 60)

IF COL EQ 6 THEN 50 (если номер колонки COL уже равен 6, ряд закончен, и можно перейти к первой колонке слева и начать новый ряд. Для этого перейти к команде с обозначением 50)

(переместиться на 40 мм по оси X. Перемещение происходит в одном ряду)

SETI COL=COL+1         (при подсчете количества пройденных колонок добавить единицу)

RETURN                   (вернуться в основной программе к команде, идущей после команды GOSUB, и взять деталь из новой смещенной позиции)

50 SHIFT A BY—200, 30 (переместиться на расстояние 5*40 мм назад по оси Х и сдвинуться на 30 мм к новому ряду)

60 SETI COL=1          приравнять целочисленную переменную COL единице, чтобы показать, что начинается новый ряд с крайней левой колонки COL 1