Макропеременные FANUC #4001 и #4201: почему при чтении G01 станок может ещё исполнять другой кадр
Глава 0i-D о системных переменных разделяет модальность предшествующего кадра относительно позиции предварительной обработки и модальность исполняемого кадра. Авторская временная схема объясняет различие #4001 и #4201, не подменяя чтением состояния сигнал завершения движения.
Содержание
Макропрограмма может прочитать состояние G-кода, тогда как исполняемый на экране кадр показывает другой вид движения. Это не обязательно ошибка данных. Интерпретация программы и фактическое выполнение ЧПУ могут находиться в разных позициях; сначала нужно выяснить временную привязку переменной.
Одна группа 01, но разные позиции программы
Статья ограничена обрабатывающими центрами 0i-D / 0i Mate-D с соответствующей макрофункцией. B-64304EN/02, описание системных переменных §14.2, страницы 184–186 (общедоступное зеркало оригинального руководства) определяет #4001 как модальное состояние группы 01 предшествующего кадра относительно позиции предварительной обработки, а #4201 — как состояние группы 01 исполняемого кадра. «Предшествующий» здесь не означает просто последний кадр, движение которого станок уже завершил. Обе переменные доступны только для чтения.
Авторская временная схема: разные значения могут быть верными одновременно
Предположим условный момент: выполнение ещё находится на дуге G02 кадра N200, а интерпретация достигла области N910, перед которой N900 задал G01. Сравнивается именно это допущенное состояние, без обещания одинаковой глубины предварительной обработки во всех программах:
| Наблюдаемый объект | Позиция в данном примере | Информация группы 01 |
|---|---|---|
| Привязка #4001 | Предшествующий кадр N900 на стороне интерпретации | 1, то есть G01 |
| Привязка #4201 | Текущий исполняемый N200 | 2, то есть G02 |
Поэтому чтение 1 из #4001 не доказывает, что дуга N200 уже закончилась. Запуск следующего действия по такому выводу подменяет условие завершения движения продвижением интерпретации. И наоборот, при чтении модальности для сохранения контекста определённого места программы нельзя без анализа заменить её состоянием стороны исполнения.
Сначала определите наблюдаемое событие, затем выбирайте данные
Если вопрос состоит в том, какой режим движения наследует место макропрограммы, анализируйте контекст этой позиции. Если нужно узнать тип кадра движения, который ЧПУ исполняет сейчас, требуется привязка к исполняемому кадру. Если же вопрос в достижении осью позиции или завершении внешнего действия, ни одно из этих модальных значений G-кода само по себе ответа не даёт.
Например, G01 может соответствовать как длинной подаче, так и очень короткому перемещению. Одно и то же значение 1 не содержит ни остаточного расстояния, ни подтверждения завершения действия оборудования. Вывод о прикладном смысле только по номеру переменной легко скрывает это различие.
Как проверять, не принимая журнал за гарантию реального времени
Для сопоставления сохраняйте вместе версию программы, положение оператора чтения и позицию исполняемого кадра; затем проверяйте, соответствует ли расхождение допущению о предварительной обработке. Раздельно прочитанные переменные не становятся полным снимком одного момента только от попадания в одну запись. Статья разбирает смысл данных, не обещая периода выборки, синхронизации или действия защитной блокировки. Другие материалы о макрофункциях — в разделе OPTION.