Основы ПЛК 3.1 Исполнение программы пользователя Организационные блоки (OB) OB управляют исполнением программы пользователя. Каждый OB должен иметь уникальный номер. Некоторые номера ниже 200 зарезервированы для определенных OB. Все остальные OB должны обладать номерами больше 200. Исполнение организационного блока инициализируется определенными событиями в CPU. OB не могут вызывать друг друга или вызываться из FC или FB. Только стартовое событие, например, диагностическое прерывание или интервал времени, может запустить исполнение OB. CPU обрабатывает OB в соответствии с их классами приоритета, причем в первую очередь обрабатываются OB с боле высоким классом приоритета.
Самым низким классом приоритета является 1 (для главного программного цикла), а наивысшим классом приоритета является 27 (для ошибок, связанных с временем). OB управляют следующими процессами: ● OB программного цикла исполняются циклически, когда CPU находится в режиме RUN. Основной блок программы является OB программного цикла. Он содержит команды для управления вашим приложением, и из него вызываются другие пользовательские блоки. Допустимы несколько OB программного цикла, они выполняются в порядке номеров. OB 1 является стандартным блоком. Другие OB программного цикла должны быть обозначены как OB 200 или выше.
● OB запуска выполняются один раз, когда режим работы CPU меняется из STOP в RUN, при запуске в режим RUN и в случае предписанного перехода из STOP в RUN. Затем начинается исполнение OB программного цикла. Допустимы несколько OB запуска. Стандартным блоком является OB 100. Все остальные OB должны иметь номера, начиная с 200. ● OB прерываний с задержкой исполняются с определенным запаздыванием после события, сконфигурированного в команде запуска прерывания (SRT_DINT). Время задержки указывается во входном параметре расширенной команды SRT_DINT. OB прерываний с задержкой прерывает нормальное исполнение циклической программы, когда истекает указанное время задержки.
Вы можете сконфигурировать до 4 событий типа "Задержка времени" в любой момент, причем для каждого такого события допустим только один OB. OB прерываний с задержкой должен иметь номер 200 или выше. ● OB циклических прерываний исполняются через определенные интервалы времени. OB циклических прерываний прерывает исполнение циклической программы через интервалы, определенные пользователем, например, каждые 2 секунды. Вы можете сконфигурировать до 4 событий типа "Циклическое прерывание", причем для каждого такого события допустим только один OB. Этот OB должен иметь номер 200 или выше.
● OB аппаратных прерываний исполняются, когда происходит соответствующее событие в аппаратуре, например, нарастающий или падающий фронт на встроенном цифровом входе или событие, связанное с HSC. OB аппаратных прерываний прерывает нормальное исполнение циклической программы в ответ на сигнал от события в аппаратуре. Эти события определяются в свойствах конфигурации аппаратуры. Для каждого сконфигурированного события в аппаратуре допустим один OB. Этот OB должен иметь номер 200 или выше. Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 47