![](/user_photo/2706_HbeT2.jpg)
Подпрограммы
Для программирования движений робота кроме основных исполнительных программ, используются подпрограммы. Имена создаваемых подпрограмм, так же как и имя исполнительной программы могут быть настраиваемым в зависимости от используемых на предприятии стандартов. Рассмотрим один из стандартов, в котором используются следующие основные подпрограммы.
UP -подпрограмма, не может быть запущена самостоятельно, но также как и исполнительная программа может использовать инструкции перемещения и т.д.
MAKRO – подпрограмма, которая не может быть запущена самостоятельно, и не может использовать инструкции перемещения.
Создание имени подпрограммы
Для задания имени, создаваемой программы необходимо выполнить следующую последовательность действий.
Нажать на пульте управления SELECTF2 (CREATE)
В результате появиться окно написания программы (Рис.9).
Рис.9. Окно написания программы.
С помощью функциональных клавиш F1 – F5 ввести имя создаваемой программы
Например, если нажатьF2 - UP то в имени программы появиться тип создаваемой подпрограммы (Рис.10).
Рис.10. Создание подпрограммы
Затем в меню Alphainput выбрать:
uppercase (заглавные символы),
lowercase(строчные символы).
И с помощью клавиш F1 – F5 набрать комментарий.
Набрать цифры можно непосредственно набирая на клавиатуре.
Если нажать Options, то появиться клавиатура. (Рис.11)
Рис.11. Клавиатура.
На которой можно непосредственно ввести имя подпрограммы.
Введем, например 070 и нажмем ENTER. В результате введем имя подпрограммы UP070, как показано на (Рис.12).
Рис.12. Ввод имени подпрограммы
Для ввода кода подпрограммы необходимо нажать ENTER. В результате появиться соответствующее окно (рис.13).
Рис.13. Окно ввода кода подпрограммы.
Рассмотрим примеры правильных\неправильных имен подпрограмм:
Правильные имена программ:
UP001, UP999.
Неправильные имена программ:
UPA, UPA1, UP1A.
Рассмотрим пример подпрограммы рисования линии определенной длины.
Добавление кода
В общем случае задание систем координат в подпрограмме не обязательно, поскольку, как было указано выше, подпрограмма не может быть запущена самостоятельно, а только посредством основной программы. В свою очередь задание систем координат в основной программе обязательно, которые являются глобальными (сточки зрения программирования), то есть по умолчанию подпрограмма должна использовать заданные системы координат. Однако рекомендуется задание систем координат в подпрограммах поскольку:
Случай 1: если в подпрограмме присутствуют инструкции перемещения, не использующие позиционных регистров, то данные инструкции могут быть не выполнены (ошибка Invaliduframenum), в случае если координаты их точек записаны в системе координат отличной от той, что определены в основной программе.
Случай 2: если в подпрограмме присутствуют инструкции перемещения, использующие позиционные регистры, то данные инструкции могут быть выполнены не корректно, поскольку позиционные регистры не привязаны к конкретным системам координат, и хранят лишь цифровые значения.
Таким образом, при написании подпрограммы рекомендуется задавать системы координат, используемые в добавляемых системах координат.
Пример 3:
Напишем подпрограмму которая рисует горизонтальную линию длиной 50 мм:
Перед написанием программы в 17-й позиционный регистр записать координаты точки, отстоящей от начальной точки отрезка на 20 мм от плоскости XOY.
Добавим следующий код в подпрограмму UP070 (Рисунок 14).
Рис.14. Код подпрограммы UP070
Рассмотрим код подпрограммы:
Строка 1 – определение активной пользовательской системы координат (в данном случае ранее определенная система координат UF6, привязанная к доске)
Строка 2 – определение активной системы координат инструмента ( TCP инструмента -UT=4)
Строка 4 – двигаться TCP инструмента в PR[17], с координатами точки, отстоящей от доски на 20 мм
Строка 6 – изменить значение координаты Z позиционного регистра PR[17], сместив тем самым TCP его на поверхность XOY СК UF6
Строка 8 – двигаться в новую позицию PR[17]
Строка 10 – изменить значение координаты Х позиционного регистра PR[17]
Строка 12 – двигаться в новую позицию PR[17], нарисовав таким образом горизонтальную линию
Строка 14 – изменить значение координаты Z, т.е. отступив от XOY обратно на 20 мм.
Строка 16 – двигаться в новую позицию PR[17]
Теперь данную подпрограмму можно вызывать из программы или из других подпрограмм. Рассмотрим пример использования данной подпрограммы:
Пример 4:
Напишем программу, которая рисует на плоскости XOY пунктирную линию:
1: UFRAME_NUM=6 ;//определение активной пользовательской системы координат
2: UTOOL_NUM=4 ;//определение активной системы координат инструмента
3: R[100]=0 ;// регистр, выполняющий роль счетчика
4: LBL[1] ;// метка LBL[1], начало цикла
5: CALLUP070 ;// вызов подпрограммы UP070
6: PR[17, 1] = PR[17,1] + 10 ;// смещение начальной точки по оси X на 10 мм
7: R[100] = R[100] + 1 ;// прибавление к регистру-счетчику единицы
7: IF (R[100] <10), JMP_LBL[1] ;// условный переход к началу цикла (метка LBL[1])
Данная программа 10 раз вызовет UP070, причем каждый раз после вызова смещая позиционный регистр 17 по координате X на 10. Таким образом будет нарисована пунктирная линия.
Блок-схема работы программы представлена на рисунке 15.
Рис.15. Блок-схема работы программы