Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
STEP7_V53_Programming_r.pdf
Скачиваний:
5
Добавлен:
29.05.2025
Размер:
5.18 Mб
Скачать

Основы проектирования структуры программы

4.2.4.6Стартовые организационные блоки (OB100 / OB101 / OB102)

Типы запуска

Имеется три различных типа запуска:

горячий рестарт (отсутствует в S7-300 и S7-400H)

теплый рестарт

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

В следующей таблице показано, какие ОВ вызывает операционная система при каждом типе запуска:

Тип запуска

Соответствующий ОВ

Горячий рестарт

OB101

Теплый рестарт

OB100

Холодный рестарт

OB102

Стартовые события для ОВ запуска

CPU выполняет запуск после следующих событий:

после включения питания

после перевода переключателя режимов из STOP в RUN/RUN-P

после запроса от коммуникационной функции

после синхронизации в мультипроцессорном режиме

в H-системе после установления связи (только на резервном CPU)

В зависимости от стартового события, используемого CPU, и его установленных параметров вызывается соответствующий ОВ запуска

(ОВ100, ОВ101 или ОВ102).

Программа запуска

Вы можете указать условия для запуска своего CPU (инициализирующие значения для RUN, пусковые значения для модулей ввода/вывода) путем записи своей программы запуска в организационный блок ОВ100 для теплого рестарта, ОВ101 для горячего рестарта или ОВ102 для холодного рестарта.

Нет ограничений по длине и времени выполнения программы запуска, так как контроль цикла еще не активен. В стартовой программе невозможно исполнение под управлением времени или под управлением прерываний. Во время запуска все цифровые выходы имеют сигнальное состояние 0.

4-32

Programming with STEP 7 V5.3

A5E00261405-01

Основы проектирования структуры программы

Тип запуска после ручного рестарта

На CPU S7-300 возможен только ручной теплый или холодный рестарт

(только CPU 318-2).

На некоторых CPU S7-400 Вы можете вручную выполнять запуск с помощью переключателя режимов и переключателя типа запуска (CRST/WRST), если это разрешено при назначении параметров, которое Вы выполнили с помощью STEP 7. Ручной теплый запуск возможен без специального назначения параметров.

Тип запуска после автоматического рестарта

На CPU S7-300 после включения питания возможен только теплый рестарт.

На CPU S7-400 Вы можете указать, ведет ли автоматический запуск после включения питания к теплому или к горячему рестарту.

Очистка образа процесса

Когда перезапускается CPU S7-400, исполняется оставшаяся часть цикла, а таблица образа процесса на выходах по умолчанию очищается. Вы можете предотвратить очистку образа процесса, если хотите, чтобы программа пользователя продолжала работать со старыми значениями после перезапуска.

Контроль существования и типа модулей

При установке параметров Вы можете решить, будут ли проверяться перед запуском модули в конфигурационной таблице, чтобы убедиться, что они существуют и что тип модуля совпадает с заданным.

Если контроль модулей активизирован, то CPU не запустится при обнаружении расхождений между конфигурационной таблицей и фактической конфигурацией.

Времена контроля

Чтобы убедиться, что программируемый контроллер запускается без ошибок, Вы можете выбрать следующие времена контроля:

максимально допустимое время для передачи параметров модулям

максимально допустимое время для того, чтобы модули могли сообщить о своей готовности к работе после включения питания

на CPU S7-400 максимальное время прерывания, после которого разрешен горячий рестарт.

Как только времена контроля истекают, CPU или переходит в STOP, или возможен только теплый рестарт.

4.2.4.7Фоновый организационный блок (OB90)

Если Вы определили минимальное время цикла с помощью STEP 7, и это время больше, чем время текущего цикла, то у CPU в конце циклической программы еще есть время для работы. Это время используется для исполнения фонового ОВ. Если в вашем CPU ОВ 90 не существует, то CPU ждет, пока не истечет указанное минимальное время цикла. Следовательно,

Programming with STEP 7 V5.3

4-33

A5E00261405-01

Основы проектирования структуры программы

Вы можете использовать ОВ90 для процессов, в которых время не является критическим для работы, и, таким образом, избежать потерь времени на ожидание.

Приоритет фонового ОВ

Фоновый ОВ относится к классу приоритета 29, что соответствует приоритету 0,29. Таким образом, этот ОВ имеет самый низкий приоритет. Его класс приоритета не может быть изменен при назначении параметров.

На следующем рисунке показан пример обработки фонового цикла, свободного цикла и ОВ10 (в CPU как 10/98).

Приоритет

 

 

 

 

OB10

 

Следующий цикл

 

 

OB10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обновление та-

 

Обновление та-

блицы образа

OB1

OB1

блицы образа

Iпроцесса на

Iпроцесса на

входах

 

 

выходах

OB90

OB90

 

t

TC

Tожид

Tmin

 

TС = текущее время цикла, требуемое для главного программного цикла

Tmin = минимальное время цикла определенное с помощью STEP 7

Tожид = время, имеющееся в распоряжении до запуска следующего цикла

Программирование ОВ90

Время работы ОВ90 не контролируется операционной системой CPU, так что Вы можете программировать в ОВ90 циклы любой длины. Обеспечьте непротиворечивость данных, используемых вами в фоновой программе, принимая во внимание следующее:

события сброса OB90 (см. справочное руководство "Системное программное обеспечение для S7-300 и S7-400, Системные и стандартные функции")

обновление образа процесса асинхронно по отношению к OB90.

4-34

Programming with STEP 7 V5.3

A5E00261405-01

Основы проектирования структуры программы

4.2.4.8Организационные блоки обработки ошибок (OB70 OB87 / OB121 OB122)

Типы ошибок

Ошибки, которые могут быть обнаружены CPU S7 и на которые Вы можете реагировать с помощью организационных блоков, можно разделить на две основные категории:

Синхронные ошибки: эти ошибки могут быть поставлены в соответствие конкретной части программы пользователя. Эта ошибка происходит во время выполнения конкретной команды. Если соответствующий ОВ синхронных ошибок не загружен, то CPU при возникновении ошибки переходит в STOP.

Асинхронные ошибки: эти ошибки не могут быть непосредственно поставлены в соответствие исполняемой программе пользователя. Это ошибки класса приоритета, неисправности программируемого логического контроллера (например, дефектный модуль) или ошибки резервирования. Если соответствующий ОВ асинхронных ошибок не загружен, то CPU при возникновении ошибки переходит в STOP (исключения: OB70, OB72, OB81).

 

На следующем рисунке показаны типы ошибок, которые могут возникнуть,

 

разделенные на категории в соответствии с ОВ ошибок.

Асинхронные ошибки / Ошибки резервирования

Синхронные ошибки

 

ОВ ошибок

ОВ ошибок

OB 70

Ошибка резервирования вх/вых

OB 121 Ошибка программирования (напр.,

(только в H CPU)

OB 72

Ошибка резервирования CPU (только

DB не загружен)

OB 122 Ошибка доступа к вх/вых (напр., об-

 

в H CPU, напр., неисправность CPU)

OB 80

Ошибка времени (напр., превышено

ращение к несуществующему моду-

время цикла)

лю ввода/вывода)

OB 81

Ошибка источника питания (напр.,

 

 

Проблемы с батареей)

 

OB 82 Диагностическое прерывание (напр., короткое замыкание в модуле ввода)

OB 83

Прерывание при установке/снятии мо-

 

дуля (напр., удален модуль ввода)

OB 84

Аппаратная неисправность CPU (неис-

правность в интерфейсе с сетью MPI)

OB 85

Ошибка класса приоритета (напр., ОВ

 

не загружен)

OB 86

Неисправность стойки

OB 87

Коммуникационная ошибка (напр., не-

 

верный идентификатор при связи с

 

помощью глобальных данных)

Programming with STEP 7 V5.3

4-35

A5E00261405-01

Основы проектирования структуры программы

Использование ОВ для синхронных ошибок

Синхронные ошибки возникают при исполнении конкретной команды. Когда эти ошибки происходят, операционная система делает запись в стек прерываний (I-стек) и запускает ОВ для синхронных ошибок.

ОВ ошибок, вызванные как результат синхронных ошибок, исполняются как часть программы в том же классе приоритета, что и блок, который исполнялся, когда ошибка была обнаружена. Поэтому ОВ121 и ОВ122 могут обращаться к тем значениям в аккумуляторах и других регистрах, которые в них были во время возникновения прерывания. Вы можете использовать эти значения для реагирования на сбойную ситуацию, а затем вернуться к обработке своей программы (например, если происходит ошибка доступа на аналоговом модуле ввода, Вы можете указать заменяющее значение в ОВ122 с помощью SFC44 RPL_VAL). Однако локальные данные ОВ ошибок требуют дополнительного места в L-стеке этого класса приоритета.

В CPU S7-400 один ОВ синхронных ошибок может запустить другой ОВ синхронных ошибок. В CPU S7-300 это невозможно.

Использование ОВ для асинхронных ошибок

Если операционная система CPU обнаруживает асинхронную ошибку, то она запускает соответствующий ОВ ошибок (ОВ70 – ОВ72 и ОВ80 – ОВ87). ОВ для асинхронных ошибок имеют наивысший приоритет и не могут быть прерваны другими ОВ, если все ОВ асинхронных ошибок имеют одинаковый приоритет. Если более одного ОВ асинхронных ошибок с одинаковым приоритетом появляются одновременно, то они обрабатываются в том порядке, как они появились.

Маскирование стартовых событий

С помощью системных функций (SFC) Вы можете замаскировать, отложить или заблокировать стартовые события для нескольких ОВ. За более подробной информацией об этих SFC и организационных блоках обратитесь к справочному руководству "Системное программное обеспечение для S7-300 и S7-400. Системные и стандартные функции".

Тип ОВ ошибок

SFC

Функция SFC

ОВ синхронных ошибок

SFC36 MSK_FLT

Маскирует отдельные синхронные ошибки.

 

 

Замаскированные не запускают ОВ ошибок и

 

 

запрограммированные реакции

 

SFC37 DMSK_FLT

Демаскирует синхронные ошибки

ОВ асинхронных

SFC39 DIS_IRT

Блокирует все прерывания и асинхронные ошибки.

ошибок

 

Блокированные ошибки не запускают ОВ ошибок ни

 

 

в одном из последующих циклов CPU и не запускают

 

 

запрограммированные реакции

 

SFC40 EN_IRT

Разблокирует прерывания и асинхронные ошибки

 

SFC41 DIS_AIRT

Откладывает прерывания более высокого

 

 

приоритета и асинхронные ошибки до конца OB

 

SFC42 EN_AIRT

Разблокирует прерывания более высокого

 

 

приоритета и асинхронные ошибки

4-36

Programming with STEP 7 V5.3

A5E00261405-01

Основы проектирования структуры программы

Замечание

Если Вы хотите, чтобы прерывания игнорировались, то более эффективно заблокировать их с помощью SFC, чем загружать пустой ОВ (содержащий ВЕ).

Programming with STEP 7 V5.3

4-37

A5E00261405-01