Основы ПЛК
3.1 Исполнение программы пользователя
Программируемый контроллер S7-1200
48 Системное руководство, 11/2009, A5E02669003-02
● OB ошибок времени исполняются при обнаружении такой ошибки. OB ошибок
времени прерывает нормальное исполнение циклической программы, если
превышено максимальное время цикла. Максимальное время цикла определяется в
свойствах ПЛК. Для ошибок времени допустим исключительно OB 80. Вы можете
определить, что должно произойти, если OB 80 отсутствует: игнорировать ошибку
или перейти в STOP.
● OB диагностических прерываний исполняется, когда обнаруживается
диагностируемая ошибка, и о ней поступает сообщение. OB диагностических
прерываний прерывает нормальное исполнение циклической программы, если
модуль, обладающий диагностическими свойствами, распознает ошибку (если
диагностическое прерывание активизировано для этого модуля). Для
диагностических прерываний допустим только OB 82. Если в программе нет OB 82,
то вы можете настроить CPU, чтобы игнорировать ошибку или перейти в STOP.
3.1.2 Приоритеты и очереди для исполнения событий
CPU осуществляет обработку под управлением событий. События запускают
исполнение OB прерываний. OB прерываний для события определяется при создании
блока, при конфигурировании устройства или командой ATTACH или DETACH.
Некоторые события происходят на регулярной основе, например, программный цикл
или циклические события. Другие события, например, запуск или событие "Задержка
времени" происходят однократно. Некоторые события происходят, когда имеет место
изменение, инициированное аппарат
урой, например,
появление фронта на входе или
событие "Скоростной счетчик". Имеются также такие события, как "Диагностируемая
ошибка" или "Ошибка времени", которые появляются только в случае ошибки.
Приоритеты событий, группы приоритетов и очереди используются для определения
порядка обработки OB прерываний.
Событие типа "Программный цикл" возникает один раз в каждом программном цикле
(или цикле сканирования). Во время програ
ммного цикла CPU осуще
ствляет запись в
выходы, считывает входы и выполняет организационные блоки программного цикла.
Событие типа "Программный цикл" необходимо и всегда активизируется. Для этого
события вы можете не иметь ни одного OB программного цикла или иметь несколько
таких OB. После запуска события типа "Программный цикл" исполняется OB
программного цикла с наименьшим но
ме
ром (обычно OB1). Другие OB программного
цикла исполняются последовательно в порядке возрастания номеров внутри
программного цикла.
События типа "Циклическое прерывание" дают вам возможность организовать
исполнение OB прерываний через сконфигурированный интервал времени. Этот
интервал времени устанавливается при создании OB и организуется как OB
циклических прерываний. Циклические события прерывают программный цикл и
исполняют OB циклических прерываний (циклическое со
быти
е находится в группе с
более высоким приоритетом, чем событие типа "Программный цикл"). Циклическому
событию может быть поставлен в соответствие только один OB циклических
прерываний. CPU поддерживает четыре события типа "Циклическое прерывание". OB
циклических прерываний обладают свойством сдвига по фазе, так что исполнение
циклических прерываний с одним и тем же периодом может бы
ть смещено
относительн
о друг друга на величину фазового сдвига.
Событие типа "Запуск" происходит один раз при переходе из STOP в RUN и вызывает
на исполнение OB запуска. Для этого события может быть выбрано несколько OB. OB
запуска выполняются в порядке возрастания номеров.