Независимый ремонт ЧПУ и технические материалы Контакты

Макросы реального времени FANUC ZONCE и ZEDGE: почему условие стало истинным, а действие не произошло

Опубликовано Обновлено

На условном окне в 100 миллисекунд правила 30i-A сравнивают ZONCE, ZEDGE и исходно истинное условие. Показано, почему время ожидания однократного макроса и обнаружение коротких импульсов — разные вопросы.

Содержание
  1. Три правила определяют временную последовательность
  2. Поместим ожидание в конкретное окно
  3. Порядок текста не определяет длительность окна
  4. Как выбрать уровень проверки

В макросе реального времени записано «выполнить при истинном условии», условие позже действительно становится истинным, но действия нет. Здесь как минимум два независимых вопроса: применяется однократная проверка или ожидание фронта и не закончилось ли окно выполнения, в котором шло ожидание.

Три правила определяют временную последовательность

Общее руководство пользователя 30i/31i/32i-A B-63944EN/03, §17.1.1 и §17.4.1–17.4.2, страницы 581, 599–600 (общедоступное зеркало оригинального руководства) устанавливает: при ложном условии ZONCE завершается, не ожидая будущей истины; ZEDGE ждёт перехода из лжи в истину, а исходная истина не считается новым фронтом. Однократная RTM запускается вместе с первой последующей NC-командой и действует до её завершения.

Речь только об однократных операторах функции пользовательских макросов реального времени данной редакции. Обычный макрооператор IF, модальная RTM и цикл опроса PLC не считаются тем же механизмом. Наличие функции и назначение сигналов должны соответствовать реальной конфигурации управления.

Поместим ожидание в конкретное окно

Авторский логический пример: связанный NC-кадр начинается при t=0 и заканчивается при t=100 ms. «Действие» означает лишь регистрацию программного события, без выходных сигналов и движения осей. Предполагается, что указанные изменения условия были корректно получены при выборке.

Изменение условияОднократная ZONCEОднократная ZEDGE
Сначала ложь, с 60 ms истина сохраняетсяЗавершается при первой ложной оценкеВыполняется после обнаружения нарастающего фронта внутри окна
Сначала ложь, истина лишь в 120 msУже завершенаОкно 100 ms завершено, ожидания больше нет
Сначала истина, в 40 ms ложь, в 70 ms снова истинаВыполняется при исходной истинеИсходная истина не запускает действие, последующий переход ложь→истина запускает

Во второй строке выражение не обязательно ошибочно: событие находится вне срока действия. Третья показывает разные назначения «состояние сейчас истинно» и «наблюдался новый фронт». Первое проверяет наличие состояния, второе — последующее изменение.

Порядок текста не определяет длительность окна

Более ранняя запись однократного макроса реального времени ещё не означает более раннего начала ожидания. Сначала найдите NC-команду, которая действительно его запускает. Если требуется наблюдение через несколько NC-кадров, одного увеличения ожидаемой длительности кадра недостаточно для доказательства надёжности: коррекция подачи, остановки и ветвление меняют временные связи.

Разделяйте также достаточную длительность жизненного цикла и видимость события при выборке. При условном периоде проверки 4 ms импульс длиной 1 ms может целиком попасть между проверками. Это общий пример дискретизации, а не заявление, что цикл макроса FANUC равен 4 ms. ZEDGE не гарантирует аппаратный захват сколь угодно коротких импульсов.

Как выбрать уровень проверки

Если при исходной лжи дальнейшего выполнения никогда нет, проверьте, не выбрана ли по ошибке ZONCE. Если условие срабатывает внутри кадра, но не после него, проверьте срок действия однократной команды. Если иногда пропадают только очень короткие события, анализируйте входную цепь и выборку. Причины различны, и сводить их к «макрос не работает в реальном времени» нельзя. Другие механизмы разобраны в разделе OPTION.

Статьи по теме

Опциональное управление поворотной осью FANUC: как знак абсолютной команды задаёт направлениеВысокоскоростной позиционный переключатель FANUC с учётом направления: разные выходы при одной координатеГибкая синхронизация FANUC: выравнивание скоростей и фаз — два разных условия