Глобальные блоки данных (DB)
В отличие от логических блоков, блоки данных не содержат команд STEP 7. Они используются для хранения данных пользователя, иными словами, блоки данных содержат переменные данные, с которыми работает программа пользователя. Глобальные блоки данных применяются для хранения пользовательских данных, к которым могут обратиться все остальные блоки.
Если логический блок (FC, FB или ОВ) вызывается, то он временно занимает место в области локальных данных (L-стек). В дополнение к этой области локальных данных логический блок может открыть область памяти в виде DB.
В отличие от данных, находящихся в области локальных данных, данные в DB не удаляются, когда DB закрывается, иначе говоря, после исполнения соответствующего логического блока.
Каждый FB, FC или ОВ может читать данные из глобального DB или записывать данные в этот DB. Эти данные сохраняются в DB после выхода из него.
Глобальный и экземплярный DB могут быть открыты одновременно. На следующем рисунке показаны различные методы доступа к блокам данных
Рисунок 7.4 – Методы доступа к блокам данных
Инструкции с блоками данных:
OPN : Открыть блок данных
Обозначение
Инструкция «Открыть блок данных» используетсядля открытия глобального блока данных (DB) или экземплярного блока данных (DI). Номер блока данных заносится в DB или DI. Последующие инструкции обращения к данным соответствуют обращению к номеру блока данных ранее открытого через регистры DB и DI.
Пример
DB10 является текущим открытым блоком. Опрос бита DBX0.0 соответственно производится для бита 0 байта данных 0 блока данных DB10. Состояние сигнала этого бита присваивается выходу Q 4.0.
5. Системные функциональные блоки (SFB) и
системные функции (SFC)
CPU S7 предоставляют в распоряжение заранее запрограммированные блоки, которые могут быть вызваны в пользовательской программе.
Системный функциональный блок (SFB) – это функциональный блок, встроенный в CPU S7. SFB являются частью операционной системы и не загружаются как часть программы пользователя. Как и FB, SFB – это блоки "с памятью". Для SFB тоже нужно создавать экземплярные блоки данных и загружать их в CPU как часть программы.
CPU S7 предоставляют в распоряжение следующие SFB:
- для связи через проектируемые соединения;
- для встроенных специальных функций .
Системная функция – это заранее запрограммированная, оттестированная функция, встроенная в CPU S7. SFC может быть вызвана в программе. SFC являются частью операционной системы и не загружаются как часть программы. Как и FC, SFC являются блоками "без памяти".
CPU S7 предоставляют SFC для следующих функций:
- контроль программы;
- работа с часами и счетчиками рабочего времени;
- передача событий из CPU всем остальным CPU в мультипроцессорном режиме;
- информация о статических и динамических системных данных, например, диагностика;
- генерирование сообщений, относящихся к блокам и т.д.
Контрольные вопросы
1. Каково назначение функциональных блоков и функций?
2. В чем отличие функциональных блоков и функций?
3. Как осуществляется назначение экземплярных блоков данных функциональным блокам?
4. В чем отличие глобальных и экземплярных блоков данных?
5. Каково назначение системных функциональных блоков и функций?