Вторник, 11 Август 2020 03:59

Макросы FANUC

Автор 
Оцените материал
(6 голосов)

Пользовательские макросы обеспечивают доступ ко многим функциям, связанным с ЧПУ, через   системные переменные FANUC.

 

Эти данные включают в себя, среди прочего:

 

Входные / выходные сигналы (связь с внешними устройствами)

Смещения (чтение и запись в регистры смещения)

Отображение сигналов тревоги и сообщений (генерация сигналов тревоги ЧПУ при обнаружении программой ошибки)

Доступ к функциям панели оператора (включение / выключение одиночного блока, удержание подачи и переопределение скорости подачи)

Доступ к таймерам времени/даты и часов (события времени)

Доступ к текущим модальным состояниям (определение / изменение режимов)

Доступ к текущему положению оси (важно при использовании измерительного датчика)

G код, проецируемый на фрезерный станок

 

 

Традиционно FANUC требует, чтобы вы ссылались на эти данные, используя серию трудных для запоминания четырехзначных чисел. Генерация сигнала тревоги, например, может быть задана с помощью системной переменной #3000. Следующая команда #3000=100(слишком широко) будет генерировать сигнал тревоги “МК-100 инструмент слишком большой.”

 

 

Fanuc CNC теперь позволяет дополнительно ссылаться на системные переменные по именам. Например, системная переменная, генерирующая сигнал тревоги, называется [#_ALM]. Все имена системных переменных заключены в квадратные скобки и начинаются со знака (#_). Эта команда [#_ALM]=100 (инструмент слишком широкий) также будет генерировать только что показанный сигнал тревоги.

 

Первое преимущество использования имен системных переменных вместо чисел очевидно: простота распознавания. Кто-то, не знакомый с нумерацией системных переменных, легче поймет, что происходит в командах, содержащих имена системных переменных.

 

Второе преимущество связано с системными переменными, предоставляющими доступ к нумерованным данным, например к смещениям. Каждый тип данных имеет довольно произвольный ряд связанных номеров системных переменных. Например, в одной популярной конфигурации стола смещения обрабатывающего центра FANUC использует системные переменные с номерами #2201-#2400 для обеспечения доступа к регистрам геометрии компенсации длины инструмента для смещений 1-200. Другой набор используется для компенсации износа смещений длины инструмента (#2001-#2200). Другие наборы используются для геометрии компенсации радиуса резца (#2601 - #2800) и регистров смещения износа (#2401-2600).

 

Хотя существуют алгоритмы, упрощающие задачу доступа к отдельным регистрам смещения, запомнить, какой ряд системных переменных связан с каждым типом данных смещения, довольно сложно. И опять же, номера системных переменных не будут узнаваемы для людей, незнакомых с пользовательским макрокомандой. Что еще хуже, номера серий или системных переменных варьируются в зависимости от конфигураций Fanuc CNC и offset table.

 

При именовании системных переменных для нумерованных данных номер данных соответствует номеру регистра. При обращении к данным со смещением номер пять (износ или геометрия, длина или радиус) номер данных будет равен пяти. Кроме того, имя системной переменной будет иметь больше смысла, чем номер системной переменной.

 

Вот имена системных переменных для таблицы смещения обрабатывающего центра, рассмотренной ранее (буква n представляет собой номер данных):

 

[#_OFSHG[n]] - смещение геометрии компенсации длины инструмента

[#_OFSHW[n]] - смещение износа компенсации длины инструмента

[#_OFSDG[n]] - смещение геометрии компенсации радиуса резца

[#_OFSDW[n]] - компенсация радиуса резца смещение износа

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

 

#101 = [#_OFSHG[5]]

#101 = #2205


У вас нет никакого контроля над именованием системных переменных. Вы должны найти их заранее определенные имена в руководстве оператора FANUC. Однако вы можете использовать команду SETVN, чтобы назвать 50 постоянных общих переменных серии #500 (#500-#549) до восьми символов и чисел (имя должно начинаться с символа). После присвоения имени, как и в случае с системными переменными, вы можете ссылаться на переменную по ее номеру или имени.

 

Рассмотрим команду SETVN: SETVN 510[DIA1, LENGTH1, DIA2, LENGTH2].

 

Значение 510 указывает первую постоянную общую переменную, которая будет названа (#510). Имя (до первой запятой) - это имя переменной для #510. Каждое последующее имя будет последовательно применяться к последующим постоянным общим переменным. Как только эта команда будет выполнена один раз, четыре постоянные общие переменные от #510 до #513 будут названы как [#DIA1], [#LENGTH], [#DIA2] и [#LENGTH2] соответственно. Обратите внимание, что переменная с именем должна быть заключена в квадратные скобки и начинаться со знака фунта. Имена переменных будут сохранены до тех пор, пока они не будут изменены, даже после циклического включения питания.

 

Именование постоянных общих переменных хорошо работает с системными константами-значениями, которые используются между несколькими программами и, возможно, между несколькими аналогичными машинами. Рассмотрим, например, наличие двух одинаковых токарных центров. Один использует M41 и M42 для низкого и высокого диапазона шпинделя. Другой использует М23 и М25. Рассмотрим эту команду SETVN: SETVN 521[LOW_RNG, HIGH_RNG].

 

В каждом ЧПУ установите постоянную общую переменную #521 на значение M-кода низкого диапазона (23 или 41) и #522 на значение высокого диапазона (25 или 42). Включите эти коды M в программы ЧПУ для указания диапазона шпинделя:

 

 

M[#LOW_RNG] - выбор низкого диапазона

M[#HIGH_RNG] - выбор высокого диапазона


Другие системные константы, которые вы могли бы рассмотреть:

 

[#APR_DIST] - позволяет легко изменять расстояние быстрого сближения

[#SPD_%] и / или [#FEED_%] - изменяет условия резания для изменения твердости материала

[#FASTFEED] - задает скорость подачи для движений приближения/отвода

Авторизуйтесь, чтобы получить возможность оставлять комментарии