21. Обработка прерываний
Automating with STEP 7 in STL and SCL 21 - 11
Автоматизация посредством STEP 7
с использованием STL и SCL
После однократного запуска ОВ прерывания по времени суток данное
прерывание отменяется. Вы также можете отменить прерывание по
времени суток, используя системную функцию SFC 29 CAN_TINT.
Если Вы вновь хотите возобновить отмененное прерывание по времени
суток, то Вы должны будете вновь установить параметр "время запуска"
(start time), а затем вновь активировать прерывание.
Вы также можете запросить о состоянии прерывания по времени суток,
используя системную функцию SFC 31 QRY_TINT.
Прерывания по времени суток во время запуска
Во время "х олодного" (cold) перезапуска или полного (complete)
перезапуска операционная система стирает все установки, сделанные
посредством SFC. Установки, выполненные посредством
конфигурирования оборудования сохраняются. При "теплом" (warm)
перезапуске CPU продолжает обработку прерываний по времени суток в
первом завершенном (complete) цикле сканирования основной
программы.
Вы можете запросить о состоянии прерываний по времени суток, вызывая
системную функцию SFC 31 QRY_TINT в ОВ запуска, и последовательно
отменяя или вновь инициализируя и вновь активируя прерывания.
Прерывания по времени суток обрабатываются только в рабочем режиме
RUN.
Прерывания по времени суток и ситуации сбоя (ошибки)
Если вызывается OB обработки прерывания по времени суток (time-of-day
interrupts), но данный OB не запрограммирован, то операционная система
вызывает OB 85 (организационный блок обработки ошибок, возникающих
при выполнении программы). Если OB 85 не за программирован, CPU
переходит в режим STOP.
Прерывание по времени суток, которое поступило, но не было обработано
из-за того, что выполнялась параметризация CPU, не может быть
обработано, даже если доступен соответствующий организационный
блок. В этом случае CPU переходит в режим STOP.
Если Вы активировали прерывание по времени суток в режиме
однократного вызова, и если при этом заданное стартовое время (start
time) уже прошло на текущий момент (по часам реального времени
системы), то операционная система вызовет OB 80 (организационный
блок обработки временных ошибок [timing error]). Если OB 80 недоступен,
то CPU перейдет в режим STOP.
Если Вы активировали прерывание по времени суток в режиме
периодического вызова, и если при этом заданное стартовое время (start
time) уже прошло на текущий момент (по часам реального времени
системы), то операционная система сгенерирует прерывание по времени
суток в следующем периоде в заданный момент времени (согласно
заданным временным параметрам).
Если Вы перевели часы реального времени вперед с целью коррекции их
показаний или для синхронизации так, что при этом проскочили заданное
стартовое время (start time) прерывания по времени суток, то