Как сделать прерывание по времени в PMP20?

Проверено экспертом Опубликовано: 24.07.2025 Обновлено: 14.12.2025 2010 просмотров Помогло 76%

Временное прерывание задаётся самой меткой: две последние цифры в номере — это период в миллисекундах. Метка I4010 означает подпрограмму, которая выполняется каждые 10 мс, I4020 — каждые 20 мс.

Правила:

  1. Каналов двадцать: от I40 до I59, где ** — период от 1 до 99 мс.
  2. Подпрограмма пишется после FEND и заканчивается IRET.
  3. По умолчанию временные прерывания разрешены; запрет — командой DI или системным меркером: SM070 отключает I40, SM071 — I41 и так далее до SM089 для I59**.
  4. Прерывание не зависит от цикла сканирования основной программы.

Отдельная особенность: канал I59** работает с шагом 100 мкс, а не 1 мс. Функция выбора шага поддерживается прошивкой версии 3.4.6 и новее.

Когда это нужно: длинный цикл сканирования, а какую-то часть логики надо выполнять строго периодически — опрос критичного датчика, счёт наработки, формирование импульсной последовательности. Если основная программа сканируется за 30 мс, а задачу надо решать каждые 5 мс, без временного прерывания не обойтись.

Прикреплённая документация

Георгий Жуков Георгий Жуков Ведущий инженер

Этот ответ был полезен?

Не нашли ответ?

Инженер сервисной службы ответит на почту. Вопросы, которые повторяются, мы публикуем в базе знаний — без ваших контактов.

Вопрос из раздела Как сделать прерывание по времени в PMP20?