Обращение к пользовательским макро-переменным по имени в системах ЧПУ FANUC
Пользовательские макросы дают доступ ко многим функциям ЧПУ через так называемые системные переменные. К ним относятся:
- Сигналы ввода/вывода (обмен с внешними устройствами)
- Смещения (чтение/запись в регистры смещений)
- Отображение аварий и сообщений (генерация аварий ЧПУ при обнаружении ошибки программой)
- Доступ к функциям операторской панели (вкл/выкл одноблочный режим, удержание подачи, перекрытие скорости)
- Доступ к времени/дате и таймерам (фиксация событий)
- Доступ к текущим модальным состояниям (определение/смена режимов)
- Доступ к текущей позиции осей (важно при работе с зондом)
Традиционно FANUC требовал ссылки на эти данные через трудно запоминаемые четырёхзначные номера. Генерация аварии, например, задаётся системной переменной #3000. Команда #3000=100(TOOL TOO WIDE) выдаст аварию «MC-100 TOOL TOO WIDE».
Теперь FANUC позволяет ссылаться на системные переменные по именам. Имя для переменной генерации аварии — [#_ALM]. Все имена системных переменных заключены в скобки и начинаются с #_. Команда [#_ALM]=100(TOOL TOO WIDE) тоже выдаст ту же аварию.
Преимущества имен переменных
1. Легкость распознавания. Незнакомый с нумерацией человек легче поймёт суть команд с именами.
2. Работа с нумерованными данными (смещения). Каждому типу данных соответствует свой произвольный ряд номеров. При популярной конфигурации таблицы смещений фрезерного центра FANUC использует #2201–#2400 для геометрии компенсации длины инструмента (смещения 1–200). Другой ряд — для износа длины (#2001–#2200). Другие — для геометрии компенсации радиуса (#2601–#2800) и износа радиуса (#2401–#2600).
Хотя есть алгоритмы для доступа к отдельным регистрам, запомнить, какой ряд к какому типу — сложно. Номера не узнаваемы новичками. Хуже того, ряды варьируются между моделями ЧПУ и конфигурациями таблиц.
С именами для нумерованных данных номер данных соответствует номеру регистра. Для смещения №5 (износ или геометрия, длина или радиус) номер данных будет 5. И имя переменной понятнее номера.
Имена системных переменных для обсуждаемой таблицы (n — номер данных):
[#_OFSHG[n]]— геометрия компенсации длины инструмента[#_OFSHW[n]]— износ компенсации длины инструмента[#_OFSDG[n]]— геометрия компенсации радиуса резака[#_OFSDW[n]]— износ компенсации радиуса резака
Обе команды сохраняют текущее значение геометрии компенсации длины инструмента регистра №5 в общую переменную #101:
#101 = [#_OFSHG[5]]#101 = #2205
На именование системных переменных вы не влияете. Нужно найти их заданные имена в руководстве оператора FANUC. Но можно использовать команду SETVN для именования 50 постоянных общих переменных #500–#549 (до 8 символов, начинается с буквы). После именования к ним можно обращаться по номеру или имени.
Пример SETVN: SETVN 510[DIA1, LENGTH1, DIA2, LENGTH2].
Значение 510 — первая именуемая переменная (#510). Имя до первой запятой — для #510. Каждое следующее — по порядку для последующих. После выполнения четыре переменные #510–#513 получат имена [#DIA1], [#LENGTH1], [#DIA2], [#LENGTH2]. Имена в скобках, начинаются с #. Сохраняются до смены, даже после выключения питания.
Именование постоянных общих переменных хорошо работает с системными константами — значениями, используемыми в нескольких программах и на похожих станках. Пример: два похожих токарных центра. Один использует M41/M42 для низкого/высокого диапазона шпинделя. Другой — M23/M25. Команда SETVN 521[LOW_RNG, HIGH_RNG].
На каждом станке установите #521 в M-код низкого диапазона (23 или 41), #522 — высокого (25 или 42). В программах ЧПУ:
M[#LOW_RNG]— выбор низкого диапазонаM[#HIGH_RNG]— выбор высокого диапазона
Другие системные константы для рассмотрения:
[#APR_DIST]— легкое изменение дистанции быстрого приближения[#SPD_%]и/или[#FEED_%]— корректировка режимов резания под твёрдость материала[#FASTFEED]— скорость подачи для движений приближения/отхода
Промышленное оборудование
- Переменные, константы и литералы в C: полное руководство
- Классы хранения в C: область видимости, время жизни и производительность
- Типы переменных в Java: локальные, экземпляра и статические
- Переменные в C: объявление, определение, инициализация, область видимости и классы хранения
- Область видимости переменных в C++: локальные и глобальные
- Типы переменных в Python: Понимание и использование типов данных
- Повышение эффективности систем воздушных компрессоров: проверенные советы и стратегии
- Как условия площадки влияют на эффективность компрессора и энергозатраты
- Освоение аудита вакуумных систем: почему это важно и как проводить
- Предотвращение простоя производства: как загрязнители в сжатом воздухе влияют на процессы