Как сделать внешнее прерывание на PMP3xx в Codesys?
В Codesys внешнее прерывание оформляется не как подпрограмма с меткой, а как задача с внешним событием. Двойной щелчок по задаче, тип «external», выбор события — и задача будет запускаться по сигналу на входе.
Имена событий строятся по номеру входа и типу фронта: X2R_TRIG — нарастающий фронт входа X2, X2F_TRIG — спадающий фронт того же входа. Один и тот же вход поддерживает оба фронта.
Сколько входов доступно:
- PMP30 — 14 каналов внешнего прерывания: X2…X7, X10…X13, а также X16, X21, X24 и X27.
- PMP301 — 10 каналов: X2…X7 и X10…X13.
Полный перечень событий конкретной модели виден в свойствах задачи в списке внешних событий — на него и стоит ориентироваться при разметке клеммника.
Приоритет задачи прерывания задаётся там же. Это важно, когда прерываний несколько: без явного распределения приоритетов быстрый сигнал может ждать обработки медленного.
Типовое применение то же, что и у PMP20: захват положения по метке, счёт быстрых изделий, аварийный сигнал, который нельзя пропустить в цикле сканирования.
Прикреплённая документация
Николай Романов
Руководитель отдела робототехники