Возврат из макропрерывания FANUC: почему P после M99 меняет модальное состояние
Правила 16i/18i-MB различают восстановление исходных режимов по M99 и сохранение изменённых в прерывании режимов по M99 P. Пример с общей начальной позицией разделяет проверку адреса возврата, координатного режима и подачи.
Содержание
В пользовательском макросе прерывания M99 и M99 с P могут различаться не только местом возврата, но и обработкой модальной информации. Одной проверки существования целевого кадра N недостаточно, чтобы понять смысл X, F и других значений после возврата.
Это правила макропрерывания, а не всех подпрограмм
Согласно руководству оператора серий 16i/160i/160is-MB и 18i-MB, MB5 GFZ/B-63534EN/02, §15.11, страницы 446–449 (общедоступное зеркало оригинального руководства), макропрерывание запускается сигналом прерывания и отличается от обычного вызова. При M99 восстанавливается модальная информация до прерывания; при M99 Pxxxx возвращаются новые режимы, изменённые программой прерывания. P задаёт искомый при возврате номер последовательности, а не номер вызываемой программы O. Рассматриваются только поддерживаемые данной редакцией макросы прерывания и работа программы из памяти.
Одинаковое X10.0 может дать разные конечные точки
Авторский пример состояний: до прерывания действуют метрические G01, G90, G94, F600; программа прерывания меняет их на G91, F120. Другие преобразования координат и коррекции исключены.
| Форма возврата | Абсолютный/инкрементальный режим после возврата | Минутная подача после возврата |
|---|---|---|
| M99 | Восстанавливается G90 | Восстанавливается 600 mm/min |
| M99 P700 | Сохраняется G91 | Сохраняется 120 mm/min |
Для отдельного сравнения семантики дополнительно предположим в двух независимых разборах одинаковое начало первого движения после возврата: координата заготовки X=40 mm. Кадр содержит лишь X10.0 и не переопределяет перечисленные режимы. При G90 конец X=10 mm, перемещение −30 mm; при G91 конец X=50 mm, перемещение +10 mm. Направление, расстояние и подача могут различаться.
Это не утверждение, что обе формы обязательно возвращают в один кадр, и не прогноз физической позиции инструмента во время прерывания. Одинаковое начало выделяет только переменную «модальное толкование»; в реальном анализе отдельно проверяются цель возврата и место прерывания.
Одной дополнительной G90 может быть недостаточно
В ветви M99 P700 выше повторное задание только G90 в целевом кадре уточняет абсолютную интерпретацию, но F может остаться 120. Даже правильный геометрический конец не доказывает восстановления условий обработки. Обратно, одна повторная F600 не устраняет влияние G91 на координаты.
При проверке интерфейса возврата отдельно запишите «какой кадр будет выполняться» и «какие режимы действуют на его входе», затем проверьте зависимость от наследуемых состояний. Обе формы имеют назначение; добавление P не является исправлением перехода без побочных эффектов.
Восстановление режимов не обращает вспять позицию станка, состояние зажима или действия внешних устройств. Статья объясняет семантику программы и не содержит готового к выполнению макроса прерывания. Материалы по теме — в разделе OPTION.