Основы проектирования структуры программы
Программирование с помощью STEP 7 версии 5.0
4-28 C79000-G7076-C562-02
Правила для прерываний по времени
Прерывания по времени могут исполняться только тогда, когда прерыванию
были назначены параметры и в программе пользователя существует
соответствующий организационный блок. Если это не так, в диагностический
буфер вносится сообщение об ошибке и выполняется обработка асинхронной
ошибки (ОВ80, см. Организационные блоки обработки ошибок (ОВ70
− ОВ87 /
ОВ121
− ОВ122)).
Периодические прерывания по времени должны соответствовать реальной
дате. Повторение ОВ10 ежемесячно, начиная с 31 января, невозможно. В
этом случае ОВ будет запускаться только в месяцы, имеющие 31 день.
Прерывание по времени, активизированное во время запуска (теплого или
горячего рестарта) исполняется только после завершения запуска.
ОВ прерываний по времени, отмененные при назначении параметров, не
могут быть запущены. CPU распознает ошибку программирования и
переходит в STOP.
После теплого рестарта прерывания по времени должны быть установлены
заново (например, с помощью SFC30 ACT_TINT в программе запуска).
Запуск прерывания по времени
Чтобы дать CPU возможность запустить прерывание по времени, вы должны
сначала установить, а затем активизировать это прерывание. Существуют
три способа запуска этого прерывания:
• автоматический запуск прерывания по времени путем назначения
подходящих параметров с помощью STEP 7 (блок параметров ”time-of-day
interrupts [прерывания по времени]")
• установка и активизация прерывания по времени с помощью SFC28
SET_TINT и SFC30 ACT_TINT из программы пользователя
• установка прерывания по времени interrupt путем назначения параметров
с помощью STEP 7 и его активизация с помощью SFC30 ACT_TINT в
программе пользователя.
Опрос прерываний по времени
Чтобы запросить, какие прерывания по времени установлены и на какое
время они настроены, вы можете выполнить одно из следующих действий:
• вызвать SFC31 QRY_TINT
• запросить список ”interrupt status [состояние прерываний]" из сп иска
состояний системы.
Деактивизация прерываний по времени
Вы можете деактивировать еще не исполненные прерывания по времени с
помощью SFC29 CAN_TINT. Деактивированные прерывания по времени
могут быть снова установлены с помощью SFC28 SET_TINT и
активизированы с помощью SFC30 ACT_TINT.
Приоритет ОВ прерываний по времени
Все восемь ОВ прерываний по времени по умолчанию имеют один и тот же
класс приоритета (2) и поэтому обрабатываются в порядке возникновения
событий запуска. Однако вы можете изменить этот класс приоритета
выбором подходящих параметров.