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

В программе TRAY. TO. В инструкция DELAY (выдержка времени) предписывает роботу выждать 10 с, пока оператор или автоматизированная система не подадут новый поддон с деталями. Инструкция DELAY отличается от инструкции PAUSE, которая предписывает ожидание роботу до тех пор, пока оператор с клавиатуры не напечатает PROCEED (продолжать). Ввод с клавиатуры требует много времени, и его нецелесообразно применять каждый раз, когда требуется новый поддон. При помощи инструкции DELAY период 10 с может быть достаточно увеличен, чтобы установить поддон, однако, если время ожидания слишком велико, время расходуется непроизводительно и при использовании этой функции. Поскольку время смены поддона может несколько меняться, время ожидания лучше устанавливать с запасом. Однако это не самое лучшее решение, потому что время, напрасно потраченное во время простоя робота, когда поддон уже заменен, может решительным образом повлиять на оценку экономической целесообразности внедрения робота. Целесообразно использовать датчик, который автоматически информирует робот об установке поддона. Кроме того, робот может выдавать сигнал о том, что он закончил разгрузку поддона и готов разгружать следующий, что заставит немедленно сработать систему, подающую ему детали. В этом случае можно не только обойтись без произвольной паузы 10 с, но и отказаться от инструкции TYPE (печать). Роботу, может быть, придется ожидать нового поддона, но он сможет начать работать, как только поддон будет установлен. Напишем новую программу на языке ВАЛ под названием BEST (самая лучшая), поскольку на этом изучение языка ВАЛ заканчивается.


ПрограммаBEST

(Первые 12 команд идентичны первым 12 командам программы TRAY. TO. В.)

IF NBR LT 30 THEN 85 (то же, что и ранее)

SIGNAL 1              (подать сигнал на выходные зажимы № 1, чтобы информировать систему подачи поддонов о готовности робота разгружать новый поддон)

WAIT 1                 (ожидать появление входного сигнала на входных зажимах № 1, что должно свидетельствовать об установке нового поддона и его готовности к разгрузке)

SIGNAL —1            (снять сигнал готовности робота, как только робот начинает разгружать новый поддон)

GO TO 95             (аналогично предыдущей программе TRAY. TO. В)

Входной сигнал от робота или входной сигнал, подаваемый на вход робота, может быть двух уровней: высокого или низкого. Это говорит о том, что сигналы являются переменными логических схем на постоянном токе, что будет рассмотрено в гл. 10—12. Инструкция SIGNAL на языке ВАЛ дает возможность подать сигналы высокого или низкого уровня на столько входных и выходных каналов, сколько требуется. Знак при номере входного или выходного канала означает уровень подаваемого сигнала. Например:

SIGNAL 6, —3, 5

предписывает роботу одновременно включить выходной канал 6 (высокий уровень сигнала), выключить выходной канал 3 (низкий уровень) и включить выходной канал 5 (высокий уровень).

Инструкция WAIT может задействовать только один входной канал и заставляет робот приостановить дальнейшее выполнение программы до тех пор, пока на указанном входе появится сигнал требуемого уровня. Например, инструкция WAIT-3 предписывает роботу ожидать, пока уровень сигнала на канале 3 станет низким, и затем перейти к следующей инструкции. Инструкция WAIT-2 предписывает роботу ожидать, пока уровень сигнала на канале 2 станет высоким, и затем перейти к следующей инструкции.

В программе BEST на языке ВАЛ показано, что робот может связываться с внешним миром при помощи инструкций SIGNAL и WAIT. Имеются и другие инструкции, позволяющие роботу быстрее реагировать на внешние воздействия. Инструкция REACT 1—2, DANGER, ALWAYS предписывает роботу немедленно прервать выполнение любых действий, как только уровень сигнала на канале 2 становится низким, и сразу же перейти к выполнению подпрограммы DANGER (опасность). Целью при этом может быть, например, остановка робота, если датчик зарегистрирует нарушение человеком или предметом границ рабочей зоны. Принципиальное различие между инструкциями WAIT и REACT заключается в следующем. Если программист использует инструкцию WAIT, робот будет неподвижен, пока он «ожидает» подачи на вход сигнала высокого (+) или низкого (—) уровня в зависимости от того, что запрограммировано. Если указана инструкция REACT, робот будет продолжать выполнение последовательности инструкций, пока удовлетворяются указанные условия на входе. Робот ожидает создания определенных условий на входе, которые действительно прервут его работу, или программист не отменит инструкцию REACT соответствующей инструкцией IGNORE. Отношения между REACT и IGNORE проиллюстрированы ниже.