Как сделать прерывание по времени в PMP20?
Временное прерывание задаётся самой меткой: две последние цифры в номере — это период в миллисекундах. Метка I4010 означает подпрограмму, которая выполняется каждые 10 мс, I4020 — каждые 20 мс.
Правила:
- Каналов двадцать: от I40 до I59, где ** — период от 1 до 99 мс.
- Подпрограмма пишется после FEND и заканчивается IRET.
- По умолчанию временные прерывания разрешены; запрет — командой DI или системным меркером: SM070 отключает I40, SM071 — I41 и так далее до SM089 для I59**.
- Прерывание не зависит от цикла сканирования основной программы.
Отдельная особенность: канал I59** работает с шагом 100 мкс, а не 1 мс. Функция выбора шага поддерживается прошивкой версии 3.4.6 и новее.
Когда это нужно: длинный цикл сканирования, а какую-то часть логики надо выполнять строго периодически — опрос критичного датчика, счёт наработки, формирование импульсной последовательности. Если основная программа сканируется за 30 мс, а задачу надо решать каждые 5 мс, без временного прерывания не обойтись.
Прикреплённая документация
Георгий Жуков
Ведущий инженер