Для чего в PMP20 нужны блоки BLOCK и семафоры SEM?

Проверено экспертом Опубликовано: 22.11.2024 Обновлено: 28.02.2025 2016 просмотров Помогло 69%

BLOCK — это участок программы, который выполняется не каждый цикл, а по собственному условию и до завершения последовательности. Механизм нужен для пошаговых операций: цикл станка, промывка, дозирование, где шаги идут строго друг за другом.

Что даёт контроллер:

  • До 100 блоков в одной программе.
  • Признак выполнения для каждого блока — системные меркеры с SM300 по SM399: один меркер на блок. По нему основная программа видит, занят блок или свободен, и не запускает его повторно.
  • Семафоры SEM0…SEM31 — 32 флага ожидания. Блок останавливается на команде ожидания, пока семафор не будет освобождён, и продолжает с того же места. Так разводят доступ к общему ресурсу: два блока не должны одновременно включать один и тот же исполнительный механизм.

Главное ограничение, о которое спотыкаются при первом использовании: внутри блоков команды обмена по Modbus отменены. Опрос приборов и запись уставок в частотный преобразователь пишут в основной программе, а блок только выставляет запрос и ждёт результат через обычные меркеры и регистры.

Второе ограничение — время. Блок выполняется параллельно основному циклу, но контроллер по-прежнему один: длинная последовательность внутри блока увеличивает цикл сканирования. Контролировать его стоит по системным регистрам времени цикла, а не на глаз.

Когда блоки не нужны: для простой логики «одно условие — один выход» и для непрерывного регулирования обычная лестничная программа проще в чтении и в наладке.

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

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

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

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

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

Вопрос из раздела Для чего в PMP20 нужны блоки BLOCK и семафоры SEM?