2.3. Типы блоков
Таблица 1 содержит перечень и краткое описание программных блоков для контроллеров SIMATIC S7, а также блоков данных.
В контроллерах SIMATIC S7 существует несколько способов обработки управляющей программы:
1. Циклическая обработка. Состоит из повторных (периодически повторяющихся) обработок управляющей программы, которая начинается с вызова организационного блока ОВ1. В начале цикла обработки программы ОС заполняет область отображения входов, сбрасывает таймер контроля длительности цикла, после этого вызывает для обработки блок ОВ1. В конце цикла обработки ОС переписывает в выходные модули значения из области отображения выходов, после чего начинается следующий цикл обработки. В блоке ОВ1 можно вызывать функции и функциональные блоки. После обработки вызванного блока управление передается блоку, из которого был произведен вызов данного блока.
Таблица 1-Программные блоки и блоки данных
Блок | Выполняемые функции | |
ОВ | Организационные блоки. Предназначены для: | |
организации циклического выполнения программы пользователя (ОВ1), обработки | ||
событий: | ||
включения питания (ОВ100), | ||
циклического прерывания (ОВЗ0-ОВ38), | ||
прерывания по дате и времени (ОВ10-ОВ17), | ||
прерывания по задержке времени (ОВ20-ОВ23), | ||
возникновения ошибки (ОВ40-ОВ47, ОВ80-ОВ87, ОВ121, ОВ122). | ||
Блоки вызываются автоматически операционной системой контроллера в случае | ||
возникновения того или иного события.1 | ||
FC | Функция. Может быть вызвана из любого блока. Допускается передача параметров в функцию и обратно. Функция может также иметь локальные переменные, которые теряются при выходе из блока. | |
| ||
|
Блок | Выполняемые функции | ||||
FB | Функциональный блок. Также может быть вызван из любого блока и может иметь | ||||
формальные и локальные параметры. Особенностью FB является наличие | |||||
переменных типа STAT, которые сохраняют свое значение при выходе из блока. | |||||
Поэтому функциональный блок имеет один или несколько связанных с ним блоков | |||||
SFC | Системная функция. Это функция, уже имеющаяся в ОС CPU. Предназначена для | ||||
выполнения определенных стандартных действий. | |||||
SFB | Системный функциональный блок. Аналогичен FB, но, как и SFC. уже имеется в | ||||
составе ОС контроллера.2 | |||||
DB | Блок данных программы пользователя. Предназначен для долговременного | ||||
хранения информации. | |||||
DI | Блок данных функционального блока. Используется для хранения значений | ||||
переменных функционального блока. Отличается от DB наличием жесткой | |||||
структуры, определяемой связанным с ним функциональным блоком. |
2. Циклические прерывания. При управлении ТП всегда существуют программы, которые должны обрабатываться через одинаковые, заранее заданные, промежутки времени. Для этих целей в контроллерах SIMATIC S7 существуют блоки обработки циклических прерываний. Промежуток времени, через который должен вызываться данный блок, задается программистом.
3. Прерывания по дате и времени. Существуют программы, которые должны выполниться один раз в определенный день и час или выполняться периодически. начиная с определенных даты и времени. Для этих целей в
контроллерах | SIMATIC | |||
S7 можно запрограммировать блоки прерываний по дате и времени. | ||||
5. Прерывания | по задержке | времени. Такие блоки вызываются по | ||
истечении определенного времени после возникновения какого-либо события. | ||||
6. Обработка включения питания. Часто | при включении питания | |||
необходимо выполнить | какие-либо | однократные | действия: | первичную |
установку, инициализацию и т.д. Для этих целей предусмотрены блоки обработки включения питания.
7. Обработка ошибок. Такие блоки выполняются в случае возникновения аппаратных или программных ошибок.
Организационные блоки обрабатываются циклически. Период и приоритет обработки определяется номером организационного блока (см. таблицу 2).
Таблица 2 - Период и приоритет обработки организационных блоков
Организационный | Условия вызова | Приоритет | |||
блок | по умолчанию | изменения | |||
OB1 | Вызывается | операционной | 1 | Нет | |
системой | |||||
OB10 – OB17 | В заданное время | 2 | 2 … 24 | ||
OB20 – OB23 | По истечении времени | 3 … 6 | 2 … 24 |
Организационный | Условия вызова | Приоритет | |||
блок | по умолчанию | изменения | |||
OB30 – OB38 | Через заданный интервал | 7 … 15 | 2 … 24 | ||
OB40 – OB47 | От входов и выходов | 16 … 23 | 2 … 24 | ||
OB60 | Мультипроцессорное | 25 | Нет | ||
OB70, | OB72, | Ошибки резервирования | 25, 28, 25 | 2 … 28 | |
OB73 | |||||
OB80 – OB85 | Асинхронные ошибки | 26 | 2 … 26 | ||
OB90 | Фоновая обработка | 29 | Нет | ||
OB100 | При запуске | 27 | Нет | ||
OB121, OB122 | Ошибки выполнения программы | Приоритет блока, вызвавшего | |||
программу |
2.4. Типы данных
Контроллеры SIMATIC S7 могут работать со следующими типами данных: