step7-pro
голосование
Чего не хватает сайту
поиска
новых статей
статей о подключении оборудования
примеров решения задач
форума
ничего не нужно
поиск


новости
Появился поиск по сайту. Обещаю его улучшить и сделать более адекватным
--------------11.10.11
Новая гостевая книга надеюсь избавит от спама. Еще немного и появится поис и многое другое
--------------11.07.11
C НАСТУПАЮЩИМ НОВЫМ ГОДОМ И РОЖДЕСТВОМ!
--------------30.12.10
Новые статьи по системным функциям и блокам
--------------25.12.10
Теперь у нас новый дизайн, конечно не супер но надеюсь всем понравиться
--------------05.12.10
Форум закрыт по причине ненадобности
--------------08.09.10
Гостевая книга временно отключена из спама
--------------15.10.10
Наш форум forum.step7-pro.ru общайтесь на здоровье!
--------------03.06.10
Наш сайт в twitter Вы сможете подписаться на рассылку новостей и узнавать о новых статьях на нашем сайте.
--------------20.03.10
После долгого перерыва наш сайт снова начал работать
--------------26.02.10
реклама

 

Манипулирование прерываниями по времени

Прерывание по времени имеет сопровождается вызовом ОВ прерываний по времени (OB10...OB17)

Условия для вызова

Прежде чем операционной системой может быть вызван OB прерываний по времени, должны быть выполнены следующие условия:

Подсказка
Вы можете назначать параметры прерыванию по времени с помощью STEP 7, а затем активировать прерывание в свое пользовательской программе (SFC30 "ACT_TINT").

Назначение SFC28 - SFC31

Системные функции SFC28 . SFC31, описанные в следующих разделах, используются следующим образом:

 

Характеристики SFC 28...31

Что произойдет, если...

Следующая таблица перечисляет ряд различных ситуаций и объясняет, какое воздействие они оказывают на прерывание по времени.

Если ... то...
прерывание по времени устанавливается (вызовом SFC28; SET_TINT) текущее прерывание по времени автоматически отменяется
прерывание по времени отменяется (вызовом SFC29; CAN_TINT) дата и время запуска стираются. Затем прерывание по времени должно быть сначала вновь установлено, прежде чем оно может быть активировано.
OB прерываний по времени не существует в момент вызова автоматически генерируется ошибка класса приоритета; т.е. операционная система вызывает OB 85. Если OB 85 не существует, то CPU переходит в состояние STOP.
синхронизируются часы реального времени или корректируется время
• Часы переводятся вперед







• Часы переводятся назад

Если дата/время запуска пропущены из-за перевода часов вперед:
Операционная система вызывает OB80*.
• Вслед за OB80 вызываются все пропущенные ОВ прерываний по времени (один раз, независимо от количества пропущенных периодов), если они не подвергались обработке в OB80**
Если OB 80 не существует, то CPU переходит в состояние STOP.

Если OB прерывания по времени уже вызывались на интервале переведенного назад времени, то при новом прохождении этого времени они еще раз не вызываются.

 

Теплый рестарт и холодный рестарт

Во время теплого или холодного рестарта все настройки прерываний по времени, сделанные в программе пользователя с помощью SFC, стираются. После этого действуют установленные посредством STEP 7 параметры из блока параметров "time-of-day interrupts [прерывания по времени]".

Выполнение OB прерываний по времени

Следующая таблица показывает различные воздействия параметра "execution [выполнение]". Этот параметр устанавливается с помощью STEP 7 или с помощью SFC 28 .SET_TINT. (входной параметр PERIOD)

Выполнение OB прерываний по времени Реакция
Нет
(можно устанавливать только с помощью STEP 7)
OB прерываний по времени не выполняется даже тогда, когда он существует в CPU. Параметры могут быть заново установлены в программе пользователя с помощью SFC 28 .SET_TINT. (установить прерывание по времени).
Однократно Прерывание по времени после вызова OB прерываний по времени отменяется. Затем оно может быть вновь установлено и активировано.
Периодически
(ежеминутно, ежечасно, ежедневно, еженедельно, ежемесячно, ежегодно)
Если дата и время запуска к моменту активации уже прошли, то OB прерываний по времени прерывает циклическую программу в момент времени .дата/время запуска + кратное установленной длительности периода.. В очень редких случаях OB прерываний по времени может при следующем вызове оказаться еще в состоянии обработки. Результат:
• ошибка времени (операционная система вызывает OB 80; если OB 80 не существует, то CPU переходит в состояние STOP).
• OB прерываний по времени выполняется позднее.

 

 

<-- Предыдущая статья   Следующая статья -->
сделано djoni политика конфидициальности Rambler's Top100