
- •As язык программирования руководство
- •1.0 Общее представление об as системе
- •Краткий обзор
- •Характеристики as системы
- •1.3 Конфигурация as системы
- •2.0 As система
- •2.1 Состояние as системы
- •2.2 Системные переключатели as системы
- •2.4 Операции ввода и вывода
- •2.4.1 Управление терминалом
- •2.4.2 Внешние устройства памяти
- •2.5 Установка программного обеспечения терминала
- •2.6 Работа с персональным компьютером
- •2.6.1 Запуск системы
- •2.6.1.1 Подключение к порту rs -232c
- •2.6.1.2 Подключение роботов, используя сеть ethernet
- •2.6.2 Загрузка и выгрузка данных
- •2.6.3 Завершение работы системы
- •2.6.4 Полезные функции krterm
- •2.6.4.1 Создание журнала регистрации
- •2.6.4.2 Макро функции
- •Информационные выражения в as языке
- •3.1 Система обозначений и соглашений
- •3.2. Информация о позиции, числовая информация, символьная информация
- •3.2.1 Позиционная информация
- •3.2.2 Числовая информация
- •3.2.3 Символьная информация
- •3.3 Переменные
- •3.3.1 Переменные (глобальные переменные)
- •3.3.2 Локальные переменные
- •3.4 Имена переменной
- •Задание переменных позиции
- •3.5.1 Задание мониторными командами
- •3.5.2 Задание программными инструкциями
- •3.5.3 Использование значений составных (сложных) координат
- •3.6 Задание реальных переменных
- •3.7 Задание переменных символьной строки
- •3.8 Числовые выражения
- •3.8.1 Операторы
- •3.8.2 Порядок операций
- •3.8.3 Логические выражения
- •3.9 Строковые выражения
- •4.0 As программы
- •4.1 Типы as программ
- •4.1.1 Программа управления роботом
- •4.1.2 Программа управления производственным процессом (pc program)
- •4.1.3 Автостарт
- •4.2 Создание и редактирование программ
- •4.2.1 As программный формат
- •4.2.2 Команды редактора
- •4.2.3 Процедуры программирования
- •4.2.4 Создание программ
- •4.3 Выполнение программы
- •4.3.1 Выполнение управляющих программ робота
- •4.3.2 Останов программ
- •4.3.3 Возобновление выполнения управляющих программ робота
- •4.3.4 Выполнение pc программ
- •4.4 Процесс выполнения программы
- •4.4.1 Подпрограмма
- •4.4.2 Подпрограмма с параметрами
- •4.4.3 Асинхронная обработка (прерывание)
- •4.5 Движение робота
- •4.5.1 Синхронизация движения робота и выполнения шага программы
- •4.5.2 Непрерывная траектория (cp) движения
- •4.5.3 Прерывание cp движения
- •4.5.4 Отношение между переключателем cp и инструкциями accuracy, accel, и decel
- •4.5.5 Движение по указанной траектории
- •4.5.6 Установка данных нагрузки
- •5.0 Мониторные команды
- •5.1 Команды редактирования
- •Xd step count
- •Xy step count
- •Команды управления программой и данными
- •Примечание Если в программе адресате для осуществления изображения информации используются status, pcstatus команды или команды редактора, xfer команда не может быть использована.
- •5.3. Команды сохранения программ и данных
- •Команды управления программой
- •5.5 Команды позиционной информации
- •5. 6. Команды управления системой
- •Io/e signal number
- •1. Для того чтобы проверить, изменились ли нулевые данные, когда позиция манипулятора не соответствует заданной позиции.
- •2. Для того чтобы исправить обнуление данных, если они неожиданно изменились.
- •Inertia moment ab. Y axis, inertia moment ab. Z axis
- •Ipeaklog
- •Ipeakclr
- •5.7. Команды двоичных сигналов
- •2.Сигнальное выражение
- •5.8. Команды отображения выражений
- •6.0 Программные инструкции
- •6.1.Инструкции движения
- •Xmove mode pose variable name till signal number
- •6.2. Инструкции управлния скоростью и точностью
- •6.3 Инструкции управления фиксаторами
- •6.4. Инструкции конфигурации робота
- •6.5. Инструкции управления программой
- •If condition goto label
- •6.6. Инструкции построения программных структур
- •If logical expression then
- •Value case number 1,....
- •Value case number 2,....
- •Value case number n,....
- •6.7.Программные инструкции двоичных сигналов
- •Ignore signal number
- •2.Сигнальное выражение
- •Clamp clamp number 1,……., clamp number 8
- •6.8. Программные инструкции сообщений
- •6.9. Инструкции позиционной информации
- •Inertia moment ab. Y axis, inertia moment ab. Z axis
- •Mc monitor command
- •Назначение
- •Tplight
- •6.10. Инструкции управления программой и данными
- •Удаляет выбранные данные из памяти
- •Trace stepper number: on/off
- •7.0 Системные переключатели
- •Check/hold
- •Назначение
- •Ox.Preout Назначение
- •Prefetch.Sigins
- •Errstart.Pc
- •Dispio_01
- •Hold.Step
- •Ws_compoff
- •Flowrate
- •Abs.Speed
- •Slow_start
- •After.Wait.Timr
- •8.0 Операторы
- •8.1 Арифметические операторы
- •8.2 Относительные операторы (операторы сравнения)
- •8.3 Логические операторы
- •8.4 Бинарные операторы
- •8.5 Операторы векторной алгебры
- •Строковые операторы
- •9.0 Функции
- •9.1 Функции реальных значений
- •Val(string, code)
- •Instr(starting point, string1, string2)
- •Int (numerical expression)
- •Priority
- •Inrange (pose variable, joint displacement values)
- •9.2 Функции позиционных значений
- •Назначение
- •То же самое действие можно сделать следующим образом
- •Ave_trans (transformation values 1, transformation values 2)
- •Trsub (transformation values)
- •Ccenter (transformation values 1, transformation values 2, transformation values 3, configuration transformation values)
- •Cshift (transformation values 1, transformation values 2, transformation values 3, object transformation values by shift amount)
- •9.3 Математические функции
- •9.4 Строковые функции
- •Назначение
- •Pcabort pc program number
- •Pckill pc program number Назначение
- •Pccontinue pc program number next
- •Pcscan time
- •11. Примеры программ
- •11.1 Первоначальные установки для программ
- •11.2 Паллетирование
- •11.3 Внешнее взаимодействие
- •11.4 Преобразование инструментальной системы координат
- •11.4.1 Значение преобразования инструментальной системы координат 1 (когда размер инструмента неизвестен)
- •11.4.1 Значение преобразования инструментальной системы координат 2 (когда размер инструмента известен)
- •11.5 Относительные позиции
- •11.5.1 Использование относительных позиций
- •11.5.2 Пример программы при использовании относительных позиций
- •11.6 Использование относительных позиций с функцией frame
- •11.7 Установка конфигураций робота
4.5.2 Непрерывная траектория (cp) движения
Этот пример показывает выполнению одной инструкции движения.
При выполнении инструкции движения подобно показанной выше, робот ускоряется плавно до установки текущей скорости, при движении по направлению к позиции "pick". Поскольку робот приближается к "pick", он постепенно замедляется, пока не останавливается в позиции. Серия движений типа этого, совершенной одной инструкцией движения, называют “сегментом движения”.
В случае рисунка ниже, если переключатель системы CP находится в состоянии ON, робот сначала ускоряется, чтобы достигнуть указанную скорость, но не замедляется, когда приближается к pos.1. Вместо этого, робот делает плавный переход для движения по направлению pos 2. Когда робот приближается к pos. 2, он постепенно замедляется и останавливается в этой точке. Это движение состоит из двух команд движения, и - таким образом состоит из двух сегментов движения.
Движение подобное этому, где робот выполняет ряд движений, делая плавный переход
между сегментами движения, не останавливаясь в каждой координате, называется CP (Непрерывная траектория) движением. Выключение системного переключателя CP отключает функцию CP. Если переключатель CP выключен, робот замедляется и останавливается в конце каждого сегмента движения.
( см. 5.6 Команда SWITCH и 6.9 инструкция ON/OFF, для того как установить переключатель CP)
Движения CP могут использоваться и в прямолинейных движениях, и в угловых интерполированных движениях или в комбинации из них. Например, движения CP могут использоваться для всех следующих шагов:
прямолинейное движение (например. LDEPART) → угловое интерполированное движение (например. JAPPRO) → прямолинейное движение (например. LMOVE).
4.5.3 Прерывание cp движения
Некоторые инструкции могут приостановить выполнение программы, пока робот фактически не достигает координаты. Это называют прерыванием СР движения. Эти инструкции полезны, когда робот должен быть неподвижен, в то время как некоторые операции выполняются (например, закрытие схвата).
См. пример ниже.
Инструкция JMOVE начинает движение робота по направлению к pos.1. Далее выполняется BREAK инструкция. Эта инструкция задерживает выполнение программы до тех пор пока движение в позицию pos.1 не завершится. В этом случае внешний сигнал не выходит до тех пор пока робот не остановится.
Следующие инструкции приостанавливают выполнение программы до тех пор пока движение робота не завершилось полностью.
Однако, будьте внимательны, для того чтобы не использовать эти инструкции, когда робот должен двигаться.
В добавление к выше сказанному, ONI инструкция также прерывает выполнение программы, но обратите внимание, что прерывание, установленное при помощи ONI инструкции может произойти в любом месте сегмента движения.
4.5.4 Отношение между переключателем cp и инструкциями accuracy, accel, и decel
·ACCURACY инструкция … Устанавливает точность позиционирования робота в конце каждого сегмента движения.
(Когда робот входит в диапазон, установленный этой командой, он считает, что достиг точки, и начинает движение в следующую точку)
(ПРИМЕЧАНИЕ)
1. Робот замедляется и останавливается, если команда не дана перед выполнением
завершения текущего движения. Некоторые из причин, которые вызывают такую ситуацию:
(1) Команда WAIT выполнена, но условия, для того чтобы продолжить программу, не установлены прежде, чем движение робота закончено.
(2) Шаги программы перед следующей инструкцией движения не закончены до окончания текущего движения.
2. При перемещении в движение CP, требуется, чтобы некоторое время вычислялся переход между сегментами движения. Поэтому, если расстояние между двумя позициями очень небольшое, вычисление не может быть закончено перед достижением второй позиции, таким образом, происходит останов робота между двумя сегментами движения
Чтобы избежать этого, необходимо уменьшить скорость. Если скорость не должна быть изменена, не задавайте позиции излишне близко друг к другу.
·ACCEL команда … … … Устанавливает ускорение робота в начале движения.
·DECEL команда … … … Устанавливает замедление робота в конце движения.
·CP переключатель … … … … … …, разрешает или запрещает движение CP.
4.5.4.1 CP ON …ТИП СТАНДАРТНОГО ДВИЖЕНИЯ
Для примера, робот делает выполнение движения, показанного ниже с CP переключателем в состоянии ON: A →B→C.
Как только текущее значение позиции попадает в диапазон точности (т.е. робот достигает точки D), наложение начинается от значений текущего движения со значением команды движения для следующей траектории.
Робот будет перемещаться непрерывно по направлению следующей траектории в соответствии с командными значениями.
Чем больше диапазон, определяющий точность, тем раньше начинается наложение. Однако ускорение для следующей траектории не начинается раньше точки, где робот начинает замедление (точка E), следовательно можно говорить, что эффект точности достигается в определенной величине, т.е. нет эффекта в установке значений точности большем, чем расстояние между B и E.
Даже, если командная величина достигает точки точности в это время, ускорение для следующей траектории не может начаться до замедления, начинающегося в точке E.
Если значения ускорения и замедления установлены достаточно маленькими, наложение начинается раньше, и робот движется по траектории с большим радиусом, но общее время для достижения точки C отличается незначительно.
Даже если замедление уменьшено, а ускорение для следующей траектории увеличено, совместная скорость не будет превышать определенную максимальную скорость, т.к. наложение не начнется до достижения роботом точки F (точки, где начинается ускорение). Иными словами, время для того, чтобы выполнить полностью замедление и ускорение одно и тоже (точка B).
4.5.4.2 CP ON … ТИП ДВИЖЕНИЯ 2
В типе движения 2, понятие ускорения и скорости в линейном движении и круговом движении отличаются от стандартного типа движения. Стандартный тип движения и тип движения 2 могут использоваться в одинаковых программах без изменений, но реальная траектория движения и скорость движения будут меняться.
1.Установка точности
Точность в угловом интерполированном движении
Траектория движения робота, соответствующая установленной точности, показана на рисунке, изображенном ниже. В примере значения точности в точке В - 1 мм, 100 мм, 200 мм. Тем же самым способом, как стандартное движение, робот начинает движение по кратчайшему расстоянию до достижения точки В, но не обязательно начинает разворот в точке, где он входит в диапазон точности. Как близко робот подойдет к точке В до начала разворота, определяется при помощи угла каждой оси, вычисленного пропорционально значению точности. При установке значения точности достаточно большим, робот может пройти по кратчайшей траектории кратчайшим расстоянием либо оставшееся расстояние текущей траектории, либо половину расстояния следующей траектории от В до С.
2.Точность линейного и кругового интерполированного движения
Траектория движения робота, соответствующая установленной точности, показана на рисунке, изображенном ниже. В примере значение точности в точке В – 1 мм, 100 мм, 200 мм. Робот начинает разворот в точке, где он вошел в диапазон точности. Робот движется по круговой траектории внутри радиуса диапазона точности. При установке значения точности достаточно большим, робот может пройти по кратчайшей траектории кратчайшим расстоянием либо оставшееся расстояние текущей траектории, либо половину расстояния следующей траектории от В до С.
Величина точности может быть установлена равной половине расстояния второй траектории.
При движении по кратчайшему пути, время цикла может быть уменьшено. Тем не менее, когда следующие состояния установлены, обработка установки точности будет такой же, как и в стандартном движении:
когда инструкции ожидания выполняются в точке В;
когда work/tool изменяются в точке В;
когда режим интерполяции меняется на посуставную (угловую) интерполяцию;
когда модель движения изменяется в точке В (обычная модель
движение, базирующееся на фиксированной инструментальной системе координат).
2.Установка скорости
Скорость интерполированного движения суставов
Такая же, как в стандартном типе движения.
Скорость в линейном и круговом интерполированном движении
В типе движения 2, если значение точности установлено большим и конфигурация робота не изменяется между двух позиций, заданная скорость достигается, даже если расстояние между двумя позициями мало.
Тем не менее, когда следующие состояния установлены, обработка установки точности будет такой же, как и в стандартном движении:
когда инструкции ожидания выполняются в точке В;
когда work/tool изменяются в точке В;
когда режим интерполяции меняется на суставную интерполяцию;
когда модель движения изменяется в точке В, из обычного режима (деталь фиксирована, инструмент движется) в режим фиксированных инструментальных размеров.
(ПРИМЕЧАНИЕ)
При попытке выполнить программу, где изменение положения робота происходит в пределах короткого расстояния, время для осуществления изменения положения будет превышать расчетное время для прохождения этого расстояния с заданной скоростью. В этом случае отдается приоритет движению в суставах (угловому движению), соответственно изменение позиции не может быть осуществлено с заданной скоростью.
3. Скорость при круговой интерполяции
В типе движения 2 максимальная скорость автоматически устанавливается соответственно способности робота выполнить характерное круговое интерполированное движение. Робот следует круговой траектории внутри окружности диапазона точности. Максимальная скорость прохождения этой траектории также устанавливается возможностями робота.
4.5.4.3 CP OFF
Когда переключатель CP находится в состоянии OFF, наложение движений не происходит. Ускорение для второго отрезка начинается после того как первый сегмент движения закончен и текущее значение находится в диапазоне ACCURACY* .
ПРИМЕЧАНИЕ* Для примера, для FS10, значение по умолчанию 1 мм
.
Когда переключатель CP находится в состоянии OFF , движения по второму отрезку начнется только тогда, когда скорость замедления первого движения достигнет 0, даже если диапазон точности больше чем окончание первого отрезка.