SINUMERIK 840D sl. Программирование ЧПУ. Руководство по программированию (2021 год) - часть 10

 

  Главная      Книги - Разные     SINUMERIK 840D sl. Программирование ЧПУ. Руководство по программированию (2021 год)

 

поиск по сайту            правообладателям  

 

   

 

   

 

содержание      ..     8      9      10      11     ..

 

 

 

SINUMERIK 840D sl. Программирование ЧПУ. Руководство по программированию (2021 год) - часть 10

 

 

Расширенное программирование
4.7 Специальные команды перемещения
Подпрограмма POLYPATH
С POLYPATH(...) полиномиальная интерполяция может разрешаться выборочно для
определенных групп осей:
Только траекторные и дополнительные оси:
POLYPATH("AXES")
Только оси ориентации:
POLYPATH("VECT")
(при перемещении с трансформацией ориентации)
Соответствующие не разрешенные оси перемещаются линейно.
Стандартно полиномиальная интерполяция разрешена для обоих групп осей.
Через программирование без параметра POLYPATH( ) полиномиальная интерполяция
деактивируется для всех осей.
Пример
Программный код
Комментарий
N10 G1 X… Y… Z… F600
N11 POLY PO[X]=(1,2.5,0.7) PO[Y]=(0.3,1,3.2)
; Полиномиальная интерполяция вкл
PL=1.5
N12 PO[X]=(0,2.5,1.7) PO[Y]=(2.3,1.7) PL=3
N20 M8 H126 …
N25 X70 PO[Y]=(9.3,1,7.67) PL=5
; Смешанные данные для осей
N27 PO[X]=(10,2.5) PO[Y]=(2.3)
; PL не запрограммирован; действует
PL=1
N30 G1 X… Y… Z.
; Полиномиальная интерполяция выкл
…
Пример: Новый синтаксис полинома
Продолжающий действовать синтаксис поли-
Новый синтаксис полинома
нома
PO[идентификатор оси]=(.. , ..)
Идентификатор оси=PO(.. , ..)
PO[PHI]=(.. , ..)
PHI=PO(.. , ..)
PO[PSI]=(.. , ..)
PSI=PO(.. , ..)
PO[THT]=(.. , ..)
THT=PO(.. , ..)
PO[]=(.. , ..)
PO(.. , ..)
PO[переменная]=IC(.. , ..)
Переменная=PO IC(.. , ..)
Пример: Кривая в плоскости X/Y
Программирование
Программный код
N9 X0 Y0 G90 F100
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
629
Расширенное программирование
4.7 Специальные команды перемещения
Программный код
N10 POLY PO[Y]=(2) PO[X]=(4,0.25) PL=4
Ход кривых X(p) и Y(p)
<
̱͕͔͔͇͌ͦ͞ ͙͕͇͑͞
S
;
̱͕͔͔͇͌ͦ͞ ͙͕͇͑͞
̶͗͏͓͌͗
1 ; < *
1
32/< 32><@
32>;@
3/
S
3/
Ход кривой в плоскости XY
<
̷͎͚͙͇͙͌͒ͣ ͉ ͖͕͕͙͒͑͘͘͏ ;<
3/
;
Программирование ЧПУ
630
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
Описание
В общей форме функция полинома выглядит следующим образом:
f(p)= a0 + a1p + a2p2 + . . . + anpn
где: ai: постоянные коэффициенты (i = 0, 1, ..., n)
p: параметры
В СЧПУ можно программировать полиномы не выше 5-го порядка:
f(p)= a0 + a1p + a2p2 + a3p3 + a4p4 + a5p5
Посредством присваивания конкретных значений коэффициентам можно создавать
различные ходы кривой, например, линейные, параболические, степенные функции.
Прямая создается через a2 = a3 = a4 = a5 = 0:
f(p) = a0 + a1p
Дальше действует:
a0: Позиция оси на конце предшествующего кадра
p = PL
a1 = (xE - a0 - a2*p2 - a3*p3) / p
Можно программировать полиномы без активации полиномиальной интерполяции
через G-команду POLY. Но в этом случае выполняется интерполяция не
запрограммированных полиномов, а осуществляется линейный подвод к
запрограммированным конечным точкам осей (G1). Только после явной активации
полиномиальной интерполяции в программе обработки детали (POLY)
запрограммированные полиномы начинают перемещаться как таковые.
Особенность: Полином-знаменатель
Для геометрических осей с помощь PO[]=(…) без указания имени оси также можно
запрограммировать общий полином-знаменатель, т. е. движение геометрических осей
интерполируется как частное двух полиномов.
Таким образом, могут быть точно представлены, например, конические сечения (круг,
эллипс, парабола, гипербола).
Пример:
Программный код
Комментарий
POLY G90 X10 Y0 F100
; Гео-оси перемещаются линейно на позицию
X10, Y0.
PO[X]=(0,-10) PO[Y]=(10) PO[]=(2,1)
; Гео-оси перемещаются по четверти круга на X0
Y10.
Постоянный коэффициент (a0) полинома-знаменателя всегда принимается за 1.
Запрограммированная конечная точка не зависит от G90 / G91.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
631
Расширенное программирование
4.7 Специальные команды перемещения
Из запрограммированных значений X(p) и Y(p) вычисляются как:
X(p) = (10 - 10 * p2) / (1 + p2)
Y(p) = 20 * p / (1 + p2)
где 0 ≤ p ≤ 1
На основе запрограммированных начальных точек, конечных точек, коэффициента a2 и
PL=1 получаются следующие промежуточные результаты:
Числитель (X) = 10 + 0 * p - 10 * p2
Числитель
0 + 20 * p + 0 * p2
(Y) =
Знаменатель = 1 + p2
Y
10
X
При включенной полиномиальной интерполяции программирование полинома-
знаменателя с нулями внутри интервала [0,PL] отклоняется с ошибкой. Полином-
знаменатель не влияет на движение дополнительных осей.
Примечание
Коррекция радиуса инструмента для полиномиальной интерполяции может включаться
с G41, G42 и использоваться как для линейной или круговой интерполяции.
4.7.6
Устанавливаемое соотношение траекторий (SPATH, UPATH)
При полиномиальной интерполяции (POLY, ASPLINE, BSPLINE, CSPLINE, COMP...)
позиции траекторных осей i задаются через полиномы pi(U). Параметр кривой U при этом
перемещается внутри кадра ЧПУ от 0 до 1.
Программирование ЧПУ
632
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
С помощью FGROUP выбираются оси (оси FGROUP), к которым относится подача по
траектории F. Но интерполяция с постоянной скоростью на пути S осей FGROUP означает
при полиномиальной интерполяции, как правило, не постоянное изменение параметра
кривой U. Поэтому для осей, не содержащихся в FGROUP, возможен выбор из двух
способов следования этих осей за осями FGROUP:
• Синхронно ходу траектории S (SPATH)
• Синхронно параметру кривой U (UPATH)
Синтаксис
SPATH
UPATH
Объяснение
SPATH:
Не содержащиеся в FGROUP оси перемещаются относительно хода траектории S
UPATH:
Не содержащиеся в FGROUP оси перемещаются относительно параметра кривой
U
Примечание
UPATH и SPATH определяют и связь полинома слова F (FPOLY, FCUB, FLIN) с движением
по траектории.
Граничные условия
SPATH или UPATH не имеют значения в следующих случаях:
• линейная интерполяция (G1)
• круговая интерполяция (G2, G3)
• кадры резьбы (G33, G34, G35, G33x, G63)
• все траекторные оси имеются в FGROUP
Пример
Пример ниже показывает разницу между двумя типами управления движением.
Программный код
N10 FGROUP(X,Y,Z)
N15 G1 X0 A0 F1000 SPATH
; SPATH
N20 POLY PO[X]=(10,10) A10
Программный код
N10 FGROUP(X,Y,Z)
N15 G1 X0 A0 F1000 UPATH
; UPATH
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
633
Расширенное программирование
4.7 Специальные команды перемещения
Программный код
N20 POLY PO[X]=(10,10) A10
В обоих сегментах программы ход S осей FGROUP в N20 зависит от квадрата параметра
кривой U. Поэтому вдоль хода X получаются различные позиции синхронной оси A, в
зависимости от того, активна ли SPATH или UPATH.
63$7+
83$7+
$
$
$;
;
$;
6457 ;
;
;
̷͇͎͒͏͔͌͢͞ ͕͓͙͊͌͌͗͏͌͑͘͞͏͌ ͕͙͔͕͔͌͟͏ͦ
͓͍͚͌͋ ͕͓ͦ͘͏ ͖͗͏ 63$7+ ͏ 83$7+
Дополнительная информация
Поведение СЧПУ при Reset и машинные/опциональные данные
После Reset действует определенный посредством MD20150
$MC_GCODE_RESET_VALUES[ 44 ] G-команда (45-я G-группа).
Значение по умолчанию для типа перешлифовки определяется посредством
MD20150 $MC_GCODE_RESET_VALUES[9] (10-я G-группа).
Спец. для оси машинные данные MD33100 $MA_COMPRESS_POS_TOL[<n>] имеют
расширенное значение: они содержат допуски для функции компрессора и для
перешлифовки с G642.
4.7.7
Специфическое для канала измерение (MEAS, MEAW)
При специфическом для канала измерении активация процесса измерения для канала
ЧПУ постоянно выполняется из программы обработки детали, выполняемой в
соответствующем канале. В кадре измерения программируется соответственно одно
пусковое событие (передний или задний фронт измерительного щупа) и один режим
измерения со стиранием остатка пути (MEAS) или без стирания остатка пути (MEAW). В
этом случае в процессе измерения участвуют все запрограммированные в кадре
измерения оси.
Программирование ЧПУ
634
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
Как только кадр измерения активен, измерительный щуп подводится к детали. При
контактном фронте измерительного щупа для всех запрограммированных в кадре
измерения осей измеряются позиции и записываются для каждой оси в
соответствующую ячейку памяти.
Результаты измерения читаются в программе обработки детали или с синхронными
действиями, как в системе координат станка, так и детали.
;
=
Синтаксис
MEAS=<TE> G... X... Y... Z...
MEAW=<TE> G... X... Y... Z...
Объяснение
MEAS:
Измерение со стиранием остатка пути
Активность:
покадрово
MEAW:
Измерение без стирания остатка пути
Активность:
покадрово
Использова-
Для задач измерения, в которых в любом случае необхо-
ние:
дим подвод к запрограммированной позиции.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
635
Расширенное программирование
4.7 Специальные команды перемещения
<TE>:
Пусковое событие для запуска измерения
Тип:
INT
Диапазон зна-
-2, -1, 1, 2
чений:
Значе-
(+)1
передний фронт измерительного щупа 1 (на входе изме-
ние:
рительной системы 1)
-1
задний фронт измерительного щупа 1 (на входе измери-
тельной системы 1)
(+)2
передний фронт измерительного щупа 2 (на входе изме-
рительной системы 2)
-2
задний фронт измерительного щупа 2 (на входе измери-
тельной системы 2)
Примечание:
Существует макс. 2 измерительных щупа (в зависимости от конфигура-
ции).
G...:
Тип интерполяции, к примеру, G0, G1, G2 или G3
X... Y... Z...:
Конечные точки в декартовых координатах
Примечание
MEAS и MEAW действуют покадрово и программируются вместе с операторами
движения. При этом подача и тип интерполяции (G0, G1, …), как и число осей, должны
быть согласованы с соответствующей задачей измерения.
Пример
Программный код
Комментарий
N10 MEAS=1 G1 F1000 X100 Y730 Z40
; Кадр измерения со щупом первого измерительно-
го входа и линейная интерполяция. Остановка пред-
варительной обработки создается автоматически.
Дополнительная информация
Запрос состояния
Если в программе необходимо определить, был ли измерительный щуп отклонен или
контактировал, то это можно запросить через следующие системные переменные:
Системная перемен-
Объяснение
Тип данных
Значение
ная
$A_PROBE[<n>]
Состояние измерительного
INT
0
Измерительный
щупа
щуп не отклонен.
1
Измерительный
щуп отклонен.
Программирование ЧПУ
636
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
Системная перемен-
Объяснение
Тип данных
Значение
ная
$AC_MEA[<n>]
Состояние контактирова-
INT
0
Измерительный
ния измерительного щупа
щуп не контактиро-
вал:
$AC_MEA[<n>] автоматиче-
ски сбрасывается в начале
1
Контакт измери-
измерения.
тельного щупа про-
изошел.
<n> = номер измерительного щупа
Запись измеренных значений
При спец. для канала измерении регистрируются позиции всех перемещенных
траекторных и позиционирующих осей кадра (макс. число осей в зависимости от
конфигурации СЧПУ). При MEAS после контакта измерительного щупа происходит
определенное притормаживание.
Примечание
Если в кадре измерения запрограммирована гео-ось, то сохраняются измеренные
значения для всех текущих гео-осей.
Если в кадре измерения запрограммирована участвующая в трансформации ось, то
сохраняются измеренные значения всех участвующих в этой трансформации осей.
Чтение результатов измерения
Результаты измерения щупом для обработанных с помощью щупа осей могут быть
считаны в программе обработки детали и в синхронных действиях через следующие
системные переменные:
Системная перемен-
Объяснение
ная
$AA_MM[<ось>]
Результаты измерения щупом в системе координат станка.
$AA_MW[<ось>]
Результаты измерения щупом в системе координат детали.
4.7.8
Спец. для оси измерение (MEASA, MEAWA, MEAC) (опция):
При спец. для оси измерении активация может выполняться в программе обработки
детали или в синхронных действиях. При наличии двух измерительных системы для оси
можно использовать обе.
Доступны следующие методы измерений:
• Измерение со стиранием остатка пути (MEASA)
• Измерение без стирания остатка пути (MEAWA)
• Непрерывное измерение без стирания остатка пути (MEAC)
MEASA, MEAWA для соответствующей запрограммированной оси позволяют
регистрировать до четырех измеренных значений на измерение и сохранять их согласно
пусковому событию в системных переменных.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
637
Расширенное программирование
4.7 Специальные команды перемещения
При непрерывном измерении с MEAC результаты измерения сохраняются в переменных
FIFO.
Синтаксис
MEASA[<Axis>]=(<Mode>,<TE1>,...,<TE4>)
MEAWA[<Axis>]=(<Mode>,<TE1>,...,<TE4>)
MEAC[<Axis>]=(<Mode>,<MeasMem>,<TE1>,...,<TE4>)
Примечание
MEASA и MEAWA действуют покадрово и могут быть запрограммированы вместе в одном
кадре. Если, напротив, MEASA/MEAWA вместе с MEAS/MEAW программируются в одном
кадре, то следует сообщение об ошибке.
Объяснение
MEASA:
Спец. для оси измерение со стиранием остатка пути
Активность:
покадрово
MEAWA:
Спец. для оси измерение без стирания остатка пути
Активность:
покадрово
MEAC:
Спец. для оси непрерывное измерение без стирания остатка пути
Активность:
покадрово
<ось>:
Имя оси канала, использованной для измерения
<Mode>:
Двухзначное (xx) число для указания режима работы (режим измерения и
измерительная система)
Первый десятичный разряд: режим измерения
Задает, как должны активироваться пусковые события: во временной или в
запрограммированной последовательности.
x0
Отменить задание измерения.
x1
До 4 различных одновременно активируемых пусковых событий.
x2
До 4 последовательно активируемых пусковых событий.
x3
До 4 последовательно активируемых пусковых событий, но без контр-
оля пускового события 1 при запуске (аварийные сообщения
21700/21703 подавляются).
Примечание:
Этот режим при MEAC невозможен.
Второй десятичный разряд: измерительная система
Задает измерительную систему для выполнения измерения.
0x (или не указано)
Активная измерительная система
1x
Измерительная система 1
2x
Измерительная система 2
3x
Обе измерительные системы
Программирование ЧПУ
638
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
<TE>:
Пусковое событие для запуска измерения
Тип:
INT
Диапазон зна-
-2, -1, 1, 2
чений:
(+)1
передний фронт измерительного щупа 1
-1
задний фронт измерительного щупа 1
(+)2
передний фронт измерительного щупа 2
-2
задний фронт измерительного щупа 2
Примечание:
Если процесс измерения выполняется с двумя измерительными системами,
то можно запрограммировать не более двух пусковых событий (передний
или задний фронт). Для каждого из обоих пусковых событий регистрируются
измеренные значения обеих систем измерения.
<MeasMem>:
Номер FIFO (динамическая память)
Примеры
Пример 1: Спец. для оси измерение со стиранием остатка пути в режиме 1 (обработка
во временной последовательности)
a) измерение с одной измерительной системой
Программный код
Комментарий
N100 MEASA[X]=(1,1,-1) G01 X100 F100
; Измерение в режиме 1 с активной измерительной
системой. Ожидание сигнала измерения с передним/
задним фронтом измерительного щупа 1 на пути пе-
ремещения к X=100.
N110 IF $AC_MEA[1]==FALSE GOTOF ENDE
; Проверить успех измерения.
N120 R10=$AA_MM1[X]
; Сохранить относящееся к первому запрограммиро-
ванному пусковому событию (передний фронт) из-
меренное значение.
N130 R11=$AA_MM2[X]
; Сохранить относящееся ко второму запрограмми-
рованному пусковому событию (задний фронт) изме-
ренное значение.
N140 ENDE:
b) измерение с двумя измерительными системами
Программный код
Комментарий
N200 MEASA[X]=(31,1,-1) G01 X100 F100
; Измерение в режиме 1 с обеими измерительными
системами. Ожидание сигнала измерения с пере-
дним/задним фронтом измерительного щупа 1 на пу-
ти перемещения к X=100.
N210 IF $AC_MEA[1]==FALSE GOTOF ENDE
; Проверить успех измерения.
N220 R10=$AA_MM1[X]
; Сохранить измеренное значение измерительной си-
стемы 1 при переднем фронте.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
639
Расширенное программирование
4.7 Специальные команды перемещения
Программный код
Комментарий
N230 R11=$AA_MM2[X]
; Сохранить измеренное значение измерительной си-
стемы 2 при переднем фронте.
N240 R12=$AA_MM3[X]
; Сохранить измеренное значение измерительной си-
стемы 1 при заднем фронте.
N250 R13=$AA_MM4[X]
; Сохранить измеренное значение измерительной си-
стемы 2 при заднем фронте.
N260 ENDE:
Пример 2: Спец. для оси измерение со стиранием остатка пути в режиме 2 (обработка
в запрограммированной последовательности)
Программный код
Комментарий
N100 MEASA[X]=(2,1,-1,2,-2) G01 X100 F100
; Измерение в режиме 2 с активной измерительной
системой. Ожидание сигнала измерения в последо-
вательности передний фронт измерительного щупа
1, задний фронт измерительного щупа 1, передний
фронт измерительного щупа 2, задний фронт изме-
рительного щупа 2 на пути перемещения к X=100.
N110 IF $AC_MEA[1]==FALSE GOTOF
; Проверить успех измерения с измерительным щу-
MESSTASTER2
пом 1.
N120 R10=$AA_MM1[X]
; Сохранить относящееся к первому запрограммиро-
ванному пусковому событию (передний фронт щупа
1) измеренное значение.
N130 R11=$AA_MM2[X]
; Сохранить относящееся ко второму запрограмми-
рованному пусковому событию (передний фронт щу-
па 1) измеренное значение.
N140 MESSTASTER2:
N150 IF $AC_MEA[2]==FALSE GOTOF ENDE
; Проверить успех измерения с измерительным щу-
пом 2.
N160 R12=$AA_MM3[X]
; Сохранить относящееся к третьему запрограммиро-
ванному пусковому событию (передний фронт щупа
2) измеренное значение.
N170 R13=$AA_MM4[X]
; Сохранить относящееся к четвертому запрограмми-
рованному пусковому событию (передний фронт щу-
па 2) измеренное значение.
N180 ENDE:
Пример 3: Спец. для оси непрерывное измерение в режиме 1 (обработка во
временной последовательности)
a) Измерение до 100 значений
Программный код
Комментарий
N110 DEF REAL MESSWERT[100]
N120 DEF INT Schleife=0
Программирование ЧПУ
640
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
Программный код
Комментарий
N130 MEAC[X]=(1,1,-1) G01 X1000 F100
; Измерение в режиме 1 с активной измерительной
системой, сохранение измеренных значений в
$AC_FIFO1, ожидание сигнала измерения с задним
фронтом измерительного щупа 1 на пути перемеще-
ния к X=1000.
N135 STOPRE
N140 MEAC[X]=(0)
; Отменить измерение после достижения позиции
оси.
N150 R1=$AC_FIFO1[4]
; Сохранить число полученных измеренных значений
в параметре R1.
N160 FOR Schleife=0 TO R1-1
N170 MESSWERT[Schleife]=$AC_FIFO1[0]
; Выгрузить и сохранить измеренные значения из
$AC_FIFO1.
N180 ENDFOR
b) Измерение со стиранием остатка пути после 10 измеренных значений
Программный код
Комментарий
N10 WHEN $AC_FIFO1[4]>=10 DO MEAC[x]=(0) DELDTG(x)
; Стирание остаточного пути.
N20 MEAC[x]=(1,1,1,-1) G01 X100 F500
N30 MEAC[X]=(0)
N40 R1=$AC_FIFO1[4]
; Число измеренных значений.
c) Измерение заднего/переднего профиля зуба с 2 измерительными щупами
Программный код
Комментарий
N110 DEF REAL MESSWERT[16]
N120 DEF INT Schleife=0
N130 MEAC[X]=(1,1,-1,2) G01 X100 F100
; Измерение в режиме 1 с активной измерительной
системой, сохранение измеренных значений в
$AC_FIFO1, ожидание сигнала измерения в после-
довательности заднего фронта измерительного щупа
1, переднего фронта измерительного щупа 2, на пути
перемещения к X=100.
N140 STOPRE
; Остановка предварительной обработки.
N150 MEAC[X]=(0)
; Отменить измерение после достижения позиции
оси.
N160 R1=$AC_FIFO1[4]
; Сохранить число полученных измеренных значений
в параметре R1.
N170 FOR Schleife=0 TO R1-1
N180 MESSWERT[Schleife]=$AC_FIFO1[0]
; Выгрузить и сохранить измеренные значения из
$AC_FIFO1.
N190 ENDFOR
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
641
Расширенное программирование
4.7 Специальные команды перемещения
Дополнительная информация
Задание измерения
Программирование задания измерения может осуществляться в программе обработки
детали или из синхронного действия. Для каждой оси в один и тот же момент времени
может быть активно только одно задание измерения.
Примечание
Подача должна быть согласована с соответствующим заданием измерения.
Для MEASA и MEAWA правильные результаты могут быть обеспечены только для подач,
при которых возникает не более одного одинакового и не более 4 различных пусковых
события на такт регулятора положения.
При непрерывном измерении с MEAC отношение между тактом интерполятора и тактом
регулятора положения не может быть больше, чем 1 : 8.
Пусковое событие
Пусковое событие состоит из номера измерительного щупа и критерия запуска
(передний или задний фронт) сигнала измерения.
Для каждого измерения может быть обработано до 4 пусковых событий сработавших
измерительных щупов соответственно, т. е. до двух измерительных щупов с двумя
измерительными фронтами каждый. Последовательность обработки, а также макс.
число пусковых событий, зависят при этом от выбранного режима.
Если процесс измерения выполняется с двумя измерительными системами, то можно
запрограммировать не более двух пусковых событий (передний или задний фронт). Для
каждого из обоих пусковых событий регистрируются измеренные значения обоих
измерительных щупов.
При использовании телеграммы PROFIBUS 391 (стандартная настройка для
коммуникации PROFIBUS) возможно только одно измеренное значение на каждое
пусковое событие и такт регулятора положения.
При использовании телеграммы PROFIBUS 395 количество измеренных значений на
каждое пусковое событие можно при MEAC в режиме работы 1 увеличить, в общей
сложности, до 8 измеренных значений при переднем фронте и до 8 при заднем фронте
на каждое пусковое событие и такт регулятора:
• Один измерительный щуп: 8 измеренных значений при переднем фронте и 8 при
заднем фронте
• Два измерительных щупа: 4 измеренных значения при переднем фронте и 4 при
заднем фронте на каждый измерительный щуп
Благодаря этому при использовании телеграммы PROFIBUS 395 можно реализовать
более высокие значения подачи или скорости вращения.
Режим работы
С помощью первой цифры (второй десятичный разряд) режима выбирается желаемая
измерительная система. Если имеется только одна измерительная система, но
запрограммирована вторая, то автоматически используется имеющаяся.
Программирование ЧПУ
642
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
С помощью второй цифры (первый десятичный разряд) выбирается желаемый режим
измерения. Тем самым процесс измерения адаптируется к возможностям
соответствующей СЧПУ:
• Режим 1
Обработка пусковых событий выполняется во временной последовательности их
возникновения.
• Режим 2
Обработка пусковых событий выполняется в запрограммированной
последовательности.
• Режим 3
Обработка пусковых событий выполняется в запрограммированной
последовательности, но без контроля пускового события 1 при старте.
Измерение с и без стирания остатка пути
При программировании MEASA стирание остатка пути выполняется только после
регистрации всех требуемых измеренных значений.
Для специальных задач измерения, в которых в любом случае необходим подвод к
запрограммированной позиции, используется MEAWA.
Примечание
MEASA не может быть запрограммирована в синхронных действиях. В качестве
эквивалента MEAWA плюс стирание остатка пути можно запрограммировать как
синхронное действие.
Если задание измерения запускается с MEAWA из синхронных действий, то измеренные
значения доступны только в системе координат станка.
Гео-оси / трансформации
Если спец. для оси измерение должно быть запущено для гео-оси, то такое же задание
измерения должно быть явно запрограммировано для всех оставшихся гео-осей. Это же
относится и к осям, участвующим в трансформации.
Примеры:
N10 MEASA[Z]=(1,1) MEASA[Y]=(1,1) MEASA[X]=(1,1) G0 Z100
или
N10 MEASA[Z]=(1,1) POS[Z]=100
Запрос состояния
Если в программе необходимо определить, был ли измерительный щуп отклонен или
контактировал, то это можно запросить через следующие системные переменные:
Системная перемен-
Объяснение
Тип данных
Значение
ная
$A_PROBE[<n>]
Состояние измерительного
INT
0
Измерительный
щупа
щуп не отклонен.
1
Измерительный
щуп отклонен.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
643
Расширенное программирование
4.7 Специальные команды перемещения
Системная перемен-
Объяснение
Тип данных
Значение
ная
$AC_MEA[<n>]
Состояние контактирова-
INT
0
Измерительный
ния измерительного щупа
щуп не контактиро-
вал:
$AC_MEA[<n>] автоматиче-
ски сбрасывается в начале
1
Контакт измери-
измерения.
тельного щупа про-
изошел (все пуско-
вые события, запро-
граммированные в
кадре измерения,
произошли).
<n> = номер измерительного щупа
Примечание
Если измерение запускается из синхронных действий, то $AC_MEA более не обновляется.
В этом случае необходимо запросить интерфейсный сигнал ЧПУ/PLC DB31, … DBX62.3 или
равнозначную переменную $AA_MEAACT[<Axis>]:
$AA_MEAACT==1: Измерение активно
$AA_MEAACT==0: Измерение не активно
Ограничение измерительного щупа
Системная переменная $A_PROBE_LIMITED позволяет считывать в программе ЧПУ или
синхронном действии состояние ограничения измерительного щупа при использовании
телеграммы PROFIBUS 395:
$A_PROBE_LIMITED[<n>] == 0: Ограничение измерительного щупа не активно / сброшено
$A_PROBE_LIMITED[<n>] == 1: Ограничение измерительного щупа активно
<n> = номер измерительного щупа
Результаты измерения для MEASA / MEAWA
Результаты измерения щупом могут быть считаны в программе обработки детали и в
синхронных действиях через следующие системные переменные:
Системная перемен-
Объяснение
ная
$AA_MM1[<ось>]
Значение, измеренное щупом, при пусковом событии 1 в MCS
$AA_MM4[<ось>]
Значение, измеренное щупом, при пусковом событии 4 в MCS
$AA_MW1[<ось>]
Значение, измеренное щупом, при пусковом событии 1 в WCS
$AA_MW4[<ось>]
Значение, измеренное щупом, при пусковом событии 4 в WCS
<ось> = измерительная ось
Программирование ЧПУ
644
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
Если задание измерения выполняется с двумя измерительными системами, то каждое из
двух возможных пусковых событий регистрируется обеими измерительными
системами. В этом случае назначение системных переменных следующее:
$AA_MM1[<ось>]
или
$AA_MW1[<ось>]
Измеренное значение измери-
тельной системы 1 при пусковом
событии 1
$AA_MM2[<ось>]
или
$AA_MW2[<ось>]
Измеренное значение измери-
тельной системы 2 при пусковом
событии 1
$AA_MM3[<ось>]
или
$AA_MW3[<ось>]
Измеренное значение измери-
тельной системы 1 при пусковом
событии 2
$AA_MM4[<ось>]
или
$AA_MW4[<ось>]
Измеренное значение измери-
тельной системы 2 при пусковом
событии 2
Непрерывное измерение (MEAC)
В случае MEAC измеренные значения доступны в системе координат станка и
помещаются в указанную память FIFO[<n>] (динамическая память). Если для измерения
сконфигурировано два измерительных щупа, то измеренные значения второго щупа
отдельно помещаются в дополнительно сконфигурированную для этого (настройка
через MD) память FIFO[<n>+1].
Память FIFO - это динамическая память, в которой измеренные значения по
динамическому принципу вносятся в переменную $AC_FIFO.
Примечание
Содержание FIFO может быть выгружено из динамической памяти только один раз. Для
многократного использования измеренных данных они должны быть промежуточно
сохранены в данных пользователя.
При превышении числом измеренных значений макс. установленного в машинных
данных для памяти FIFO числа, измерение автоматически завершается.
Бесконечное измерение может быть реализовано посредством циклической выгрузки
измеренных значений. При этом выгрузка должна осуществляться как минимум также
часто, как поступление новых измеренных значений.
Дополнительная информация: Описание функций "Синхронные действия"
Защита от ошибок программирования
Следующие ошибочные программирования определяются и индицируются с ошибкой:
• MEASA/MEAWA вместе с MEAS/MEAW программируются в одном кадре.
Пример:
N01 MEAS=1 MEASA[X]=(1,1) G01 F100 POS[X]=100
• MEASA/MEAWA с числом параметров <2 или >5.
Пример:
N01 MEAWA[X]=(1) G01 F100 POS[X]=100
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
645
Расширенное программирование
4.7 Специальные команды перемещения
• MEASA/MEAWA с пусковым событием, отличным от 1/ -1/ 2/ -2
Пример:
N01 MEASA[B]=(1,1,3) B100
• MEASA/MEAWA с неправильным режимом
Пример:
N01 MEAWA[B]=(4,1) B100
• MEASA/MEAWA с дважды запрограммированным пусковым событием
Пример:
N01 MEASA[B]=(1,1,-1,2,-1) B100
• MEASA/MEAWA и отсутствующая гео-ось
Пример:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) G01 X50 Y50 Z50 F100 ;ГЕО-ось X/Y/
Z
• Несогласованное задание измерения для гео-осей
Пример:
N01 MEASA[X]=(1,1) MEASA[Y]=(1,1) MEASA[Z]=(1,1,2) G01 X50 Y50 Z50
F100
См. также
Синхронные действия (Страница 992)
4.7.9
Специальные функции для OEM-пользователя (OMA1 ... OMA5, OEMIPO1,
OEMIPO2, G810 ... G829)
Адреса OEM
Значение адресов OEM определяет пользователь OEM. Функция реализуется через
компилированные циклы. 5 адресов OEM зарезервировано (OMA1 ... OMA5).
Идентификаторы адресов настраиваемые. Адреса OEM разрешены в каждом кадре.
Зарезервированные вызовы G-команд:
Для пользователя OEM зарезервированы следующие вызовы G-команд:
• OEMIPO1, OEMIPO2 (из группы G 1)
• G810 ... G819 (G-группа 31)
• G820 ... G829 (G-группа 32)
Функция реализуется через компилированные циклы.
Программирование ЧПУ
646
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
Функции и подпрограммы
Дополнительно пользователи ОЕМ могут создавать и предопределенные функции и
подпрограммы с передачей параметров.
Примечание
Симуляция детали
При симуляции детали до ПО 4.4 не поддерживаются, от ПО 4.4 поддерживаются только
некоторые компилируемые циклы (CC).
Поэтому языковые команды в программе обработки детали из не поддерживаемых
компилируемых циклов (OMA1 ... OMA5, OEMIPO1/2, G810 ... G829, некоторые процессы
и функции) приводят без индивидуальной обработки с сигнализации ошибки и отмене
симуляции.
Решение: В индивидуальном порядке обработать отсутствующие CC-спец. языковые
элементы в программе обработки детали ($P_SIM-запрос).
Пример:
N1 G01 X200 F500
IF (1==$P_SIM)
N5 X300 ;при симуляции CC не активен
ELSE
N5 X300 OMA1=10
ENDIF
4.7.10
Уменьшение подачи с замедлением на углах (FENDNORM, G62, G621)
При автоматическом замедлении на углах подача уменьшается колоколообразно
непосредственно перед соответствующим углом. Кроме этого, объем релевантных для
обработки параметров инструмента может быть спараметрирован через установочные
данные.
• Начало и конец уменьшения подачи
• Процентовка, с которой уменьшается подача
• Определение релевантного угла
В качестве релевантных углов учитываются такие углы, внутренний угол которых
меньше, чем спараметрированный через установочные данные угол.
При значении по умолчанию FENDNORM функция автоматической угловой процентовки
отключается.
Синтаксис
FENDNORM
G62 G41
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
647
Расширенное программирование
4.7 Специальные команды перемещения
G621
Объяснение
FENDNORM:
Автоматическое замедление на углах выкл
G62:
Замедление на внутренних углах при активной коррекции радиуса инструмента
G621:
Замедление на всех углах при активной коррекции радиуса инструмента
G62 действует только на внутренних углах с активной коррекцией радиуса инструмента
G41/G42 и активным режимом управления траекторией G64/G641.
Подвод к соответствующему углу выполняется с уменьшенной подачей, которая
рассчитывается следующим образом:
F * (процентовка для уменьшения подачи) * процентовка подачи
Макс. возможное уменьшение подачи достигается тогда, когда инструмент,
относительно траектории центра, должен выполнить изменение направление в
соответствующем углу.
G621 действует аналогично G62 на каждом углу, определенных через FGROUP осей.
4.7.11
Программируемый критерий окончания движения (FINEA, COARSEA,
IPOENDA, IPOBRKA, ADISPOSA)
Подобно критерию смены кадра при траекторной интерполяции (G601, G602 и G603),
для командных осей/осей PLC в программе обработки детали или в синхронных
действиях можно запрограммировать критерий окончания движения для интерполяции
отдельной оси.
В зависимости от того, какой критерий окончания движения установлен, кадры
программы обработки детали или кадры технологического цикла с движениями
отдельных осей завершаются с различной скоростью. Это же относится и к PLC через
FC15/16/18.
Синтаксис
FINEA[<ось>]
COARSEA[<ось>]
IPOENDA[<ось>]
IPOBRKA(<ось>[,<момент времени>])
ADISPOSA(<ось>[,<режим>,<размер окна>])
Значение
FINEA:
Критерий окончания движения: "Точный останов точный"
Активность:
модально
COARSEA:
Критерий окончания движения: "Точный останов грубый"
Активность:
модально
IPOENDA:
Критерий окончания движения:"Стоп интерполятора"
Программирование ЧПУ
648
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.7 Специальные команды перемещения
Активность:
модально
IPOBRKA:
Критерий смены кадра: Рампа торможения
Активность:
модально
ADISPOSA:
Окно допуска для критерия окончания движения
Активность:
модально
<ось>:
Имя оси канала (X, Y,
)
<момент времени>:
Момент времени смены кадра, относительно рампы торможения
в %:
•
100% = начало рампы торможения
•
0% = конец рампы торможения, однозначно с IPOENDA
Тип:
REAL
<режим>:
Отношение окна допуска
Диапазон значе-
0
Окно допуска не активно
ний:
1
Окном допуска относительно заданной
позиции
2
Окном допуска относительно фактиче-
ской позиции
Тип:
INT
<размер окна>:
Размер окна допуска
Тип:
REAL
Примеры
Пример 1: Критерий окончания движения: "Стоп интерполятора"
Программный код
; переместить позиционирующую ось X на 100, скорость 200 м/мин,
ускорение 90%,
; критерий окончания движения: Стоп интерполятора
N110 G01 POS[X]=100 FA[X]=200 ACC[X]=90 IPOENDA[X]
; синхронное действие:
; ВСЕГДА КОГДА: вход 1 установлен
; ТОГДА переместить позиционирующую ось X на 50, скорость 200 м/
мин, ускорение 140%,
; критерий окончания движения: Стоп интерполятора
N120 EVERY $A_IN[1] DO POS[X]=50 FA[X]=200 ACC[X]=140
IPOENDA[X]
Пример 2: Критерий смены кадра: "Рампа торможения"
Программный код
Комментарий
; установка по умолчанию действует
N40 POS[X]=100
; Движение позиционирования X на позицию 100
Критерий смены кадра: точный останов точный
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
649
Расширенное программирование
4.8 Трансформации координат (фреймы)
Программный код
Комментарий
N20 IPOBRKA(X,100)
; Критерий смены кадра: "Рампа торможения",
100% = начало рампы торможения
N30 POS[X]=200
; Смена кадра выполняется, как только ось Х начинает торможение
N40 POS[X]=250
; Ось X не продолжает торможение на позицию 200, а продолжает движение
на позицию 250.
Как только ось начинает торможение, происходит смена кадра.
N50 POS[X]=0
; Ось X тормозит и возвращается на позицию 0.
Смена кадра выполняется на позиции 0 и при "Точном останове точном"
N60 X10 F100
; Ось X движется как траекторная ось на позицию 10
Дополнительная информация
Системная переменная для критерия окончания движения
Активный критерий окончания движения может быть считан через системную
переменную $AA_MOTEND.
Критерий смены кадра: "Рампа торможения" (IPOBRKA)
Если при активации критерия смены кадра "Рампа торможения" для опционального
момента времени смены кадры, но начинает действовать для следующего движения
позиционирования и записывается синхронно с главным ходом в установочные данные.
Если значение для момента времени смены кадра не указано, то активируется
актуальное значение установочных данных.
SD43600 $SA_IPOBRAKE_BLOCK_EXCHANGE
При следующем программировании осевого критерия окончания движения FINEA,
COARSEA , IPOENDA) IPOBRKA для соответствующей оси деактивируется.
Дополнительный критерий смены кадра: "Окно допуска" (ADISPOSA)
С ADISPOSA в качестве дополнительного критерия смены кадра можно определить окно
допуска вокруг конечной точки кадра (по выбору фактическая или заданная позиция).
Тогда для смены кадра должны быть выполнены оба условия:
• Критерий смены кадра: "Рампа торможения"
• Критерий смены кадра: "Окно допуска"
4.8
Трансформации координат (фреймы)
4.8.1
Трансформация координат через фрейм-переменные
Наряду с фрейм-операторами (Страница 316), например, ROT, AROT, SCALE и т. д., систему
координат детали (WCS) можно трансформировать и через фрейм-переменные $P_...FR
(фреймы УД) и $P_...FRAME (активные фреймы).
Программирование ЧПУ
650
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
На следующем рисунке показана схема структурирования фрейм-переменных:
• Фреймы УД
• Активные фреймы
• Активный общий фрейм: соединение всех активных фреймов
• Глобальные фреймы ЧПУ
• Специфические для канала фреймы
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
651
Расширенное программирование
4.8 Трансформации координат (фреймы)
̧͗͜͏͉͇͝͏ͦ
̶͕͇͓͓͇͗͊͗ ͕͈͇͈͕͙͗͑͏ ͙͇͋͌͒͏ ̯͔͙͌͗͛͌͐͘ ͖͕͎͕͉͇͙͒ͣ͌͒ͦ
̻͓͗͌͐͢ ͒͟͏͕͉͛͑͏
1&8 RGHU &+$1
3B*)5>Q@
̸͏͙͓͔͌͌͘͢ ͓͛͗͌͐͢
3B*)5> @
&+$1
3B&<&)5
3B5(/)5
3B75$)5
3B,62 )5
3B:3)5
̨͇͎͕͉͌͢ ͓͛͗͌͐͢
̴͇͙͇͗͘͏͉͇͓͌͌͢ ͓͛͗͌͐͢
3B,62 )5
3B722/)5
1&8
&+$1
1&8 RGHU &+$1
3B,62 )5
3B(;7)5
3B1&%)5>Q@
3B&+%)5>Q@
3B8,)5>Q@
3B,62 )5
3B6(7)5
3B3$57)5
3B1&%)5> @
3B&+%)5> @
3B8,)5> @
*
*
*
3,B6(78'7
*)5$0(
*)5$0(
5HVHW
̧͙͑͏͉͇͝͏ͦ ͓͕͉͛͗͌͐ ̺̫ ͓͕͉͛͗͌͐ ͇͔͔͗͌͜͏ͦ ͇͔͔͋͢͜ ͎͌͗͌͞
͏͎͓͔͔͌͌͏͌ ͖͕͈͇͎͕͉͇͔͗͌͗͏ͦ *(2$;
̱͇͔͇͒b
̧͙͑͏͉͔͌͢ ͓͛͗͌͐͢
3B$&7)5$0(
3B3$57)5$0( 3B6(7)5$0( 3B(;7)5$0(
̧͙͑͏͉͔͐͢ ͕͈͠͏͐ ͓͛͗͌͐ ͎͇ ͙͌͘͞ ͕͌͋͘͏
3B,62 )5$0(
3B,62 )5$0( 3B,62 )5$0(
͔͔͌͏ͦ ͉͌͘͜ ͇͙͑͏͉͔͢͜ ͓͕͉͛͗͌͐ ͉ ͚͇͎͇͔͑
3B$&7%)5$0(
3B,)5$0( 3B*)5$0(
͔͕͐ ͖͕͕͉͇͙͔͕͙͒͌͋͌͒ͣ͘͘͏
3B722/)5$0(
3B:3)5$0( 3B75$)5$0(
3B3)5$0( 3B,62 )5$0( 3B&<&)5$0(
̶͕͇͓͓͇͗͊͗ ͕͈͇͈͕͙͗͑͏ ͙͇͋͌͒͏
Рисунок 4-1
Обзор фрейм-переменных
Программирование ЧПУ
652
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
4.8.1.1
Предопределенные фрейм-переменные ($P_CHBFRAME, $P_IFRAME,
$P_PFRAME, $P_ACTFRAME)
Активно: Специфические для канала фреймы $P_CHBFRAME[ <n> ] ($P_BFRAME)
Примечание
Актуальный базовый фрейм $P_BFRAME и базовый фрейм УД $P_UBFR сохраняются из
соображений совместимости.
• $P_BFRAME ≙ $P_CHBFRAME[0]
• $P_UBFR ≙ $P_CHBFR[0].
Фрейм-переменные $P_CHBFRAME[<n>] определяют отношение между базовой
кинематической системой (BKS) и базовой системой нулевой точки (BNS).
Если актуальный специфический для канала базовый фрейм $P_CHBFRAME[<n>] должен
активироваться в программе ЧПУ немедленно, имеются следующие возможности
• Команды:
- G500 (выключение всех настраиваемых фреймов, базовые фреймы остаются
активными)
- G54 ... G599 (настраиваемые смещения нулевой точки)
• Присваивание специфического для канала базового фрейма системы УД
актуальному специфическому для канала базовому фрейму:
$P_CHBFRAME[<n>] = $P_CHBFR[<m>]
=
=
%.6
%16
;
%16
3B$&7%)5$0(
;%.6
Активно: специфический для канала фрейм $P_IFRAME
Фрейм-переменная $P_IFRAME, определяет отношение между базовой системой
нулевой точки (BNS) и настраиваемой системой нулевой точки (ENS).
• $P_IFRAME соответствует $P_UIFR[$P_IFRNUM]
• $P_IFRAME содержит после программирования, к примеру, G54 определенные
через G54 смещение, вращение, масштабирование и отражение.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
653
Расширенное программирование
4.8 Трансформации координат (фреймы)
=
(16
=
%16
<
(16
<%16
;
(16
; %16
Активно: специфический для канала программируемый фрейм $P_PFRAME
Фрейм-переменная $P_PFRAME, определяет отношение между настраиваемой системой
нулевой точки (ENS) и системой координат детали (WCS).
$P_PFRAME содержит результирующий фрейм, полученный
• из программирования TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/
AMIRROR или
• из присваивания CTRANS, CROT, CMIRROR, CSCALE программируемому FRAME
=
:.6
=
(16
=%16
<
(16
%16
<
<
:.6
;:
.6
; (16
; %16
Активно: Общий фрейм $P_ACTFRAME
Действующий в канале общий фрейм, получается из соединения всех действующих в
канале фреймов.
$P_ACTFRAME =
$P_PARTFRAME : $P_SETFRAME
: $P_EXTFRAME :
$P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :
$P_ACTBFRAME : $P_IFRAME
: $P_GFRAME :
$P_TOOLFRAME : $P_WPFRAME
: $P_TRAFRAME :
$P_PFRAME
: $P_ISO4FRAME : $P_CYCFRAME
$P_ACTFRAME описывает нулевую точку актуальной системы координат детали.
Программирование ЧПУ
654
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
=:.6
=
=%.6
(16
=%16
<(16
<%16
<.6
;:.6
;(16
;%16
;%.6
3B$&7)5$0(
Рисунок 4-2
Фрейм-переменная $P_ACTFRAME
Если один из следующих фреймов $P_BFRAME / $P_CHBFRAME[<n>], $P_IFRAME или
$P_PFRAME изменяется, то актуальный общий фрейм $P_ACTFRAME пересчитывается
заново.
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͑ ͖͗͏͓͚͌͗
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͑ ͖͗͏͓͚͌͗
3B8%)5 &75$16 ;
3B8,)5>Q@ &75$16 ;
̩͉͕͋
̩͉͕͋
͎͌͗͌͞ +0, 00&
͎͌͗͌͞ +0, 00&
3B8%)5
3B8,)5>Q@
͇͙͑͏͉͏͕͉͇͔͕͗
͎͌͗͌͞
*
*
*
3B$&7)5$0(
3B%)5$0(
3B,)5$0(
3B3)5$0(
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͑
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͑ ͖͗͏͓͚͌͗
͖͗͏͓͚͌͗
3B3)5$0( &75$16 ;
3B%)5$0( &75$16 ;
͏͒͏ 75$16 ;
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͑
͖͗͏͓͚͌͗
3B,)5$0( &75$16 ;
Базовый фрейм и настраиваемый фрейм действуют после Reset, если MD 20110
RESET_MODE_MASK установлены следующим образом:
Бит0=1, Бит14=1 --> $P_UBFR (базовый фрейм) действует
Бит0=1, Бит5=1 --> $P_UIFR[$P_UIFRNUM] (настр. фрейм) действует
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
655
Расширенное программирование
4.8 Трансформации координат (фреймы)
Хранение данных: Специфические для канала базовые фреймы $P_CHBFR[<n>]
Через фрейм-переменные $P_CHBFR[<n>] базовые фреймы в системе УД считываются /
записываются. Фрейм УД при записи активируется в канале не сразу. Активация
записанного фрейма происходит при следующих условиях:
• Reset канала и MD20110 $MC_RESET_MODE_MASK,Бит0 == 1 и Бит14 == 1
• Команда G500, G54 ... G57, G505 ... G599 (включение/выключение базовых фреймов
с последующим пересчетом актуального общего фрейма)
Хранение данных: Специфические для канала настраиваемые фреймы $P_UIFR[<n>]
Через фрейм-переменные $P_UIFR[<n>] настраиваемые фреймы в системе УД
считываются / записываются. Фрейм при записи активируется в канале не сразу.
Записанный фрейм учитывается в канале при следующих условиях:
• Команда G500 (выключение всех настраиваемых фреймов или смещений нулевой
точки)
• Команда G54 ... G57, G505 ... G599 (включение настраиваемого фрейма или
смещения нулевой точки)
Активный настраивае-
Фрейм УД
(соответствует команде)
мый фрейм
$P_IFRAME =
$P_UIFR[0]
G500
$P_UIFR[1]
G54
$P_UIFR[2]
G55
$P_UIFR[3]
G56
$P_UIFR[4]
G57
$P_UIFR[5]
G505
$P_UIFR[6]
G506
$P_UIFR[99]
G599
4.8.2
Присвоение значений фреймам
4.8.2.1
Присвоение прямых значений (значение оси, угол, масштаб)
В программе ЧПУ возможно прямое присваивание значений фреймам или фрейм-
переменным.
Синтаксис
Синтаксис
$P_PFRAME = CTRANS(X, <значение смещения>, Y, <значение смещения>, Z,
<значение смещения>, ...)
Программирование ЧПУ
656
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
$P_PFRAME = ROT(X, <угол>, Y, <угол>, Z, <угол>, ...)
$P_UIFR[..] = CROT(X, <угол>, Y, <угол>, Z, <угол>, ...
$P_PFRAME = CSCALE(X, <масштаб>, Y, <масштаб>, Z, <масштаб>, ...)
$P_PFRAME = CMIRROR(X, Y, Z)
Синтаксис для $P_CHBFRAME[<n>] идентичен $P_PFRAME.
Значение
CTRANS:
Смещение в указанных осях
CROT:
Вращение вокруг указанных осей
CSCALE:
Изменение масштаба в указанных осях
CMIRROR:
Реверсирование указанной оси
X, Y, Z :
Значение смещения в направлении указанной гео-оси
<значение
Значение смещения
смещения>:
<угол>:
Угол, на который выполняется поворот
<масштаб>:
Указание масштаба
Примеры
Присваивание значений компонентам актуального программируемого фрейма
Присваивание значений компонентам смещения, поворота и отражения актуального
программируемого фрейма:
$P_PFRAME = CTRANS(X,10,Y,20,Z,5) : CROT(Z,45) : CMIRROR(y)
Z
2
Y
3
Y
Y
X
Z
X
1
Y
1 CTRANS
2 CROT
3 CMIRROR
X
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
657
Расширенное программирование
4.8 Трансформации координат (фреймы)
Запись компонентов поворота фрейма
Присваивание значений всем трем осям компонента поворота настраиваемого фрейма
УД $P_UIFR с помощью CROT :
$P_UIFR[5]=CROT (X, 0, Y, 0, Z, 0)
В качестве альтернативы этому прямое присваивание отдельных значений
соответствующим осям компонента поворота фрейма УД:
$P_UIFR[5, Y, RT]=0
$P_UIFR[5, X, RT]=0
$P_UIFR[5, Z, RT]=0
Описание
Несколько операций на одном фрейме можно соединить через связывающий оператор :
друг с другом. В этом случае операции выполняются последовательно слева направо.
Пример
Связанные операции на $P_PFRAME со смещением, поворотом и масштабированием:
$P_PFRAME = CTRANS(...) : CROT(...) : CSCALE...
<
<
&527
;
;
4.8.2.2
Чтение и изменение компонентов фрейма (TR, FI, RT, SC, MI)
Существует возможность обращения к отдельным данным фрейма, к примеру, к
определенному значению смещения или углу поворота. Эти значения могут изменяться
или присваиваться другой переменной.
Программирование ЧПУ
658
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
Синтаксис
R10=$P_UIFR[$P_UIFNUM,X,RT]
Угол поворота RT вокруг оси X из актуального
действующего настраиваемого смещения нуле-
вой точки $P_UIFRNUM должен быть присвоен
переменной R10.
R12=$P_UIFR[25,Z,TR]
Значение смещения TR в Z из блока данных ус-
тановленного фрейма Nr. 25 должно быть при-
своено переменной R12.
R15=$P_PFRAME[Y,TR]
Значение смещения TR в Y актуального програм-
мируемого фрейма должно быть присвоено
переменной R15.
$P_PFRAME[X,TR] = 25
Значение смещения TR в X актуального програм-
мируемого фрейма должно быть изменено. С
этого момента действует X25.
Значение
$P_UIFRNUM:
С помощью этой переменной автоматически создается связь с
актуальным действительным настраиваемым смещением нулевой
точки.
P_UIFR[n,…,…] :
Посредством указания номера фрейма n осуществляется
обращение к настраиваемому фрейму Nr. n.
Указание компонента, который должен быть считан или изменен:
TR:
TR смещение
FI:
FI смещение точное
RT:
RT вращение
SC:
SC Scale изменение масштаба
MI:
MI отражение
X, Y, Z :
Дополнительно (см. примеры) указывается соответствующая ось
X, Y, Z.
Диапазон значений для вращения RT
Вращение вокруг 1-й гео-оси:
-180° до +180°
Вращение вокруг 2-й гео-оси:
-90° до +90°
Вращение вокруг 3-й гео-оси:
-180° до +180°
Описание
Вызов фрейма
Через указание системной переменной $P_UIFRNUM можно напрямую обращаться к
актуальному, установленному с помощью $P_UIFR или G54, G55, … смещению нулевой
точки
($P_UIFRNUM содержит номер актуального установленного фрейма).
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
659
Расширенное программирование
4.8 Трансформации координат (фреймы)
Все другие сохраненные настраиваемые фреймы $P_UIFR вызываются через указание
соответствующего номера $P_UIFR[n].
Для предопределенных фрейм-переменных и определенных пользователем фреймов
указывается имя, к примеру, $P_IFRAME.
Вызов данных
В квадратных скобках стоят имя оси и компоненты фрейма значения, к которому
выполняется обращение или которое должно быть изменено, к примеру, [X, RT] или [Z,
MI].
4.8.2.3
Вычисление с фреймами
В программе ЧПУ возможно присвоение одного фрейма другому фрейму или
соединение фреймов друг с другом.
Соединения фреймов подходят, к примеру, для описания нескольких деталей,
расположенных на одной палете, которые должны быть обработаны в течение одного
технологического процесса.
Z
Y
G54
X
Для описания задач палет компоненты фрейма могут содержать, к примеру, только
определенные частные значения, посредством соединения которых создаются
различные нулевые точки детали.
Примеры
Присваивания
Программный код
Комментарий
DEF FRAME EINSTELLUNG_1
; Определение локальной фрейм-переменной
EINSTELLUNG_1 = CTRANS(X,10)
; Присваивание результата функции фрейм-переменной
Программирование ЧПУ
660
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
Программный код
Комментарий
$P_PFRAME = EINSTELLUNG_1
; Присваивание фрейм-переменной актуальному фрейму
DEF FRAME EINSTELLUNG_4
; Определение локальной фрейм-переменной
EINSTELLUNG_4 = $P_PFRAME
; Буферизация актуального фрейма во фрейм-переменной
$P_PFRAME = EINSTELLUNG_4
; Эхо-считывание актуального фрейма из фрейм-переменной
Соединения
Фреймы соединяются друг с другом в запрограммированной последовательности с
помощью оператора : . Компоненты фрейма, например смещения, повороты и т. д.,
выполняются друг за другом аддитивно.
Программный код
Комментарий
$P_IFRAME = $P_UIFR[15] :
; Присваивание фрейма результата из соединения
$P_UIFR[16]
; двух настраиваемых фреймов УД активному
; настраиваемому общему фрейму.
; Пример использования:
; $P_UIFR[15]: Смещение
; $P_UIFR[16]: Вращение
$P_UIFR[3] = $P_UIFR[4] :
; Присваивание фрейма результата из соединения
$P_UIFR[5]
; двух настраиваемых фреймов УД какому-либо
; другому настраиваемому фрейму УД
4.8.2.4
Определение фрейм-переменных (DEF FRAME)
Наряду с предопределенными фрейм-переменными можно определять и собственные
фрейм-переменные. Самостоятельно определяемые фрейм-переменные - это
переменные пользователя типа FRAME. Имя фрейму можно давать произвольно в
рамках правил работы с переменными пользователя.
С помощью функций CTRANS, CROT, CSCALE, CMIRROR самостоятельно определяемым
фрейм-переменным можно присваивать значения.
Синтаксис
DEF FRAME <имя>
Значение
DEF FRAME:
Определить переменные пользователя типа FRAME.
<имя>:
Имя фрейм-переменной
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
661
Расширенное программирование
4.8 Трансформации координат (фреймы)
Пример
Определение фрейм-переменной "PALETTE" и присваивание значений смещения и
поворота:
Программный код
Комментарий
DEF FRAME PALETTE
; Определить фрейм-переменную PALETTE
PALETTE = CTRANS(...) : CROT(...)
; Присваивание фрейма результата соединения
; смещения и поворота фрейм-переменной PALETTE
4.8.3
Грубое и точное смещение (CTRANS, CFINE)
Точное смещение
Точное смещение CFINE(...) можно применять к следующим фреймам:
• Настраиваемые фреймы: $P_UIFR или $P_IFRAME
• Базовые фреймы: $P_NCBFR[<n>], $P_CHBFR[<n>] или $P_CHBFRAMES[<n>] или
$P_ACTBFRAME
• Программируемый фрейм: $P_PFRAME
Точное смещение фрейма программируется с командой CFINE(...).
Грубое смещение
Грубое смещение CTRANS(...) можно применять ко всем фреймам.
Общее смещение
Общее смещение получается из сложения грубого и точного смещений.
Машинные данные
Разрешение точного смещения
Точное смещение разрешается с помощью машинных данных:
MD18600 $MN_MM_FRAME_FINE_TRANS = 1
Программирование ЧПУ
662
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
Синтаксис
Точное смещение
• Общий фрейм
- <фрейм> = CFINE(<K_1>,<значение>)
- <фрейм> = CFINE(<K_1>,<значение>, <K_2>, <значение>)
- <фрейм> = CFINE(<K_1>,<значение>, <K_2>, <значение>, <K_3>,
<значение>)
• Фрейм-компонент
- <фрейм>[<n>, <K_1>, FI] = <значение>
Грубое смещение
• Общий фрейм
- <фрейм> = CTRANS(<K_1>,<значение>)
- <фрейм> = CTRANS(<K_1>,<значение>, <K_2,<значение>)
- <фрейм> = CTRANS(<K_1>,<значение>, <K_2,<значение>,
<K_3,<значение>)
• Фрейм-компонент
- <фрейм>[<n>,<K_1>,TR] = <значение>
Специально для программируемого фрейма $P_PFRAME:
• TRANS <K_1> <значение>
• TRANS <K_1> <значение> <K_2> <значение>
• TRANS <K_1> <значение> <K_2> <значение> <K_3> <значение>
Значение
<фрейм>:
Фрейм, например настраиваемый фрейм системы УД $P_UIFR[<n>]
CFINE:
Точное смещение, аддитивное смещение.
CTRANS:
Грубое смещение, абсолютное смещение
TRANS:
Только программируемый фрейм: Грубое смещение, абсолютное смещение
<K_n>:
Оси координат X, Y, Z
<значение>:
Значение смещения
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
663
Расширенное программирование
4.8 Трансформации координат (фреймы)
4.8.4
Внешнее смещение нулевой точки ($AA_ETRANS)
Внешнее смещение нулевой точки - это линейное смещение между базовой
кинематической системой (BKS) и базовой системой нулевой точки (BNS).
=%16
=%.6
;%16
B(75$16
3B(;7)5$0(
;%.6
Внешнее смещение нулевой точки с помощью $AA_ETRANS действует двумя способами
в зависимости от параметрирования машинных данных:
1. Системная переменная $AA_ETRANS после активации интерфейсным сигналом ЧПУ/
PLC действует непосредственно как значение смещения
2. Значение системной переменной $AA_ETRANS после активации интерфейсным
сигналом ЧПУ/PLC принимается в активные системные фреймы $P:EXTFRAME и во
фрейм УД $P_EXTFR. Затем активный общий фрейм $P_ACTFRAME пересчитывается
заново.
Машинные данные
При использовании системной переменной $AA_ETRANS следует различать два способа
действий, которые выбираются через следующие машинные данные:
MD28082 $MC_MM_SYSTEM_FRAME_MASK,бит1 = <значение>
<значе-
Объяснение
ние>
0
Функция: Прямая запись $AA_ETRANS[<ось>] через PLC, HMI или программу ЧПУ.
Разрешение на вывод смещения нулевой точки из $AA_ETRANS[<ось>] в ближайшем
кадре перемещения: DB31, ...DBX3.0
1
Функция: Активация активного системного фрейма $P:EXTFRAME и фрейма УД
$P_EXTFR
Разрешение на вывод смещения нулевой точки из $AA_ETRANS[<ось>] через: DB31, ...
DBX3.0. После этого в канале происходит:
• Остановка всех движений перемещения в канале (кроме командных осей/осей PLC)
• Остановка предварительной обработки с последующей реорганизацией (STOPRE)
• Грубое смещение активного фрейма $P_EXTFRAME[<ось>] = $AA_ETRANS[<ось>]
• Грубое смещение фрейма УД $P_EXTFR[<ось>] = $AA_ETRANS[<ось>]
• Пересчет активного общего фрейма $P_ACTFRAME
• Вывод смещения в запрограммированных осях.
• Продолжение прерванного движения перемещения или программы ЧПУ
Программирование ЧПУ
664
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
Программирование
• Синтаксис
$AA_ETRANS[<ось>] = <значение>
• Объяснение
$AA_ETRANS:
Системная переменная для буферизации внешнего смеще-
ния нулевой точки
<ось>:
Ось канала
<значение>:
Значение смещения
Интерфейсный сигнал ЧПУ/PLC
DB31, ... DBX3.0 = 0 → 1 ⇒ $P_EXTFRAME[<ось>] = $P_EXTFR[<ось>] = $AA_ETRANS[<ось>]
4.8.5
Установка фактического значения с потерей состояния реферирования
(PRESETON)
Процедура PRESETON() устанавливает для одной или нескольких осей новое фактическое
значение в системе координат станка (MCS). Это соответствует смещению нулевой точки
MCS оси. При этом ось не перемещается.
С помощью PRESETON вызывается остановка предварительной обработки с
синхронизацией. Фактическая позиция присваивается оси только в состоянии покоя.
Если ось при PRESETON не согласована с каналом, дальнейшие действия зависят от
специфического для оси конфигурирования режима перехода оси:
MD30552 $MA_AUTO_GET_TYPE
Состояние реферирования
При установке нового фактического значения в системе координат станка состояние
реферирования оси станка сбрасывается:
DB31, ... DBX60.4 / .5 = 0 (Реферирует / синхронизирует измерительную систему 1 / 2)
Рекомендуется использовать PRESETON только для осей без обязательной референтной
точки.
Для восстановления первоначальной системы координат станка необходимо заново
реферировать измерительную систему оси станка, например, через реферирование из
программы обработки детали (G74).
ОСТОРОЖНО
Потеря состояния реферирования
При установке нового фактического значения в системе координат станка с помощью
PRESETON состояние реферирования оси станка сбрасывается на "не
референцировано / синхронизировано".
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
665
Расширенное программирование
4.8 Трансформации координат (фреймы)
Программирование
Синтаксис
PRESETON(<ось_1>, <значение_1> [, <ось_2>, <значение_2>, ... <ось_8>, <значение_8>])
Объяснение
PRESETON:
Установка фактического значения с потерей состояния реферирования
Остановка пред-
да
варительной об-
работки:
Автономно в ка-
да
дре:
<ось_x>:
Имя оси станка
Тип:
AXIS
Диапазон значе-
определенные в канале имена осей станка
ний:
<значение_x>:
Новое фактическое значение оси станка в системе координат станка (MCS)
Ввод осуществляется в актуальной действующей системе единиц (дюймо-
вой / метрической)
Учитывается активное программирование диаметра (DIAMON)
Тип:
REAL
Дополнительная информация
PRESETON в программе ЧПУ
Подробное описание PRESETON в программах ЧПУ см.: Описание функций - Основные
функции.
PRESETON в синхронных действиях
Подробное описание PRESETON в синхронных действиях см.: Описание функций -
Синхронные действия
4.8.6
Установка фактического значения без потери состояния
реферирования (PRESETONS)
Процедура PRESETONS() устанавливает для одной или нескольких осей новое
фактическое значение в системе координат станка (MCS). Это соответствует смещению
нулевой точки MCS оси. При этом ось не перемещается.
С помощью PRESETONS вызывается остановка предварительной обработки с
синхронизацией. Фактическая позиция присваивается оси только в состоянии покоя.
Если ось при PRESETONS не согласована с каналом, дальнейшие действия зависят от
специфического для оси конфигурирования режима перехода оси:
MD30552 $MA_AUTO_GET_TYPE
Программирование ЧПУ
666
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
Состояние реферирования
При установке нового фактического значения в системе координат станка (MKS) с
помощью PRESETONS состояние реферирования оси станка не изменяется.
Условия
• Тип датчика
PRESETONS можно использовать только при следующих типах датчика активной
измерительной системы:
- MD30240 $MA_ENC_TYPE[<измерительная система>] = 0 (Симулированный датчик)
- MD30240 $MA_ENC_TYPE[<измерительная система>] = 1 (Датчик необработанного
сигнала)
• Режим реферирования
PRESETONS можно использовать только при следующих режимах реферирования
активной измерительной системы:
- MD34200 $MA_ENC_REFP_MODE[<измерительная система>] = 0 (Реферирование
невозможно)
- MD34200 $MA_ENC_REFP_MODE[<измерительная система>] = 1 (Реферирование
инкрементных, ротационных или линейных измерительных систем: нулевой
импульс в канале датчика)
Программирование
Синтаксис
PRESETONS(<ось_1>, <значение_1> [, <ось_2>, <значение_2>, ... <ось_8>,
<значение_8>])
Объяснение
PRESETONS:
Установка фактического значения без потери состояния реферирования
Остановка пред-
да
варительной об-
работки:
Автономно в ка-
да
дре:
<ось_x>:
Имя оси станка
Тип:
AXIS
Диапазон значе-
определенные в канале имена осей станка
ний:
<значение_x>:
Новое актуальное фактическое значение оси станка в системе координат
станка (MCS)
Ввод осуществляется в активной системе единиц (дюймовой / метрической)
Учитывается активное программирование диаметра (DIAMON)
Тип:
REAL
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
667
Расширенное программирование
4.8 Трансформации координат (фреймы)
Дополнительная информация
PRESETONS в программе ЧПУ
Подробное описание PRESETONS в программах ЧПУ см.: Описание функций - Основные
функции.
PRESETONS в синхронных действиях
Подробное описание PRESETONS в синхронных действиях см.: Описание функций -
Синхронные действия
4.8.7
Вычисление фрейма из 3 точек измерения в пространстве (MEAFRAME)
Функция MEAFRAME используется для поддержки измерительных циклов. Она
вычисляет фрейм из трех идеальных и соответствующих измеренных точек.
При позиционировании детали для обработки ее позиция относительно декартовой
системы координат станка касательно ее идеальной позиции по умолчанию как
смещена, так и повернута. Для точной обработки или измерения необходима либо
дорогостоящая физическая юстировка, либо изменение движений в программе
обработки детали.
Фрейм может быть определен через сканирование трех точек в пространстве,
идеальные позиции которых известны. Сканирование выполняется посредством
контактного или оптического сенсора, который касается точно зафиксированных на
несущей пластине отверстий или измерительных сфер.
Синтаксис
MEAFRAME(<идеальные точки>,<точки измерения>,<качество>)
Объяснение
MEAFRAME:
Вызов функции
<идеальные точки>:
2-мерное REAL-поле, содержащее три координаты идеальных точек
<точки измерения>:
2-мерное REAL-поле, содержащее три координаты измеренных точек
Программирование ЧПУ
668
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
<качество>:
Переменная, возвращающая информацию о качестве вычисления
ФРЕЙМА
Тип:
VAR REAL
Значе-
-1
Идеальные точки располагаются практически
ние:
на одной прямой: Не удалось вычислить фрейм.
Возвращенная ФРЕЙМ-переменная содержит
нейтральный фрейм.
-2
Точки измерения располагаются практически
на одной прямой: Не удалось вычислить фрейм.
Возвращенная ФРЕЙМ-переменная содержит
нейтральный фрейм.
-4
Вычисление матрицы вращения не удалось по
иной причине.
≥ 0.0
Сумма искажений (расстояния между точками),
необходимая для перевода измеренного треу-
гольника в конгруэнтный идеальному треуголь-
ник.
Примечание
Качество измерения
Для того, чтобы измеренные координаты могли бы быть согласованы с идеальными
координатами с комбинированным вращением/смещением, образованный точками
измерения треугольник должен быть конгруэнтен идеальному треугольнику. Это
осуществляется посредством алгоритма компенсации, минимизирующего сумму
квадратов погрешностей, преобразующих измеренный треугольник в идеальный.
Эффективное необходимое искажение точек измерения может служить индикатором
качества измерения и поэтому выводится как дополнительная переменная MEAFRAME.
Примечание
Созданный MEAFRAME фрейм через функцию ADDFRAME может быть преобразован в
другой фрейм цепочки фреймов (см. пример "Соединение с ADDFRAME").
Примеры
Пример 1:
Программа обработки детали 1:
Программный код
DEF FRAME CORR_FRAME
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
669
Расширенное программирование
4.8 Трансформации координат (фреймы)
Установка точек измерения:
Программный код
Комментарий
DEF REAL IDEAL_POINT[3,3]=
SET(10.0,0.0,0.0,0.0,10.0,0.0,0.0,0.0,10.0)
DEF REAL MEAS_POINT[3,3]=
; Для теста.
SET(10.1,0.2,-0.2,-0.2,10.2,0.1,-0.2,0.2,9.8)
DEF REAL FIT_QUALITY=0
DEF REAL ROT_FRAME_LIMIT=5
; Макс. разрешенный поворот позиции дета-
ли на 5 градусов.
DEF REAL FIT_QUALITY_LIMIT=3
; Разрешено макс. смещение в 3 мм между
идеальным и измеренным треугольником.
DEF REAL SHOW_MCS_POS1[3]
DEF REAL SHOW_MCS_POS2[3]
DEF REAL SHOW_MCS_POS3[3]
Программный код
Комментарий
N100 G01 G90 F5000
N110 X0 Y0 Z0
N200 CORR_FRAME=MEAFRAME(IDEAL_POINT,MEAS_POINT,FIT_QUALITY)
N230 IF FIT_QUALITY < 0
SETAL(65000)
GOTOF NO_FRAME
ENDIF
N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT
SETAL(65010)
GOTOF NO_FRAME
ENDIF
N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT
; Ограничение 1-го угла RPY
SETAL(65020)
GOTOF NO_FRAME
ENDIF
N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT
; Ограничение 2-го угла RPY.
SETAL(65021)
GOTOF NO_FRAME
ENDIF
N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT
; Ограничение 3-го угла RPY
SETAL(65022)
GOTOF NO_FRAME
ENDIF
N300 $P_IFRAME=CORR_FRAME
; Активировать фрейм выборки с устанавли-
ваемым фреймом.
; Проверить фрейм через позиционирова-
ние гео-осей на идеальные точки.
Программирование ЧПУ
670
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
Программный код
Комментарий
N400 X=IDEAL_POINT[0,0] Y=IDEAL_POINT[0,1]
Z=IDEAL_POINT[0,2]
N410 SHOW_MCS_POS1[0]=$AA_IM[X]
N420 SHOW_MCS_POS1[1]=$AA_IM[Y]
N430 SHOW_MCS_POS1[2]=$AA_IM[Z]
N500 X=IDEAL_POINT[1,0] Y=IDEAL_POINT[1,1] Z=IDEAL_POINT[1,2]
N510 SHOW_MCS_POS2[0]=$AA_IM[X]
N520 SHOW_MCS_POS2[1]=$AA_IM[Y]
N530 SHOW_MCS_POS2[2]=$AA_IM[Z]
N600 X=IDEAL_POINT[2,0] Y=IDEAL_POINT[2,1] Z=IDEAL_POINT[2,2]
N610 SHOW_MCS_POS3[0]=$AA_IM[X]
N620 SHOW_MCS_POS3[1]=$AA_IM[Y]
N630 SHOW_MCS_POS3[2]=$AA_IM[Z]
N700 G500
; Деактивировать устанавливаемый фрейм,
так как предустановка с нулевым фреймом
(значение не внесено).
No_FRAME
; Деактивировать устанавливаемый фрейм,
так как предустановка с нулевым фреймом
(значение не внесено).
M0
M30
Пример 2: Соединение фреймов
Соединение MEAFRAME для коррекций
Функция MEAFRAME выводит фрейм коррекции. Если этот фрейм коррекции
связывается с настраиваемым фреймом $P_UIFR[1], который был активен при вызове
функции (например, G54), то получается настраиваемый фрейм для дальнейших
пересчетов для перемещения или обработки.
Соединение с ADDFRAME
Если этот фрейм коррекции должен действовать в цепочке фреймов на другом месте или
если перед настраиваемым фреймом есть другие активные фреймы, то функция
ADDFRAME для включения в цепочку может использоваться в одном из базовых
фреймов канала или системном фрейме.
При этом во фреймах не должны быть активны:
• Отражение с MIRROR
• Масштабирование с SCALE
Входные параметры для заданных и фактических значений стоят в координатах детали.
В основной системе СЧПУ эти координаты всегда должны указываться метрическими или
дюймовыми (G71/G70) и как относящийся к радиусу (DIAMOF) размер.
Дополнительная информация по ADDFRAME: Описание функций - Основные функции.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
671
Расширенное программирование
4.8 Трансформации координат (фреймы)
4.8.8
Глобальные фреймы
Глобальные фреймы существуют для каждого ЧПУ только в одном экземпляре для всех
каналов. Глобальные фреймы могут записываться и считываться из всех каналов.
Активация глобальных фреймов осуществляется в соответствующем канале.
Посредством глобальных фреймов возможно масштабирование и отражение осей
канала и осей станка со смещениями.
Геометрические связи и цепочки фреймов
Для глобальных фреймов не существует геометрической связи между осями. Поэтому
выполнение вращений и программирование идентификаторов гео-осей невозможно.
К глобальным фреймам не могут применяться вращения. Программирование вращения
отклоняется с аварийным сообщением 18310 "Канал %1 Кадр %2: вращение
недопустимо".
Соединение глобальных фреймов и спец. для канала фреймов возможно.
Результирующий фрейм содержит все компоненты фрейма вкл. вращения для всех осей.
Присваивание фрейма с компонентами вращения глобальному фрейму отклоняется с
ошибкой "Фрейм: вращение недопустимо".
Глобальные фреймы
Глобальные базовые фреймы $P_NCBFR[n]
Можно сконфигурировать до 8 глобальных базовых фреймов:
Одновременно возможно наличие спец. для канала базовых фреймов.
Глобальные базовые фреймы могут записываться и считываться из всех каналов ЧПУ.
При записи глобальных фреймов пользователь должен обеспечить координацию
каналов. Это может быть реализовано, к примеру, с помощью меток ожидания (WAITMC).
Примечание
Изготовитель станка
Число глобальных базовых фреймов проектируется через машинные данные.
Дополнительная информация: Описание функций - Основные функции
Настраиваемые фреймы $P_UIFR[n]
Все настраиваемые фреймы G500, G54...G599 можно конфигурировать глобально или
спец. для канала.
Примечание
Изготовитель станка
Все настраиваемые фреймы с помощью машинных данных
MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMES могут быть перепроектированы в
глобальные фреймы.
Программирование ЧПУ
672
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
В качестве идентификаторов осей для программных команд фреймов могут
использоваться идентификаторы осей канала и идентификаторы осей станка.
Программирование идентификаторов гео-осей отклоняется с ошибкой.
4.8.8.1
Специфические для канала фреймы ($P_CHBFR, $P_UBFR)
Настраиваемые фреймы или базовые фреймы могут записываться и считываться через
программу обработки детали и через BTSS с панели оператора и с PLC.
Точное смещение возможно и для глобальных фреймов. Подавление глобальных
фреймов, как и спец. для канала фреймов, осуществляется через G53, G153, SUPA и
G500.
Изготовитель станка
Через машинные данные MD28081 $MC_MM_NUM_BASE_FRAMES можно спроектировать
число базовых фреймов в канале. Стандартная конфигурация такова, что существует
мин. один базовый фрейм на канал. Возможно макс. 8 базовых фреймов на канал. В
дополнение к 8 базовым фреймам в канале может существовать еще 8 глобальных
базовых фреймов ЧПУ.
Специфические для канала фреймы
$P_CHBFR[n]
Через системную переменную $P_CHBFR[n] возможно чтение и запись базовых
фреймов. При записи базового фрейма связанный общий базовый фрейм не
активируется, а активация происходит только при выполнении оператора G500,
G54 ... G599. Переменная служит в первую очередь памятью для процессов записи в
базовый фрейм с HMI или PLC. Эти фрейм-переменные сохраняются через архивацию
данных.
Первый базовый фрейм в канале
Запись в предопределенную переменную $P_UBFR активирует базовый фрейм с
индексом поля 0 не сразу же, а активация выполняется только при выполнении
оператора G500, G54 ... G599. Запись и чтение переменной возможно и в программе.
$P_UBFR
$P_UBFR идентична $P_CHBFR[0]. Стандартно всегда имеется один базовый фрейм в
канале, поэтому системная переменная является совместимой с более старыми
версиями. Если спец. для канала базовый фрейм отсутствует, то при записи или чтении
выводится аварийное сообщение "Фрейм: недопустимый оператор".
4.8.8.2
Действующие в канале фреймы
Действующие в канале фреймы вводятся из программы обработки детали через
соответствующие системные переменные этих фреймов. К ним относятся и системные
фреймы. Через эти системные переменные возможно чтение и запись актуального
системного фрейма в программе обработки детали.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
673
Расширенное программирование
4.8 Трансформации координат (фреймы)
Актуальные действующие в канале фреймы
Обзор
Актуальные системные фреймы
для:
$P_PARTFRAME
TCARR и PAROT
$P_SETFRAME
Установка фактического значения и
касание
$P_EXTFRAME
Внешнее смещение нулевой точки
$P_NCBFRAME[n]
Актуальные глобальные базовые
фреймы
$P_CHBFRAME[n]
Актуальные базовые фреймы канала
$P_BFRAME
Актуальный 1-й базовый фрейм в ка-
нале
$P_ACTBFRAME
Общий базовый фрейм
$P_CHBFRMASK и $P_NCBFRMASK
Общий базовый фрейм
$P_IFRAME
Актуальный настраиваемый фрейм
Актуальные системные фреймы
для:
$P_TOOLFRAME
TOROT и TOFRAME
$P_WPFRAME
Исходные точки детали
$P_TRAFRAME
Трансформации
$P_PFRAME
Актуальный программируемый
фрейм
Актуальный системный фрейм
для:
$P_CYCFRAME
Циклы
P_ACTFRAME
Актуальный общий фрейм
Цепочка фреймов
Актуальный фрейм состоит из общего
базового фрейма
$P_NCBFRAME [n] Актуальные глобальные базовые фреймы
Через системную переменную $P_NCBFRAME[n] возможно чтение и запись элементов
поля актуальных глобальных базовых фреймов. Результирующий общий базовый
фрейм через процесс записи учитывается в канале.
Измененный фрейм активируется только в том канале, в котором он был
запрограммирован. Если необходимо изменить фрейм для всех каналов ЧПУ, то
необходима одновременная запись в $P_NCBFR[n] и $P_NCBFRAME[n]. После прочие
каналы еще должны активировать фрейм, к примеру, с G54. При записи базового
фрейма общий базовый фрейм вычисляется заново.
$P_CHBFRAME[n] Актуальные базовые фреймы канала
Через системную переменную $P_CHBFRAME[n] возможно чтение и запись элементов
поля базовых фреймов канала. Результирующий общий базовый фрейм через процесс
записи учитывается в канале. При записи базового фрейма общий базовый фрейм
вычисляется заново.
Программирование ЧПУ
674
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
$P_BFRAME Актуальный 1-й базовый фрейм в канале
Через предопределенную фрейм-переменную $P_BFRAME актуальный базовый фрейм с
индексом поля 0, действующий в канале, может быть считан и записан в программе
обработки детали. Записанный базовый фрейм сразу же учитывается.
$P_BFRAME идентична $P_CHBFRAME[0]. Системная переменная стандартно всегда имеет
действительное значение. Если спец. для канала базовый фрейм отсутствует, то при
записи или чтении выводится аварийное сообщение "Фрейм: недопустимый оператор".
$P_ACTBFRAME Общий базовый фрейм
Переменная $P_ACTFRAME определяет связанный общий базовый фрейм. Переменная
только для чтения.
$P_ACTFRAME соответствует:
$P_NCBFRAME[0] : ... : $P_NCBFRAME[n] : $P_CHBFRAME[0] : ... : $P_CHBFRAME[n].
<
%.6
<
< %16
3B$&7%)5$0(
%16
;
%16
3B&+%)5$0(>Q@ Q
͕͔͑͛͏͚͊͗͏͕͉͇͔͗͏͌ ͎͌͗͌͞
0&B00B180B%$6(B)5$0(6
3B&+%)5$0(> @ 3B%)5$0(
3B1&%)5$0(>Q@ Q
01B00B180B*/2%$/B%$6(B)5$0(6
͕͔͑͛͏͚͊͗͏͕͉͇͔͗͏͌ ͎͌͗͌͞
;
3B1&%)5$0(> @
;
%.6
%16
͈͇͎͕͉͇ͦ ͘͏͙͓͇͌͘ ͔͚͉͕͒͌͐ ͙͕͑͞͏
%.6
%.6
͈͇͎͕͉͇ͦ ͑͏͔͓͇͙͌͏͇͌͑ͦ͘͞ ͘͏͙͓͇͌͘
3
$&7%)5$0( 3B1&%)5$0(> @ 3B1&%)5$0(>Q@ 3B&+%)5$0(> @ 3B&+%)5$0(>Q@
$P_CHBFRMASK и $P_NCBFRMASK Общий базовый фрейм
Через системную переменную $P_CHBFRMASK и $P_NCBFRMASK пользователь может
выбрать, какие базовые фреймы он хотел бы включить в вычисление "общего" базового
фрейма. Переменные могут программироваться только в программе и считываться
через BTSS. Значение переменных интерпретируется как битовая маска и указывает,
какой элемент поля базового фрейма из $P_ACTFRAME включается в вычисление.
$P_CHBFRMASK позволяет установить, какие спец. для канала базовые фреймы
учитываются; $P_NCBFRMASK позволяет установить, какие глобальные базовые фреймы
учитываются.
При программировании переменных общий базовый фрейм и общий фрейм
рассчитываются заново. После Reset и в первичной установке $P_CHBFRMASK и
$P_NCBFRMASK имеют следующее значение:
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
675
Расширенное программирование
4.8 Трансформации координат (фреймы)
$P_CHBFRMASK = $MC_CHBFRAME_RESET_MASK
$P_NCBFRMASK = $MC_CHBFRAME_RESET_MASK
Пример:
$P_NCBFRMASK = 'H81' ;$P_NCBFRAME[0] : $P_NCBFRAME[7]
$P_CHBFRMASK = 'H11' ;$P_CHBFRAME[0] : $P_CHBFRAME[4]
$P_IFRAME Актуальный настраиваемый фрейм
Через предопределенную фрейм-переменную $P_IFRAME актуальный настраиваемый
фрейм, действующий в канале, может быть считан и записан в программе обработки
детали. Записанный настраиваемый фрейм сразу же учитывается.
Для настраиваемых глобальных фреймов измененный фрейм действует только в
канале, в котором фрейм был запрограммирован. Если необходимо изменить фрейм
для всех каналов ЧПУ, то потребуется одновременная запись в $P_UIFR[n] и $P_IFRAME.
После прочие каналы еще должны активировать соответствующий фрейм, к примеру, с
G54.
$P_PFRAME Актуальный программируемый фрейм
$P_PFRAME это программируемый фрейм, получаемый из программирования TRANS/
ATRANS, G58/G59, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR или из присваивания
CTRANS, CROT, CMIRROR, CSCALE программируемому ФРЕЙМУ.
Актуальная, программируемая фрейм-переменная, устанавливающая отношение
между настраиваемой системой нулевой точки (ENS) и системой координат детали (WCS).
P_ACTFRAME Актуальный общий фрейм
Актуальный результирующий общий фрейм $P_ACTFRAME получается как соединение
всех базовых фреймов, актуального настраиваемого фрейма и программируемого
фрейма. Актуальный фрейм актуализируется всегда, когда изменяется один из его
компонентов.
$P_ACTFRAME соответствует:
$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME : $P_IFRAME :
$P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_CYCFRAME
Программирование ЧПУ
676
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.8 Трансформации координат (фреймы)
̻͓͗͌͐͢ ͇͔͔͗͌͜͏ͦ ͇͔͔͋͢͜
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͔͇͖͗͏͓͌͗
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͔͇͖͗͏͓͌͗
3B&+%)5 &75$16 =
3B1&%)5 &75$16 ;
3B8,)5>Q@ &75$16 ;
3B75$)5
͉͉͕͋ ͎͌͗͌͞
͉͉͕͋ ͎͌͗͌͞
̸͖͌͝ ͋͒ͦ ͇͔͇͇͑͒
+0,
͘͏͙͓͔͌͌͘͢ ͓͛͗͌͐͢
3B&<&)5
+0,
3B:3)5
3B722/)5
3B3$57)5
3B&+%)5>Q@
3B1&%)5>Q@
3B(;7)5
̸͖͌͝ ͋͒ͦ ͇͔͇͇͑͒ ͈͇
̪͕͈͇͔͒͒ͣ͌͢
3B6(7)5
3B8,)5>Q@
͎͕͉͌͢ ͓͛͗͌͐͢ 1&8
͓͛͗͌͐͢ 1&8
͇͙͑͏͉͏͕͉͇͔͕͗ ͎͌͗͌͞
͇͙͑͏͉͏͕͉͇͔͕͗ ͎͌͗͌͞
*
*
*
*
*
*
̵͈͠͏͐ ͓͛͗͌͐
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͔͇͖͗͏͓͌͗
̧͙͑͏͉͔͐͢ ͕͈͠͏͐ ͓͛͗͌͐
3B1&%)5$0(> @ &75$16 ;
3B$&7)5$0(
3B3$57)5$0(
6(7)5$0(
3B(;7)5$0(
3B$&7%)5$0(
3B,)5$0(
3B722/)5$0(
3B:3)5$0(
3B75$)5$0(
3B3)5$0(
3B&<&)5$0(
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͔͇͖͗͏͓͌͗
̩͉͕͋ ͎͌͗͌͞ ͖͕͇͓͓͚͗͊͗ ͔͇͖͗͏͓͌͗
3B3)5$0( &75$16 ;
3B,)5$0( &75$16 ;
͏͒͏ 75$16 ;
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
677
Расширенное программирование
4.9 Трансформации
Цепочка фреймов
Актуальный фрейм состоит из общего базового фрейма, настраиваемого фрейма,
системного фрейма и программируемого фрейма согласно указанному выше
актуальному общему фрейму.
͖͕͇̽͌͑͞ ͓͕͉͛͗͌͐
:.6
̻͓͗͌͐ ͋͒ͦ ͝͏͕͉͑͒ ͖͕͇͓͓͗͊͗͏
͚͓͗͌͐͢ ͓͛͗͌͐ ͙͇͔͕͓͇͗͛͗͘͝͏͏
(16
̸͏͙͓͔͌͐͘͢ ͓͛͗͌͐ ͋͒ͦ 72527
72)5$0(
͙͇͋͌͒͏
*
*
͚͙͇͔͇͉͒͘͏͉͇͓͌͐͢ ͓͛͗͌͐
͖͌͘͝ ͋͒ͦ ͇͔͇͇͑͒ ͏͒͏ ͕͈͇͔͊͒͒ͣ͐͢ 1&8
%16
̸͉͎͇͔͔͕ͦ͌ ͖͕͒͌ ͈͇͎͕͉͢͜ ͓͕͉͛͗͌͐
͖͌͘͝ ͋͒ͦ ͇͔͇͇͑͒ ͏
͏͒͏ ͕͈͇͔͕͊͒͒ͣ͌ 1&8
̸͉͎͇͔͔ͦ͌͢ ͘͏͙͓͔͌͌͘͢ ͓͛͗͌͐͢ ͋͒ͦ 3$527 ͚͙͇͔͕͉͑͘͏ ͇͙͛͑͏͕͕͌͑͊͘͞
͎͔͇͔͌͞͏ͦ ͇͇͔͑͘͏ͦ ͉͔͔͕͌͌͊͟ ͓͔͌͌͘͠͏ͦ ͔͚͉͕͒͌͐ ͙͕͑͞͏
̸͓͔͌͌͠͏͌ ͓͇͕͉͜͏͕͓͑͞ '5)
͔͇͕͍͔͔͕͒͌͌ ͉͋͏͍͔͌͏͌
>͉͔͔͌͌͌͟ ͓͔͌͌͘͠͏͌ ͔͚͉͕͒͌͐ ͙͕͑͞͏@
%.6
̱͏͔͓͇͙͌͏͇͌͑ͦ͘͞ ͙͇͔͕͓͇͗͛͗͘͝͏ͦ
0.6
̸͓͔͌͌͠͏͌ ͔͙͔͕͗͌͛͌͗͌͐ ͙͕͑͞͏
0&6
͘͏͙͓͇͌͘ ͕͕͑͗͋͏͔͇͙ ͙͇͔͇͑͘
%.6
͈͇͎͕͉͇ͦ ͑͏͔͓͇͙͌͏͇͌͑ͦ͘͞ ͘͏͙͓͇͌͘
:&6
͘͏͙͓͇͌͘ ͕͕͑͗͋͏͔͇͙ ͙͇͋͌͒͏
%16
͈͇͎͕͉͇ͦ ͘͏͙͓͇͌͘ ͔͚͉͕͒͌͐ ͙͕͑͞͏
(16
͔͇͙͇͗͘͏͉͇͓͇͌ͦ ͘͏͙͓͇͌͘ ͔͚͉͕͒͌͐ ͙͕͑͞͏
4.9
Трансформации
4.9.1
Общее программирование типов трансформаций
Трансформации корректируют СЧПУ в соответствии с кинематикой станков. Активация
трансформации выполняется посредством вызова функции в программе ЧПУ. Через эти
параметры можно задать и ориентацию инструмента в пространстве, и движения
ориентации круговых осей.
В случае трансформаций ориентации (3-, 4-, 5-осевая трансформация)
запрограммированные данные позиций всегда относятся к острию инструмента.
Инструмент отслеживается ортогонально к находящейся в пространстве
обрабатываемой поверхности. Декартовы координаты пересчитываются из базовой
Программирование ЧПУ
678
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
кинематической системы в систему координат станка и относятся к гео-осям. Они
описывают рабочую точку. Виртуальные круговые оси описывают ориентации
инструмента в пространстве.
При кинематической трансформации (TRANSMIT, TRACYL, TRAANG) позиции могут
программироваться в декартовой системе координат. СЧПУ преобразует
запрограммированные движения перемещения декартовой системы координат в
движения перемещения реальных осей станка.
Программирование
Активация трансформации ориентации
TRAORI(<номер трансформации>,<вектор ориентации>,<смещение круговой оси>)
Активация кинематической трансформации
TRANSMIT(<номер трансформации>)
TRACYL(<рабочий диаметр>,<номер трансформации>)
TRAANG(<угол наклонной оси>,<номер трансформации>)
Выключение активной трансформации
TRAFOOF
Трансформация ориентации
3-, 4-, 5-осевые трансформации (TRAORI)
Для оптимальной обработки оформленных в пространстве поверхностей в рабочей зоне
станка, станку, кроме трех линейных осей X, Y и Z, необходимы дополнительные оси.
Дополнительные оси описывают ориентацию в пространстве и далее будут называться
"оси ориентации". Как оси вращения они доступны для четырех типов станков с
различной кинематикой:
1. Двухосевая качающаяся головка
Например, карданная инструментальная головка с круговой осью параллельно
линейной оси при зафиксированном инструментальном столе
2. Двухосевой поворотный стол
Например, зафиксированная качающаяся головка с инструментальным столом,
поворачивающимся вокруг двух осей.
3. Одноосевая качающаяся головка и одноосевой поворотный стол
Например, качающаяся головка с повернутым инструментом при инструментальном
столе, поворачивающимся вокруг одной оси.
4. Двухосевая качающаяся головка и одноосевой поворотный стол
Например, при инструментальном столе, поворачивающимся вокруг одной оси, и
вращающаяся качающаяся головка с вращающимся вокруг самого себя
инструментом
3- и 4-осевые трансформации это особые формы 5-осевой трансформации, которые
программируются аналогично 5-осевым трансформациям.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
679
Расширенное программирование
4.9 Трансформации
Объем функций трансформации "Базовая 3-/4-/5-/6-осевая трансформация" включает
расположенные под прямым углом круговые оси, а также трансформации для
карданной фрезерной головки; как и любую другую трансформацию ориентации, ее для
этих четырех типов станков может активировать TRAORI. При базовой 5/6-осевой
трансформации ориентация инструмента имеет дополнительную третью степень
свободы, при которой инструмент может вращаться вокруг собственной оси
произвольно в пространстве в направлении инструмента.
Дополнительная информация: Описание функций - Трансформации
Независящая от кинематики первичная установка ориентации инструмента
ORIRESET
Если с TRAORI активна трансформация ориентации, то с помощью ORIRESET можно
указать первичные установки макс. 3 осей ориентации с опционными параметрами A, B,
C. Согласование запрограммированных параметров с круговыми осями выполняется
согласно определенной через трансформацию последовательности осей ориентации.
Следствием программирования ORIRESET(A, B, C) является линейное и синхронное
движение осей ориентации от их актуальной позиции к указанной позиции первичной
установки.
Кинематические трансформации
TRANSMIT и TRACYL
Для фрезерных обработок на токарных станках для согласованной трансформации
можно активировать следующие режимы обработки:
• Торцовая обработка в токарном зажиме с TRANSMIT
• Обработка пазов произвольной формы на цилиндрических телах с TRACYL
TRAANG
Если, например, для технологии шлифования, необходима возможность подачи оси
подачи под углом, то TRAANG позволяет запрограммировать параметрируемый угол для
согласованной трансформации.
Движение “от точки к точке” в декартовой системе координат
К кинематической трансформации относится и "Движение "от точки к точке" в
декартовой системе координат", при котором может быть запрограммировано до 8
положений шарнира (STAT=...). Позиции программируются в декартовой системе
координат, при этом движение станка осуществляется в координатах станка.
Дополнительная информация: Описание функций - Трансформации
Последовательная связь трансформаций
Возможно последовательное включение двух трансформаций соответственно. Для
связанной таким образом второй трансформации компоненты движения осей берутся
из первой трансформации.
Программирование ЧПУ
680
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
В качестве первой трансформации возможны:
• Трансформация ориентации TRAORI
• Полярная трансформация TRANSMIT
• Цилиндрическая трансформация TRACYL
• Трансформация наклонной оси TRAANG
Второй трансформацией должна быть наклонная ось TRAANG.
4.9.1.1
Движения ориентации при трансформациях
Движения перемещения и движения ориентации
Движения перемещения программируемых ориентаций зависят, в первую очередь, от
типа станка. При 3-, 4- и 5-осевой трансформации с TRAORI круговые оси или поворотные
линейные оси описывают движения ориентации инструмента.
Изменения позиций участвующих в трансформации ориентации круговых осей
приводят к движениям компенсации прочих осей станка. При этом позиция острия
инструмента остается неизменной.
Движения ориентации инструмента могут программироваться через идентификаторы
круговых осей A…, B…, C… виртуальных осей, в зависимости от использования, либо
через указание эйлерова угла или угла RPY или векторов направления или векторов
нормалей плоскостей, нормированных векторов для оси вращения конуса, либо для
промежуточной ориентации на боковой поверхности конуса.
При кинематической трансформации с TRANSMIT, TRACYL и TRAANG СЧПУ преобразует
запрограммированные движения перемещения декартовой системы координат в
движения перемещения реальных осей станка.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
681
Расширенное программирование
4.9 Трансформации
Кинематика станка при 3-, 4- и 5-осевой трансформации TRAORI
Возможно вращение либо инструмента, либо инструментального стола с помощью макс.
двух круговых осей. Комбинация одноосевой качающейся головки и поворотного стола
также возможна.
;
:
$
:
#
"
9
9
;
;
:
$
$
"
9
① Тип станка 1 с последовательностью осей CA
• Инструментальный суппорт может вращаться вокруг оси X и оси Z
• Неподвижный стол изделия
② Тип станка 2 с последовательностью осей AC
• Неподвижный инструментальный суппорт
• Стол изделия может вращаться вокруг оси X и оси Z
③ Тип станка 3 с последовательностью осей BC
• Инструментальный суппорт может вращаться вокруг оси Y
• Стол изделия может вращаться вокруг оси Z
Программирование ЧПУ
682
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
Тип станка
Программирование ориентации
3-осевая трансформация,
Программирование ориентации инструмента только в плоскости,
типы станка 1 и 2
расположенной вертикально к круговой оси. Существует
две поступательные оси (линейные оси) и
одна вращательная ось (круговая ось).
4-осевая трансформация,
Программирование ориентации инструмента только в плоскости,
типы станка 1 и 2
расположенной вертикально к круговой оси. Существует
три поступательные оси (линейные оси) и
одна вращательная ось (круговая ось).
5-осевая трансформация,
Программирование трансформации ориентации. Кинематика с
типы станков 3
тремя линейными осями и двумя ортогональными круговыми
Одноосевая качающаяся го-
осями.
ловка и одноосевой пово-
Круговые оси расположены параллельно двум из трех линейных
ротный стол
осей. Первая круговая ось приводится в движение двумя декар-
товыми линейными осями. Она вращает третью линейную ось с
инструментом. Вторая круговая ось вращает деталь.
Базовые 5/6-осевые трансформации
Тип станка
Программирование трансформации ориентации
Базовая 5-/6-осевая транс-
Программирование трансформации ориентации. Кинематика с
формация, тип станка 4
тремя линейными осями и тремя ортогональными круговыми ос-
Двухосевая качающаяся го-
ями.
ловка с вращающимся во-
Круговые оси расположены параллельно двум из трех линейных
круг самого себя инструмен-
осей. Первая круговая ось приводится в движение двумя декар-
том и одноосевой поворот-
товыми линейными осями. Она вращает третью линейную ось с
ный стол
инструментом. Вторая круговая ось вращает деталь. Базовая
ориентация инструмента может быть запрограммирована посред-
ством дополнительного вращения вокруг себя самой с углом
поворота THETA.
При вызове "Базовой 3-, 4- и 5-/6-осевой трансформации" дополнительно может быть
передана первичная ориентация инструмента. Ограничения касательно направлений
круговых осей более не действуют. Если круговые оси расположены не точно
вертикально друг на друге или если имеющиеся круговые оси расположены не точно
параллельно линейным осям, то "Базовая 5-/6-осевая трансформация" может
обеспечить лучшие результаты ориентации инструмента..
Кинематические трансформации TRANSMIT, TRACYL и TRAANG
Для фрезерных обработок на токарных станках или для подаваемой под наклоном оси
при шлифовании, в зависимости от трансформации, в стандартной ситуации действуют
следующие расположения осей:
TRANSMIT
Активация полярной трансформации
Торцовая обработка в токар-
Одна круговая ось
ном зажиме
Одна ось подачи вертикально к оси вращения
Одна продольная ось параллельно оси вращения
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
683
Расширенное программирование
4.9 Трансформации
TRACYL
Активация трансформации боковой поверхности цилиндра
Обработка пазов произволь-
Одна круговая ось
ной формы на цилиндриче-
Одна ось подачи вертикально к оси вращения
ских телах
Одна продольная ось параллельно оси вращения
TRAANG
Активация трансформации наклонной оси
Обработка с наклонной ос-
Одна круговая ось
ью подачи
Одна ось подачи с параметрируемым углом
Одна продольная ось параллельно оси вращения
Движение “от точки к точке” в декартовой системе координат
Движение станка выполняется в координатах станка и программируется с:
TRAORI
Активация трансформации
PTP Движение "от точки к точ-
Подвод к позиции в декартовой системе координат (MСS)
ке"
CP
Движение по траектории декартовых осей в (BKS)
STAT
Положение шарниров зависит от трансформации
TU
На какой угол оси двигаются по кратчайшему пути
Движение от точки к точке при базовой 5/6-осевой трансформации
Движение станка выполняется в координатах станка и ориентация инструмента может
быть запрограммирована как с позициями круговых осей, так и с независимыми от
кинематики векторами эйлерова угла или угла PRY, или векторами направления.
При этом возможна интерполяция круговой оси, векторная интерполяция с большой
круговой интерполяцией или интерполяция вектора ориентации на боковой
поверхности конуса.
Пример 3- до 5-осевой трансформации для карданной фрезерной головки
Станок имеет минимум 5 осей, из которых
• Три линейные оси для прямолинейных движений, перемещающие рабочую точку в
любую позицию в рабочей зоне.
• Две круговые оси качаний, расположенные под сконфигурированным углом (в
большинстве случаев 45 градусов), позволяют инструменту принимать ориентации в
пространстве, которые при расположении под углом 45 градусов ограничиваются
полусферой.
Программирование ЧПУ
684
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
4.9.1.2
Обзор трансформации ориентации TRAORI
Возможные типы программирования в комбинации с TRAORI
Тип станка
Программирование при активной трансформации TRAORI
Типы станков 1, 2 или 3 Дву-
Последовательность осей ориентации и направление ориентации
хосевая качающаяся голов-
инструмента может проектироваться либо
ка или двухосевой поворот-
относительно станка через машинные данные
ный стол или комбинация
в зависимости от кинематики станка, либо
одноосевой качающейся го-
относительно детали с программируемой ориентацией
ловки и поворотного стола
независимо от кинематики станка
соответственно.
Направления вращения осей ориентации в базовой системе про-
граммируются с:
- ORIMKS базовая система = система координат станка
- ORIWKS базовая система = система координат детали
Первичной установкой является ORIWKS.
Программирование осей ориентации с:
A, B, C позиций осей станка напрямую
A2, B2, C2 программирование угла виртуальных осей с
- ORIEULER через эйлеров угол (стандарт)
- ORIRPY через угол RPY
- ORIVIRT1 через виртуальные оси ориентации 1-ого определения
- ORIVIRT2 через виртуальные оси ориентации 2-ого определения
с дифференциацией типа интерполяции:
линейная интерполяция
- ORIAXES осей ориентации или осей станка
большая круговая интерполяция (интерполяция вектора ориен-
тации)
- ORIVECT осей ориентации
Программирование осей ориентации через указание
A3, B3, C3 компонентов вектора (направления/нормали плоско-
сти)
Программирование результирующей ориентации инструмента
A4, B4, C4 вектора нормалей плоскостей в начале кадра
A5, B5, C5 вектора нормалей плоскостей в конце кадра
LEAD угол предварения для ориентации инструмента
TILT боковой угол для ориентации инструмента
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
685
Расширенное программирование
4.9 Трансформации
Тип станка
Программирование при активной трансформации TRAORI
Интерполяция вектора ориентации на боковой поверхности ко-
нуса
Изменения ориентации на расположенной произвольно в про-
странстве
боковой поверхности конуса через интерполяцию:
- ORIPLANE в плоскости (большая круговая интерполяция)
- ORICONCW на боковой поверхности конуса по часовой стрелке
- ORICONCCW на боковой поверхности конуса против часовой
стрелки
A6, B6, C6 вектора направления (ось вращения конуса)
-OICONIO интерполяция на боковой поверхности конуса с:
A7, B7, C7 промежуточные векторы (стартовая и конечная ориен-
тация) или
- ORICONTO на боковой поверхности конуса тангенциальный пе-
реход
Изменения ориентации относительно траектории с
- ORICURVE задача движения двух контактных точек через
PO[XH]=(xe, x2, x3, x4, x5) Полиномы ориентации до 5-ого порядка
PO[YH]=(ye, y2, y3, y4, y5) Полиномы ориентации до 5-ого порядка
PO[ZH]=(ze, z2, z3, z4, z5) Полиномы ориентации до 5-ого порядка
- ORIPATHS Сглаживание характеристики ориентации с
A8, B8, C8 Этап переориентации инструмента соответствует: на-
правление и длина хода инструмента при движении отвода
Типы станков 1 и 3
Программирование вращений ориентации инструмента с
LEAD Угол предварения относительно вектора нормалей плоскос-
тей
PO[PHI] Программирование полинома макс. 5-ого порядка
TILT Боковой угол Вращение вокруг касательной к траектории
Для других типов станков с
(направление Z)
дополнительным враще-
PO[PSI] Программирование полинома макс. 5-ого порядка
нием инструмента вокруг се-
THETA Угол поворота (вращение вокруг направления инструмента
бя самого необходима тре-
в Z)
тья круговая ось
THETA= значение, достигаемое в конце кадра
THETA=AC(...) Покадровое переключение на абсолютное указание
размера
Трансформация ориента-
THETA=IC(...) Покадровое переключение на указание составного
ции, к примеру, базовая 6-
размера
осевая трансформация. Вра-
THETA=Θe Интерполяция запрограммированного угла G90/G91
щение вектора ориентации.
PO[THT]=(..) Программирование полинома макс. 5-ого порядка
Программирование вектора вращения
- ORIROTA абсолютное вращение
- ORIROTR относительный вектор вращения
- ORIROTT тангенциальный вектор вращения
Ориентация относительно
Изменения ориентации относительно траектории с
траектории для изменений
- ORIPATH Ориентация инструмента относительно траектории
ориентации относительно
- ORIPATHS дополнительно при изломе характеристики ориента-
траектории или вращения
ции
вектора вращения танген-
Программирование вектора вращения
циально к траектории
- ORIROTC тангенциальный вектор вращения, вращение к каса-
тельной к траектории
Программирование ЧПУ
686
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
4.9.2
3-, 4- и 5-осевая трансформация (TRAORI)
4.9.2.1
Общие связи карданной инструментальной головки
Для достижения оптимальных условий резания при обработке изогнутых в пространстве
поверхностей требуется возможность изменения угла установки инструмента.
̵ͣ͘ ͏͔͙͚͓͔͙͇͗͌͘
С какой конструкцией станка это достигается, зафиксировано в данных осей.
5-осевая трансформация
Карданная инструментальная головка
Здесь три линейные оси (X, Y, Z) и две оси ориентации (C, A) определяют угол установки
и рабочую точку инструмента. Одна из двух осей ориентации является наклонной осью,
здесь в примере A' - во многих случаях располагается под углом 45°.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
687
Расширенное программирование
4.9 Трансформации
Ȓ
"
;
:
$
9
Рисунок 4-3
Карданная инструментальная головка, вариант 1
В приведенных здесь примерах показаны расположения на примере с карданной
инструментальной головкой кинематики станка СА!
Последовательность круговых осей и направление ориентации инструмента могут
устанавливаться в зависимости от кинематики станка через машинные данные (→
изготовитель станка).
"
Ȓ
;
:
$
9
В этом примере A' лежит под углом φ к оси X
Программирование ЧПУ
688
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
В общем и целом действуют следующие возможные связи:
A' лежит под углом φ к
оси X
В' лежит под углом φ к
оси Y
С' лежит под углом φ к
оси Z
Угол φ может быть сконфигурирован в диапазоне 0° до +89° через машинные данные.
С качающейся линейной осью
Здесь речь идет о компоновке с подвижной деталью и подвижным инструментом.
Кинематика состоит из трех линейных осей (X, Y, Z) и двух расположенных под прямым
углом осей вращения. Первая круговая ось приводится в движение, к примеру, через
крестовый суппорт двумя линейными осями, инструмент располагается параллельно
третьей линейной оси. Вторая ось вращения поворачивает деталь. Третья линейная ось
(ось качания) лежит в плоскости крестового суппорта.
Z
A
Y
B
X
Последовательность круговых осей и направление ориентации инструмента могут
устанавливаться в зависимости от кинематики станка через машинные данные.
Действуют следующие возможные связи:
Оси:
Последовательности осей:
1-я круговая ось
A A B B C C
2-я круговая ось
B C A C A B
Повернутая линейная ось
Z Y Z X Y X
Дополнительная информация по конфигурируемым последовательностям осей для
направления ориентации инструмента см.: Описание функций - Трансформации
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
689
Расширенное программирование
4.9 Трансформации
4.9.2.2
3-, 4- и 5-осевая трансформация (TRAORI)
Пользователь может сконфигурировать две или три линейные оси и две круговые оси.
Трансформации исходят из того, что круговые оси расположены ортогонально на
плоскости ориентации.
Ориентация инструмента возможна только в плоскости, расположенной вертикально к
круговой оси. Трансформация поддерживает типы станков с подвижным инструментом
и подвижной деталью.
Проектирование и программирование 3- и 4-осевых трансформаций аналогично
таковым для 5-осевой трансформации.
Синтаксис
TRAORI(<n>)
TRAORI(<n>,<X>,<Y>,<Z>,<A>,<B>)
TRAFOOF
Объяснение
TRAORI:
Активирует первую согласованную трансформацию ориентации
TRAORI(<n>):
Активирует согласованную с n трансформацию ориентации
<n>:
номер трансформации
Значе-
1 или 2
ние:
Пример:
TRAORI(1) активирует трансформацию ориентации 1
<X>,<Y>,<Z>:
Компонент вектора ориентации, на который указывает инструмент.
<A>,<B>:
Программируемое смещение для круговых осей
TRAFOOF:
Отключить трансформацию
Ориентация инструмента
В зависимости от выбранного направления ориентации инструмента, в программе ЧПУ
активная рабочая плоскость (G17, G18, G19) должна быть установлена таким образом,
чтобы коррекция длин инструмента действовала в направлении ориентации
инструмента.
Примечание
После включения трансформации данные позиций (X, Y, Z) всегда относятся к острию
инструмента. Изменение позиций участвующих в трансформации круговых осей
приводит к движениям компенсации прочих осей станка, из-за чего позиция острия
инструмента остается неизменной.
Трансформация ориентации всегда направлена от острия к зажиму инструмента.
Программирование ЧПУ
690
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
Смещение для осей ориентации
При активации трансформации ориентации можно напрямую запрограммировать
дополнительное смещение для осей ориентации.
Можно пропустить параметры, если при программировании соблюдается правильная
последовательность.
Пример:
TRAORI(, , , ,A,B) : если необходимо ввести только одно единственное смещение.
В качестве альтернативы прямому программированию, дополнительное смещение для
осей ориентации может быть автоматически взято и из актуального активного смещения
нулевой точки. Передача конфигурируется через машинные данные.
Примеры
TRAORI(1,0,0,1)
; Первичная ориентация инструмента указывает в направлении Z
TRAORI(1,0,1,0)
; Первичная ориентация инструмента указывает в направлении Z
TRAORI(1,0,1,1)
; Первичная ориентация инструмента указывает в направлении Y/Z (соот-
ветствует позиции -45°)
4.9.2.3
Варианты программирования ориентации и первичная установка (ORIRESET)
Программирование ориентации инструмента при TRAORI
В комбинации с программируемой трансформацией ориентации TRAORI дополнительно
к линейным осям X, Y, Z через идентификаторы круговых осей A.., B..., C... могут быть
запрограммированы позиции осей или виртуальные оси с углами или компоненты
вектора. Для осей ориентации и осей станка возможны различные типы интерполяции.
Независимо от того, какие полиномы ориентации PO[угол] и полиномы осей PO[ось]
активны на соответствующий момент, может быть запрограммировано несколько
различных типов полиномов, например, G1, G2, G3, CIP или POLY.
Изменение ориентации инструмента может быть запрограммировано и через векторы
ориентации. При этом конечная ориентация каждого кадра может быть выполнена либо
через прямое программирование вектора, либо через программирование позиций
круговых осей.
Варианты программирования ориентации при 3- до 5-осевой трансформации
Следующие варианты программирования ориентации являются взаимоисключающими.
A, B, C
Прямое указание позиции круговой оси
A2, B2, C2
Программирование угла виртуальных осей через угол Эйлера или
угол RPY.
A3, B3, C3
Указание компонентов вектора
LEAD, TILT
Указание угла предварения и бокового угла относительно траекто-
рии и поверхности
A4, B4, C4
вектор нормали плоскости в начале кадра и в конце кадра
A5, B5, C5
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
691
Расширенное программирование
4.9 Трансформации
A6, B6, C6
Интерполяция вектора ориентации на боковой поверхности конуса
A7, B7, C7
A8, B8, C8
Переориентация инструмента, направления и длины хода инстру-
мента при движении отвода
Подвод к первичной установке ориентации инструмента
Посредством ORIRESET(...) оси ориентации соответствующей кинематики станка
линейно и синхронно перемещаются из своей текущей позиции на
запрограммированную позиция первичной установки. Если позиция первичной
установки для оси запрограммирована, то используется позиция из соответствующих
машинных данных $MC_TRAFO5_ROT_AX_OFFSET_1/2.
Активные фреймы круговых осей не учитываются.
Примеры кинематики станка CA (имена осей канала C, A)
Команды
Описание
ORIRESET (90, 45)
Ось C: 90°
Ось A: 45°
ORIRESET(, 30)
Ось C: $MC_TRAFO5_ROT_AX_OFFSET_1/2[0]
Ось A: 30°
ORIRESET( )
Ось C: $MC_TRAFO5_ROT_AX_OFFSET_1/2[0]
Ось A: $MC_TRAFO5_ROT_AX_OFFSET_1/2[1]
Примеры кинематики станка CAC (имена осей канала C, A, B)
Команды
Описание
ORIRESET(90, 45, 90)
Ось C: 90°
Ось A: 45°
Ось B: 90°
ORIRESET( )
Ось C: $MC_TRAFO5_ROT_AX_OFFSET_1/2[0]
Ось A: $MC_TRAFO5_ROT_AX_OFFSET_1/2[1]
Ось B: $MC_TRAFO5_ROT_AX_OFFSET_1/2[2]
Примечание
Подвод к исходному положению ориентации инструмента с помощью
функции ORIRESET(...) разрешено выполнять, только если трансформация
ориентации TRAORI(...) активна.
Программирование вращений LEAD, TILT и THETA
Угол предварения LEAD и боковой угол TILT
Вращения ориентации инструмента программируются при 3- до 5-осевой
трансформации с углом предварения LEAD и боковым углом TILT.
Программирование ЧПУ
692
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
Угол поворота THETA
При трансформации с третьей круговой осью можно запрограммировать вращение
инструмента вокруг себя самого с углом поворота THETA для ориентирования как с
компонентами вектора, так и с программированием углов LEAD, TILT.
4.9.2.4
Программирование ориентации инструмента (A..., B..., C..., LEAD, TILT)
Для программирования ориентации инструмента существуют следующие возможности:
1. Прямое программирование движения круговых осей. Изменение ориентации всегда
выполняется в базовой кинематической или системе координат станка. Оси
ориентации перемещаются как синхронные оси.
2. Программирование в углах Эйлера или RPY согласно определению угла через A2,
B2, C2.
3. Программирование вектора направления через A3, B3, C3. Вектор направления
указывает от острия в направлении зажима инструмента.
4. Программирование вектора нормалей плоскостей в начале кадра с A4, B4, C4 и в
конце кадра с A5, B5, C5 (торцовое фрезерование).
5. Программирование через угол предварения LEAD и боковой угол TILT
6. Программирование оси вращения конуса как нормированного вектора через A6,
B6, C6 или промежуточной ориентации на боковой поверхности конуса через A7,
B7, C7,
см. главу "Программирование ориентации вдоль боковой поверхности конуса
(ORIPLANE, ORICONxx)".
7. Программирование переориентации, направления и длины хода инструмента при
движении отвода через A8, B8, C8,
см. главу "Сглаживание характеристики ориентации (ORIPATHS A8=, B8=, C8=)"
Примечание
Во всех случаях программирование ориентации разрешено только тогда, когда
включена трансформация ориентации.
Преимущество: Эти программы работают на любой кинематике станка.
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
693
Расширенное программирование
4.9 Трансформации
Определение ориентации инструмента через команду G
Примечание
Изготовитель станка
Через машинные данные можно переключаться между углами Эйлера или RPY. При
соответствующих настройках машинных данных возможно переключение, как
зависимое, так и не зависимое от активной команды G группы 50. На выбор имеются
следующие возможности настройки:
1. Если оба машинных параметра для определения осей ориентации и определения угла
ориентации установлены G-командой на ноль: Запрограммированные
с A2, B2, C2 углы, независимо от машинных данных определения углов
программирования ориентации, интерпретируются либо как углы Эйлера, либо как
углы RPY.
2. Если машинный параметр определения осей ориентации через G-команду
установлен на единицу, то переключение осуществляется
в зависимости от активной G-команды группы 50:
Запрограммированные с A2, B2, C2 углы интерпретируются согласно одной из
активных G-команд ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2, ORIAXPOS
и ORIPY2. Запрограммированные с осями ориентации значения согласно активной G-
команде группы 50 интерпретируются и как угол ориентации.
3. Если машинный параметр для определения угла ориентации через G-команду
установлен на единицу, а машинный параметр для определения осей ориентации
через G-команду установлен на ноль, то переключение осуществляется
независимо с активной G-команды группы 50:
Запрограммированные с A2, B2, C2 углы интерпретируются согласно одной из
активных G-команд ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2 ORIAXPOS
и ORIPY2 . Независимо от активной G-команды группы 50 запрограммированные с
осями ориентации значения всегда интерпретируются как позиции круговых осей.
Синтаксис
Позиции круговых осей
G1 X<значение> Y<значение> Z<значение> A<значение> B<значение>
C<значение>
Угол Эйлера
G1 X<значение> Y<значение> Z<значение> A2=<значение> B2=<значение>
C2=<значение>
Вектор направления
G1 X<значение> Y<значение> Z<значение> A3=<значение> B3=<значение>
C3=<значение>
Вектор нормали к плоскости в начале кадра
G1 X<значение> Y<значение> Z<значение> A4=<значение> B4=<значение>
C4=<значение>
Программирование ЧПУ
694
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
Вектор нормали к плоскости в конце кадра
G1 X<значение> Y<значение> Z<значение> A5=<значение> B5=<значение>
C5=<значениеt>
Угол предварения
LEAD=<значение>
Боковой угол
TILT=<значение>
Объяснение
G1:
Линейная интерполяция
X, Y, Z:
Позиции линейных осей
A, B, C:
Позиции круговых осей
A2=, B2=, C2=:
Программирование угла (угол Эйлера или угол RPY)
A3=, B3=, C3=:
Вектор направления в координатах X, Y, Z в WСS
A4=, B4=, C4=:
Вектор нормали плоскости в начале кадра в координатах X, Y, Z в WСS
A5=, B5=, C5=:
Вектор нормали плоскости в конце кадра в координатах X, Y, Z в WСS
LEAD= :
Угол предварения 1)
TILT= :
Боковой угол 1)
1) Интерпретация указаний углов зависит от предустановки в MD21094 $MC_ORIPATH_MODE
Дополнительная информация
Как правило, 5-осевые программы создаются системами CAD/CAM, а не вводятся на
СЧПУ. Поэтому объяснения ниже прежде всего предназначены для программистов
постпроцессоров.
Для программирования ориентации доступны следующие команды:
Команда
Объяснение
ORIEULER:
Угол Эйлера с последовательностью вращений ZX'Z''
ORIRPY:
Угол RPY с последовательностью вращений XY'Z''
ORIRPY2:
Угол RPY с последовательностью вращений ZY'X''
ORIVIRT1:
Виртуальные оси ориентации со свободно определяемой последовательно-
стью вращений через:
MD21120 $MC_ORIAX_TURN_TAB_1
ORIVIRT2:
Виртуальные оси ориентации со свободно определяемой последовательно-
стью вращений через:
MD21130 $MC_ORIAX_TURN_TAB_2
ORIAXPOS:
Виртуальные оси ориентации с позициями круговых осей
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
695
Расширенное программирование
4.9 Трансформации
Примечание
Через машинные данные изготовителем станка могут быть определены различные
варианты. Следовать указаниям изготовителя станка.
Программирование в углах Эйлера ORIEULER, последовательность вращений Z X' Z''
Значения, запрограммированные при программировании ориентации ORIEULER с A2,
B2, C2, интерпретируются как угол Эйлера (в градусах).
Новый вектор ориентации получается посредством следующих трех вращений
изначального вектора ориентации
1. с круговой осью A2 вокруг оси координат Z
2. с круговой осью B2 вокруг новой оси координат X'
3. с круговой осью C2 вокруг новой оси координат Z''
В этом случае значение C2 (поворот вокруг новой оси Z) не имеет значения, и его
программирование не требуется.
Программирование в углах RPY ORIRPY ORIRPY, последовательность вращений X Y' Z''
Значения, запрограммированные при программировании ориентации ORIRPY
посредством A2, B2, C2, интерпретируются как угол RPY (в градусах) с
последовательностью вращений X Y' Z'.
Примечание
В отличие от программирования посредством ORIEULER, при ORIRPY все три значения
влияют на вектор ориентации.
Новый вектор ориентации получается посредством следующих трех вращений
изначального вектора ориентации
1. с круговой осью A2 вокруг оси координат X
2. с круговой осью B2 вокруг новой оси координат Y'
3. с круговой осью C2 вокруг новой оси координат Z''
Программирование вектора направления
Компоненты вектора направления программируются с A3, B3, C3 . Вектор указывает
в направлении зажима инструмента; длина вектора при этом не имеет значения.
Не запрограммированные компоненты вектора устанавливаются на ноль.
Программирование ЧПУ
696
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
Расширенное программирование
4.9 Трансформации
=
2
;
<
X, Y, Z
Оси координат WCS
A3, B3, C3 Компоненты вектора направления
O
вектор ориентации
Рисунок 4-4
Программирование вектора направления
Программирование ориентации инструмента посредством LEAD и TILT
Результирующая ориентация инструмента получается из:
• касательной к траектории
• вектора нормали к плоскости
В начале кадра A4, B4, C4 и в конце кадра A5, B5, C5
• Угол предварения LEAD
Угол в плоскости, образованной касательной к траектории и вектором нормали к
плоскости
• Боковой угол TILT в конце кадра
Угол в плоскости, вертикально к касательной к траектории относительно вектора
нормали к плоскости
Программирование ЧПУ
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2
697
Расширенное программирование
4.9 Трансформации
1
2
7&3
%
6
7
T
Касательная к траектории
S
Перпендикуляр к касательной к траектории.
N
Нормаль к плоскости
B
Траектория
TCP
Tool Center Point (центр инструмента)
O
вектор ориентации
Рисунок 4-5
Программирование LEAD TILT
Примечание
Поведение на внутренних углах при 3D-коррекции инструмента (WZK)
Даже если кадр на внутреннем углу укорачивается, запрограммированная ориентация
инструмента на конце кадра все равно устанавливается.
Программирование ЧПУ
698
Руководство по программированию, 07/2021, 6FC5398-2EP40-0PA2

 

 

 

 

 

 

 

содержание      ..     8      9      10      11     ..