Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабор Пума.doc
Скачиваний:
407
Добавлен:
04.06.2015
Размер:
10.79 Mб
Скачать

Подробное описание программных команд

Здесь дается подробное описание перечисленных выше команд. Если манипулятор останавливается перед выполнением данной команды, то эта команда помечена символом *.

Программа робота представляет собой группу команд, находящуюся в ЗУ блока управления, которая управляет движениями робота и контролирует их. Программе составленной из любого числа символов, можно дать наименование. В качестве этих символов могут быть буквы A..Z, числа 0..9 и точка (.) Программы записываются в ЗУ блока управления с помощью команд редактора, после чего можно инициализировать ее выполнение с помощью мониторной директивы RUN.

ALIGN – выравнивает манипулятор по осям основной системы координат. Блок управления робота вычисляет, которая из осей основной системы координат является ближайшей к оси z инструмента робота и перемещает манипулятор в направлении этой оси. После этого оси становятся параллельны. Формат команды:

ALIGN

BASE* – сдвигает основную систему координат робота.

Формат команды:

BASE <x>,<y>,<z>, <ротация оси z>,

где: x – сдвиг основной системы координат относительно исходной основной системы координат в направлении оси X – 1024…1023,99 мм; y – то же, что и X, но в направлении оси Y; z – то же, что и X, но в направлении оси Z; ротация оси Z – ротация основной системы координат вокруг оси Z, должна быть в пределах – 180,00…+179,00.; при положительных значениях ротация происходит по часовой стрелке.

Примечание: несколько последовательных команд BASE не суммируются, а сдвиги всегда рассчитываются относительно положения исходной основной системы координат.

Примеры:

a) BASE 10, 20, ,45

сдвинет основную систему координат на 10 мм по оси X; на 20 мм по оси Y; на 0 мм по оси Z; на 45 градусов поворачивает вокруг оси Z;

б) BASE –обнуляет режим «BASE».

С – добавляется комментарий, не влияющий на работу программы. Формат команды:

C текст,

где текст – произвольная последовательность символов.

Пример: C STOP IF ERRORS

CALL – командой осуществляется переход на подпрограмму. Формат команды:

CALL программа,

где программа – название программы, которой передается управление.

Примечание: в программе, переход к которой осуществляется с помощью команды CALL, в качестве последней команды должна быть команда RETURN.

Пример: CALL PRG1 – вызывает переход к подпрограмме PRG1.

CDELAY – команда (CLOSE – DELAY) используется для того, чтобы задать задержку, требующуюся для сжатия схвата манипулятора. Формат команды:

CDELAY время,

где время – задержка, отпущенная на сжатие схвата манипулятора (0,00…328,67 сек); по умолчанию составляет 0,2 сек.

Примечание: команда CDELAY не влияет на работу команд GO&CLOSE и GOS&CLOSE.

Пример: CDELAY 0,5 – задается задержка 0,5 сек. на сжатие схвата манипулятора.

COM – с помощью команды COM (MONITOR COMMAND) можно писать программы, включающие мониторные директивы (так называемые программы команд). Формат команды:

COM мониторная директива

Примечание1: программные команды и мониторные директивы, записанные с помощью команды COM, не сочетать в составлении одной и той же программы.

Примечание2: при выводе на дисплей программ команд с помощью директивы PLIST выводятся команды COM с тремя последовательными точками, чтобы отделить их от программы команд. Например, если в программу введена команда COM CAL, то она будет выведена в виде COM…CAL.

Примеры:

а) COM MAXSPEED 600 – устанавливает максимальную скорость 600.

б) COM COM HELP – инициализирует программу команд HELP.

CLOSE* – командой производится сжатие схвата манипулятора. Формат команды:

CLOSE

По умолчанию время задержки на закрытие схвата составляет 0,2 сек., но его можно изменить с помощью команды CDELAY.

DELAY – формирует задержки в программе. Формат команды:

DELAY время,

где время – время задержки (0,00…327, 67 сек.)

Пример: DELAY 5 – в программе создается задержка 0,5 сек.

DISTANCE – производит вычисление расстояние между двумя точками в системе координат. Формат команды:

DISTANCE переменная = точка 1, точка 2,

где переменная – целочисленная переменная, значение которой задает расстояние между точкой 1 и точкой 2; точка 1 – координатная точка; точка 2 – координатная точка; точность вычисления составляет 1 мм (когда переключатель программы DIST10 выключен) или 0,1 мм (когда переключатель программы DIST10 включен).

Пример:

DISTANCE X = LOC1, LOC2 – вычисляется расстояние между точками LOC1 и LOC2, величина устанавливается в виде переменной X.

DISABLE* – команда работает также, как и аналогичная мониторная директива (переводит внутренние переключатели программы в пассивное/выключенное состояние). Формат команды:

DISABLE переключатель программы

DLOAD – с помощью этой команды (DELETE-LOAD) происходит удаление программ и/или точек из файлов, размещенных в ЗУ. Работа команды аналогична соответствующей мониторной директиве. Формат команды:

DLOAD файл <NOBREAK>,

где файл – название файла, в котором находится программа или точка, которую необходимо удалить. Если в названии имеется спецификатор .P, то удаляются только программы. Если .L, то удаляются точки. Если спецификатора нет, удаляется все.

Если задан аргумент NOBREAK, то программы и точки удаляются без остановки движения робота. В противном случае робот приостанавливается.

Примечание: операцию удаления можно прервать клавишами «CONTROL+S»

EXIT – команда работает аналогично соответствующей мониторной директиве, т.е. приостанавливает выполнение программы в конце текущего цикла. Формат команды:

EXIT

ENABLE* – команда работает аналогично соответствующей мониторной директиве, т.е. активирует переключатели программы. Формат следующий:

ENABLE переключатель программы

FRAME – формирует рабочие плоскости для робота. Формат команды:

FRAME точка1 = точка2, точка3, точка 4, <точка 5>

где

– точка 1 – название формируемой плоскости FRAME;

– точка 2 – начало системы координат в FRAME;

– точка 3 – направление оси X FRAME относительно точки 2;

– точка 4 – точка, через которую проходит плоскость, параллельная оси X FRAME;

– точка 5 – определение окончательного начала системы координат FRAME (значение x, y, z). Если позиция 5 не задана, то начало системы координат FRAME расположено в точке 2.

Примеры:

а) FRAME F = OR, XPOINT, YPOINT – образует систему координат F, в которой плоскость XY проходит через точки OR, XPOINT, YPOINT; начало системы расположено в точке OR;

б) FRAME F = OR, XPOINT, YPOINT, CORNER – аналогично примеру а), за исключением перемещения начала системы координат в точку CORNER.

GO и GOS – с помощью этих команд можно переместить манипулятор в желаемую точку. Траектория движения в точку – это интерполированная траектория движения шарнира по команде GO и прямолинейная траектория движения по команде GOS. Формат команды:

GO точка

GOS точка

где точка – координатная, комбинированная или абсолютная.

Примеры:

а) GO LOC1 – манипулятор перемещается в точку LOC1;

б) GOS LOC1 – манипулятор перемещается в точку LOC1 по прямолинейной траектории;

в) GOS #B1 – манипулятор перемещается в абсолютную точку #B1 по прямолинейной

траектории;

г) GO LOC(X) – манипулятор перемещается в комбинированную точку LOC(X).

GONEAR и GOSNEAR – передвигает манипулятор на необходимое расстояние к заданной точке (в направлении оси Z системы координат инструмента робота). Движение по команде GONEAR происходит по интерполированной траектории движения шарнира, а команде GOSNEAR оно происходит по прямолинейной траектории. Форматы команд:

GONEAR <точка>, расстояние

GOSNEAR <точка>, расстояние

где точка – координатная, комбинированная или абсолютная. Если точка не задана, то по умолчанию используется текущая позиция инструмента робота; расстояние – расстояние, на которое передвинется манипулятор от желаемой точки. Расстояние измеряется в мм. в направлении оси Z системы координат инструмента робота.

Примеры:

а) GONEAR #B1, 100 – передвигается к абсолютной точке #B1, останавливаясь на расстоянии 100 мм.

б) GOSNEAR LOC(X), 5 – передвигается по направлению к комбинированной точке LOC X по прямолинейной траектории, останавливаясь на расстоянии 5 мм.

в) GOSNEAR 100 – передвигается на 100 мм от текущего положения в направлении оси Z системы координат инструмента робота

GO&OPEN, GOS&OPEN и GO&CLOSE, GOS&CLOSE – обеспечивают операции, аналогичные командам GO и GOS, но в начале движения манипулятора схват разжат: GO&OPEN, GOS&OPEN, или сжат: GO&CLOSE, GOS&CLOSE. Формат команд:

GO&OPEN точка

GOS&OPEN точка

GO&CLOSE точка

GOS&CLOSE точка

где точка – координатная, комбинированная или абсолютная.

Примечание: Команда не прерывает контурное движение, поэтому использование команд CDELAY и ODELAY на нее не влияют.

GO READY – по этой команде манипулятор перемещается в вертикальное положение (углы шарниров 1 – 0, 2 – 90, 3 – -90, 4 – 0, 5 – 0, 6 – 0).

Формат команды: GO READY

GOS&WEAVE – мнипулятор перемещается в нужное положение по прямолинейной траектории. Если пользователь задает с помощью команды WEAVE параметры колебания, то режим колебания накладывается на прямолинейное перемещение. Формат команды:

GOS&WEAVE точка

где точка – координатная, комбинированная или абсолютная.

Пример:

GOS&WEAVE A – манипулятор перемещается в положение А с колебанием по прямолинейной траектории.

HERE* – Команда аналогична мониторной директиве (записывает в СУ координаты текущей позиции манипулятора). Формат команды:

HERE точка

где точка – координатная, комбинированная или абсолютная.

HALT* – кманда останавливает выполнение программы с последующим переходом в сервисный режим. Дальнейшее продолжение программы невозможно. Формат команды:

HALT <текст>, <число>,

где текст – произвольная последовательность символов, которая выводится на дисплей при выполнении команды HALT; число – целочисленная переменная или константа, значение которой выводится на дисплей при выполнении команды HALT.

Примеры:

а) HALT ‘ERROR’, ERORRCODE – прерывает выполнение программы и выводит на дисплей текст ERROR (ошибка), а также значение целочисленной переменной ERRORCODE;

б) HALT ‘ERROR’ – аналогично пункту а), но на дисплей выводится только слово ‘ERROR’;

в) HALT 5 – прерывает выполнение программы и выводит на дисплей номер 5;

г) HALT – прерывает выполнение команды.

IF – выполняется сравнение двух чисел между собой и если сравнение истинно, то происходит ветвление программы. Формат команды:

IF <INGROUP> число 1 опер.сравн. <INGROUP> число 2 THEN JUMP метка,

где число 1 (переменная 1) – целочисленная переменная или константа, значение которой является первой величиной сравнения. Если оператор INGROUP стоит перед переменной 1, то выполняется считывание соответствующей группы из 16-канального порта входов, которая используется в качестве первой величины сравнения; число 2 (переменная 2) – вторая величина сравнения.

оператор сравнения:

< > – не равно;

= – равно;

> – больше чем;

< – меньше чем;

≥ – больше или равно;

≤ – меньше или равно;

метка 1 – метка адреса строки программы, на которую передается управление, если сравнение переменной 1 и переменной 2 оказалось истинным.

Примеры:

а) IF A = B THEN JUMP 10 – проверяется условие равенства чисел A и B. Если равенство выполняется, управление передается на строку с адресом 10;

б) IF INGROUP 1 > 0 THEN JUMP 10 – проверяется, является ли значение группы входа 1 больше 0.

IF IN* – тестируются отдельные входы линии. Формат команды:

IF IN вход, <вход>, <вход>, <вход> THEN JUMP метка,

где вход – целочисленная константа или переменная, значение которой указывает входную линию, которую надо тестировать. Если величина положительная, то тестируется состояние «1» (т.е. ток идет во входной линии). Если же величина отрицательная, то тестируется состояние «0» (например, тока в линии нет). С помощью этой команды можно проверить 1, 2, 3 или 4 входных линии; метка – адрес строки, на которую передается управление, если все заданные в команде входные линии находятся в состоянии, предусмотренным условием.

Примеры:

а) IF IN 1 THEN JUMP 10 – проверяется, находится ли входная линия 1 в состоянии «1» и если да, то управление передается на строку с адресом 10;

б) IF IN 3, -5 THEN JUMP 100 – проверяется, находится ли входная линия 3 в состоянии «1» и входная линия 5 в состоянии «0» и если да, то программа ветвится на строку с адресом 100;

в) IF IN CHX THEN JUMP 100 – проверяется входная линия, состояние которой определяется переменной CHX. Если CHX положительная, то проверяется активное состояние, если же CHX отрицательная, то проверяется пассивное состояние.

INCALL – активирует внешнее прерывание. Формат команды:

INCALL вход, программа <NOBREAK>

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

Если эта величина положительная, то прерывание происходит при состоянии «1» данной входной линии (передний фронт). Если же эта величина отрицательная, то прерывание происходит при состоянии «0» входной линии (задний фронт). Прерывания разрешаются входным линиям 1…16; программа – название подпрограммы, на которую передается управление, когда происходит прерывание входной линии. Эта подпрограмма должна заканчиваться командой RETURN; NOBREAK – если в команду включен аргумент NOBREAK, то во время движения робота прерывание не допускается, оно разрешается только в конце каждого движения робота. (т.е. движение не прерывается). Если же оператор NOBREAK не задан, то манипулятор останавливается сразу, когда происходит прерывание.

Если переключатель программы INCALL обнулен (выключен), то все прерывания входных линий отменяются. Другими словами, флаг INCALLS надо задавать с помощью команды ENABLE INCALLS до того, как можно применить прерывания входов. Когда происходит прерывание какой-либо линии и ветвление программы на подпрограмму, переключатель программы INCALLS автоматически сбрасывается, а новые прерывания будут запрещены. Примечание: в одной и той же входной линии невозможно одновременно осуществлять прерывания в состоянии линии «1» (передний фронт) и в состоянии «0» (задний фронт). Команда INCALL автоматически запрещает все предыдущие прерывания в этой же входной линии.

Примеры:

а) INCALL 4, INT 4

Осуществляет прерывания во входной линии 4. Состояние «1» во входной линии 4 приводит к передаче управления на выполнение программы INT 4.

б) INCALL -9, INT9 NOBREAK

осуществляет прерывание во входной линии 9. Если состояние этой линии будет «0», то после выполнения текущей команды управление передается на выполнение программы INT9.

в) INCALL, INTWX, INT

реализует прерывание входной линии, заданной переменной INTWX. Если INTWX положительная, то прерывание происходит при состоянии «1» входной линии. Если эта переменная отрицательная, то прерывание происходит при состоянии «0» входной линии. После прерывания управление передается на выполнение подпрограммы INT.

JUMP – организует ветвление программы на желаемую строку. Формат команды:

JUMP метка

где метка – адрес строки, на которую передается управление. Метка в программе указывается в виде числа с точкой перед командой (номера строк метками не являются).

Пример:

100 DELAY 1

JUMP 100

J2 RIGHT и J2 LEFT – используются для выбора конфигурации манипулятора («правая рука», «левая рука»). Формат команды:

J2 RUGHT

J2 LEFT

Командой J2 RIGHT выбирается конфигурация «правая рука» (т.е. в следующую точку манипулятор, перемещается в таком положении, при котором шарнир 2 находится на правой стороне со при наблюдении с задней стороны кожуха этого шарнира). Команду J2 LEFT используют для определения конфигурации «левая рука»

J3 UP и J3 DOWN – с помощью этих команд создается конфигурация шарнира 3 (локтя) манипулятора. Формат команды:

J3 UP

J3 DOWN

С помощью команды J3 UP выбирается конфигурация «локоть в верхнем положении» (т.е. в следующую точку робот передвигается так, что шарнир 3 будет над прямой линией между шарнирами 2…4). С помощью команды J3 DOWN выбирается конфигурация «локоть в нижнем положении».

J5 PLUS и J5 MINUS – с помощью этих команд задается конфигурация шарнира. Формат команды:

J5 PLUS

J5 MINUS

Командой J5 PLUS создается такая конфигурация шарнира 5, при которой угловая величина шарнира 5 будет положительной. Командой J5 MINUS задается отрицательная угловая величина шарнира 5.

LOAD – по этой команде осуществляется загрузка в ОЗУ программ и/или точек с гибкого диска. Работа команды аналогична такой же мониторной директивы. Формат команды:

LOAD файл <NOBREAK>

где файл – название файла, содержащего программы и/или точки, которые надо загрузить в ЗУ. Если в названии входит спецификатор .L, то загружаются только точки. Если же спецификатор не задан, загружаются и точки и программа; NOBREAK – при наличии аргумента загрузка программ и точек происходит без остановки движения манипулятора. Если же этот аргумент не задан, то робот останавливает выполнение программы, пока не будет завершена загрузка.

Пример:

LOAD NEWPRG NOBREAK

загружает программу из файла NEWPRG.P и точки из файла NEWPRG.L в ЗУ робота. Во время загрузки, робот продолжает выполнять программу.

LOCATE – по этой команде значение одной точки задается в качестве значения второй точки. Формат команды:

LOCATE точка 1 = <INVERSE> точка 2

где точка 1 – координатная или абсолютная точка, значение которой задается в качестве значения точки 2; точка 2 – координатная, комбинированная или абсолютная точка; INVERSE – если задан, то вычисляется обратная величина точки (инверсированная точка). Примечание: Если точка 2 – абсолютная, то и точка 1 должна быть абсолютной

Примеры:

а) LOCATE A1 = A2 – в качестве величины точки A2 задается точка A1;

б) LOCATE #B1 = #B2 – в качестве значения абсолютной точки #B2 берется значение абсолютной точки #B1;

в) LOCATE A1 = INVERSE X (Y) – в качестве значения точки A1 используется обратное значение комбинированной точки X (Y).

LTOOL* – команда для сдвига системы координат инструменты манипулятора. Формат команды:

LTOOL точка

где точка – координатная, значение которой задается в качестве сдвига системы координат инструмента манипулятора.

Пример:

LTOOL TOOL1 – значение точки TOOL1 выбирается в качестве величины сдвига системы координат инструмента манипулятора.

MIRROR – реализует вычисление зеркального отображения движения робота относительно какой-либо точки. Формат команды:

MIRROR точка

где точка – координатная точка, относительно которой создается зеркальное отображение.

Пример:

MIRROR CORNER

GO CORNER (X1)

Перемещает манипулятор в комбинированную точку, которая образована из точки CORNER (угол) и зеркального отображения точки X1.

Примечание:

а) возможность реализации только одного зеркального отображения. Если задается несколько последовательных команд MIRROR, реализована будет последняя;

б) команда RUN автоматически обнуляет режим зеркального отображения;

в) рекомендуется использовать в качестве точки для зеркального отображения, точки сформированные командой FRAME.

MOVE и MOVES – по этим командам манипулятор перемещается на заданное расстояние относительно основной системы координат. Формат команды:

MOVE <dx>, <dy>, <dz>

MOVES <dx>, <dy>, <dz>

где dx, dy, dz – величины перемещения манипулятора по осям X, Y и Z основной системы координат соответственно.

По команде MOVE осуществляется интерполированная траектория движения шарнира, ко команде MOVES – прямолинейная. Примечание: Движение в направлении осей X, Y, Z происходит одновременно.

Примеры:

а) MOVE 10,20 – передвигается на 10 мм. по оси X и на 20 мм. по оси Y;

б) MOVES -100, -100, -100 – передвигается по прямой на -100 мм. по всем осям основной системы координат.

MOVE JOINT – реализует движение отдельных шарниров. Формат команды:

MOVE JOINT шарнир, угол

где шарнир – номер сочленения от 1 до 6; угол – величина поворота сочленения в градусах.

Пример:

MOVE JOINT 2,30 – шарнир 2 поворачивается на 30 градусов в положительном направлении.

NO INCALL* – программа запрета всяких прерываний во входном проводе. Формат команды:

NO INCALL вход

где вход – целочисленная переменная или константа, значение которой указывает, прерывания каких входных линий запрещаются (при этом запрещаются прерывания и в состоянии «1» и в состоянии «0») Значение этой переменной или константы должно быть в пределах от 1 до 16.

Примеры:

а) NO INCALL 1 – запрещает все прерывания входной линии 1;

б) NO INCALL INX – запрещаются прерывания входных линий, задаваемых переменной INX.

NO MIRROR – команда отменяет работу в зеркальном режиме. Формат команды:

NO MIRROR

NO SCALE – отменяет работу манипулятора в заданном масштабе. Формат команды:

NO SCALE

ODELAY – устанавливает время задержки схвата манипулятора. Формат команды:

ODELAY время

где время – время задержки на разжатие схвата манипулятора (0,00…327,67 сек.). Примечание: Команда не влияет на команды GO&OPEN и GOS&OPEN.

Пример:

ODELAY 0,5 – задержка при разжатии схвата манипулятора задается равной 0,5 сек.

OPEN* – разжимает схват манипулятора. Формат команды:

OPEN

Значение времени по умолчанию на разжатие схвата манипулятора составляет 0,2 сек. Время задержки можно изменить с помощью ODELAY.

OUT – управляет состоянием выходных линий робота. Формат команды:

OUT выход, <выход>, <выход>, <выход>

где выход – целочисленная константа или переменная, значение которой указывает, какими выходными линиями управляют. Если это значение положительное, то выходная линия переводится в состояние «1», если отрицательное – в состояние «0».

Примеры:

а) OUT 1, 100, -3 – задает состояние «1» на линиях 1 и 100, а на выходной линии 3 состояние «0»;

б) OUT X – управляет состоянием выходных линий, задаваемой переменной X.

Если X положительна, то выходная линия принимает состояние «1», если отрицательна – состояние «0».

OUTGROUP – устанавливает 16-канальный порт выходов. Формат команды:

OUTGROUP группа 1 = <INGROUP> число 1 <ариф. опер.> <INGROUP> число 2

где число 1 – целочисленная переменная или константа, значение которой указывает устанавливаемый выходной порт; число 1, INGROUP, <ариф. опер.>; число 2 (ср. с командой SET)

Примеры:

а) OUTGROUP 1 = 0 – обнуляет выходной порт 1;

б) OUTGROUP 2 = INGROUP X – переставляет значение выходного порта, задаваемое переменной X, в выходной порт 2;

в) OUTGROUP X = AD + OFFSET – перемещает сумму переменных AD и OFFSET в выходной порт, задаваемый переменной X.

PRINT – по этой команде осуществляется вывод на дисплей и распечатка текстов и/или значений переменных. Формат команды:

PRINT <текст>, <число>

где текст – произвольная последовательность символов выводимая на дисплей. Начинается и заканчивается символом; число – выводится на терминал после текста.

Примеры:

а) PRINT ‘CHANGE TOOL’ – выводит на дисплей CHANGE TOOL;

б) PRINT ‘WARNING’, 5 – выводит на дисплей текст WARNING 5.

RETURN – осуществляется возврат от подпрограммы к программе, которая ранее вызвала подпрограмму. Формат команды:

RETURN <число>

где число – целочисленная переменная или константа, значение которой указывает, сколько команд надо пройти в вызываемой программе перед возвратом. Если значение равно 0 или оно не задано, то возврат в главную программу осуществляется командой CALL. Все подпрограммы и подпрограммы прерываний должны заканчиваться программой RETURN. Если нет, то управление передается в начало главной программы (т.е. в программу, которая запускается командой RUN).

Примечание: когда вычисляется место возврата в программу, строки комментариев программы в расчет не принимаются.

Примеры:

а) RETURN – возврат из подпрограммы;

б) RETURN 1 – перед возвратом пропускает одну команду после команды CALL;

в) RETURN X – перед возвратом в главную программу после команды CALL будет пропущено число команд программы, заданное переменной X.

RUNOUT – задает, какие выходные линии обнулить, когда выполнение программы прерывается из-за ошибки, или нажатием кнопки WAIT (ожидание), и при нормальном выполнении всех циклов программы. Формат команды:

RUNOUT выход, <выход>, <выход>, <выход>

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

Если эта величина отрицательная, то обнуление выходной линии отменяется. При запуске программы по команде RUN обнуление всех выходных линий запрещается. При выполнении команды RUNOUT соответствующий порт выхода не меняет своего состояния, а его состоянием управляют, как правило, с помощью команд OUT и OUTGROUP. Влияние команды RUNOUT проявляется только тогда, когда программа останавливается. Тогда все порты выходов, которые были указаны в команде RUNOUT, будут обнулены, приведены в состояние «0». Если с помощью команды CONTINUE выполнение программы продолжено, обнуленные выходные линии возвратятся в то состояние, которое у них было до останова программы.

Примеры:

а) RUNOUT 3,5 – производится обнуление линий 3 и 5;

б) RUNOUT X – производится обнуление выходной линии, заданной переменной X, если значение X положительно. Если же значение X отрицательно, то обнуление выходной линии стирается;

в) RUNOUT -2 – стирает режим обнуления выходной линии 2.

SCALE – осуществляет масштабирование относительно какой-либо точки. Формат команды:

SCALE точка = <коэффициент X>, <коэффициент Y>, <коэффициент Z>

где

– точка – координатная точка, относительно которой надо выполнить масштабирование;

– масштаб X – целочисленная константа или переменная, которая обозначает масштабирование относительно оси X. Коэффициент 1000 соответствует масштабному коэффициенту 1;

– масштаб Y – аналогично по Y;

– масштаб Z – аналогично по Z.

Примеры:

а) SCALE CORNER = 2000, 2000, 2000

GO CORNER (X1)

инструмент манипулятора перемещается в комбинированную точку, образуемую точкой CORNER (угол) и точкой X1. Значения по осям X, Y, Z умножаются на 2.

б) SCALE CORNER = XSCALE, YSCALE, ZSCALE

GO CORNER (X1)

инструмент манипулятора перемещается в комбинированную точку, образуемую точкой CORNER и точкой X1. Масштабные перемещения по осям X, Y, Z определяются переменными XSCALE, YSCALE, ZSCALE.

Примечание:

1. Следует помнить, что может быть задана только одна команда масштабирования. Если же задается несколько таких команд, то выполняется последняя.

2. Режим RUN автоматически обнуляет масштабирование до запуска программы.

3. Рекомендуется, чтобы используемая в команде SCALE точка, была сформирована командой FRAME.

SET – вычисляет значение для целочисленной переменной. Формат команды:

SET переменная = <INGROUP> число 1 <ариф. опер.> <INGROUP> <число 2>

где число 1 – целочисленная переменная, величина которой задается по результату арифметической операции; число 2 – целочисленная переменная или константа.

Если перед числом 1 стоит оператор INGROUP, то используется значения порта входов, заданное переменной 1; ариф. опер – арифметическая операция над переменными число 1 и число 2. Операторы следующие:

+ – сложение;

- – вычитание;

* – умножение;

/ – деление;

MOD – остаток, разность, модуль;

AND – двоичное «И»;

OR – двоичное «ИЛИ»;

число 2 = число 1.

Примеры:

а) SET X = 0 – обнуляет переменную X;

б) SET X = X+1 – к переменной X прибавляется 1;

в) SET X = INGROUP 1 + X – к переменной X прибавляется величина 1 группы портов входов;

г) SET X = 0-1 – изменяет знак переменной X.

SHIFT – используется для перемещения точки в основной системе координат. Формат команды:

SHIFT точка = <dx>, <dy>, <dz>

где

– dx – расстояние (мм), которое прибавляется к значению x точки;

– dy – расстояние (мм), которое прибавляется к значению y точки;

– dz – расстояние (мм), которое прибавляется к значению я точки.

Примеры:

SHIFT LOC1 = 100, , -200 – к значению X точки добавляется 100 мм, а к значению z точки добавляется 200 мм.

SPEED – аналогична мониторной директиве SPEED (т.е. команда задает базовую скорость движения манипулятора). Формат команды:

SPEED скорость

где скорость – скорость движение инструмента манипулятора (движение по прямой, мм/с).

SPEED NEXT – устанавливает базовую скорость движения, которая действительна только на время следующей команды. Формат команды:

SPEED NEXT скорость

где скорость – скорость следующего движения (мм/с).

Пример:

SPEED NEXT 30

GOS A

Перемещение в точка A совершается со скоростью 30 мм/с (предполагается, что масштабный коэффициент скорости SPEED % = 100).

SPEED % – аналогична соответствующей мониторной директиве (задает масштабный коэффициент скорости - МКС). Формат команды:

SPEED % МКС

где МКС – целочисленная переменная или константа, обозначающая коэффициент масштабирования скорости в процентах, на который надо умножить базовую скорость движения, для получения истинной скорости движения робота.

STOP* – прерывает выполнение программы. Формат команды:

STOP <текст>, <число>

где текст – последовательность символов, выводимая на дисплей; число – целочисленная переменная или константа, значение которой выводится на дисплей после текста. Примечание: после команды STOP продолжить выполнение программы возможно с помощью директивы CONTINUE.

Пример:

STOP ‘CHANGE TOOL’ – выводит на дисплей текст CHANGE TOOL после чего выполнение программы останавливается.

TMOVE и TMOVES – реализуют перемещение манипулятора в системе координат рабочего инструмента робота. Формат команды:

TMOVE <dx>, <dy>, <dz>

TMOVES <dx>, <dy>, <dz>

где

– dx – протяженность движения манипулятора, измеренная по оси X системы координат инструмента;

– dy – то же, что выше, но по оси Y;

– dz – то же, что выше, но по оси Z.

По команде TMOVE траектория движения является интерполированной, TMOVES – линейной. Движение по всем трем осям происходит одновременно.

Примеры:

а) TMOVE 10, , 20 – манипулятор перемещается на 10 мм. по оси X и на 20 мм по оси Z в системе координат инструмента;

б) TMOVES -100, -100, -100 – манипулятор перемещается по прямой на -100 мм по всем осям системы координат инструмента.

TOL NARROW и TOL WIDE – определяют точность, которой манипулятор достигает заданной точки. По команде TOL NARROW манипулятор будет двигаться к цели с точностью около ±40 импульсов энкодера на каждый шарнир. По команде TOL WIDE СУ не проверяет точность приближения к цели. Она лежит в некотором допустимом диапазоне, так что время выполнения программы уменьшается. Формат команды:

TOL NARROW

TOL WIDE

Когда манипулятор передвигается с одной точки в другую по непрерывной траектории, эти команды не влияют на движение. Если же траектория прерывается (например, есть команда задержки DELAY), то при необходимости можно контролировать точность движения.

TOOL* – осуществляет сдвиг системы координат инструмента. Формат команды:

TOOL <dx>, <dy>, <dz>, <do>, <da>, <dt>

где

– dx – величина сдвига (мм) по оси X;

– dy– величина сдвига (мм) по оси Y;

– dz– величина сдвига (мм) по оси Z;

– do – величина сдвига угла «o» (градус);

– da – величина сдвига угла «a» (градус);

– dt – величина сдвига угла «t» (градус).

Пример:

TOOL , ,100

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

WAIT IN* – по этой команде проверяют входные линии и ожидают до тех пор, пока они не придут в нужное состояние. Формат команды:

WAIT IN вход, <вход>, <вход>, <вход>

где вход – целочисленная переменная или константа, величина которой обозначает проверяемую линию Если эта величина положительная, то проверяется состояние «1», если отрицательная, состояние «0» порта. Число входных линий, которые можно проверить, составляет 1, 2, 3 или 4. По условиям проверки требуется, чтобы все входные линии, указанные в команде, одновременно были бы в определенном состоянии.

Примеры:

а) WAIT IN -1 – ожидает до того, пока выходная линия 1 не перейдет в состояние «0»;

б) WAIT IN 3, X – ожидает до того, пока выходная линия 3 и X не перейдет в состояние «1», если X положительная величина или в состояние «0», если отрицательная.

WAIT LOAD* – команда программным способом проверяет, происходит ли в данный момент какие-либо операции загрузки с гибкого диска или удаления на нем (по командам LOAD и DLOAD с аргументом NOBREAK). Если такие операции выполняются, то выполнение программы прерывается командой WAIT LOAD. По окончании работы с дисками, выполнение программы продолжится. Формат команды:

WAIT LOAD

WEAVE* – аналогична работе одноименной мониторной директиве. Командой устанавливается параметры колебания. Формат команды:

WEAVE амплитуда, <время колебания>, <задержка>

где

– амплитуда – двойная амплитуда колебания, ее максимальное значение 256 мм. Если амплитуда равна 0, то колебаний не будет.

– время колебания – время одного цикла колебания, равно времени движения двойной амплитуды, лежит в пределах 0,00…327, 67 сек.

– задержка – задает время остановка, задержка движения робота в крайних позициях колебания. Его значения лежит в пределах 0, 00…327, 67 сек.