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

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

Переменная

Тип данных

 

 

 

Элементарный тип

Составной тип

Параметрируемый

 

данных

данных

тип

Выход

Начальное значение

Начальное значение

 

разрешено

разрешено

 

Вход/выход

Начальное значение

 

разрешено

 

 

Статическая

Начальное значение

Начальное значение

 

разрешено

разрешено

 

Временная

4.2.3.4Экземплярные блоки данных

Экземплярный блок данных назначается каждому вызову функционального блока, который передает параметры. Фактические параметры и статические данные FB хранятся в экземплярном DB. Переменные, описанные в FB, определяют структуру экземплярного блока данных. Экземпляр означает вызов функционального блока. Если, например, функциональный блок вызывается в программе пользователя S7 пять раз, то имеется пять экземпляров этого блока.

Создание экземплярного DB

Перед созданием экземплярного блока данных соответствующий FB уже должен существовать. При создании экземплярного блока данных указывается номер FB.

Один экземплярный DB для каждого отдельного экземпляра

При назначении функциональному блоку (FB), который управляет двигателем, нескольких экземплярных блоков данных этот FB можно использовать для управления разными двигателями.

Данные для каждого конкретного двигателя (например, скорость, время пуска, общее время работы) сохраняются в разных экземплярных блоках данных. DB, связываемый с FB при вызове последнего, определяет, какой из двигателей управляется. При использовании этого метода для нескольких двигателей нужен только один функциональный блок (см. следующий рисунок).

 

 

 

 

Вызов FB22,DB201 ис-

 

 

 

DB201:Двиг_1

 

 

 

пользует данные для

 

 

 

 

двигателя 1

 

 

 

 

 

 

FB22:Двигатели

 

DB202: Двиг _2

Вызов FB22,DB202 ис-

 

 

 

пользует данные для

 

 

 

 

двигателя 2

 

 

 

 

 

 

 

 

Вызов FB22,DB203 ис-

 

 

 

DB203: Двиг _3

 

 

 

пользует данные для

 

 

 

 

двигателя 3

 

 

 

 

 

Programming with STEP 7 V5.3

4-21

A5E00261405-01

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

Один экземплярный DB для нескольких экземпляров FB (мультиэкземпляры)

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

Если Вы используете один экземплярный DB для нескольких экземпляров FB, то Вы экономите память и оптимизируете использование блоков данных.

На следующем рисунке вызывающим FB является FB21 "Управление двигателем", переменные имеют тип данных FB22, а экземпляры определяются посредством Motor_1, Motor_2 и Motor_3.

FB21:Управление двигателем

Описание переменных:

stat, Motor_1, FB 22 stat, Motor_2, FB 22 stat, Motor_3, FB 22

DB100

 

Вызов FB 21 из логического

 

 

блока:

 

 

CALL FB21,DB100

Данные для Motor_1

 

Передает данные для Motor_1,

 

 

Motor_2, Motor_3

Данные для Motor_2

 

Вызов FB 22 из FB 21:

Данные для Motor_3

 

CALL Motor_1

 

 

CALL Motor_2

 

 

CALL Motor_3

FB22:Двигатели

В этом примере FB22 не нуждается в собственном экземплярном блоке данных, так как данные его экземпляров сохраняются в экземплярном блоке данных вызывающего FB.

Один экземплярный DB для нескольких экземпляров различных FB (мультиэкземпляры)

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

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

В примере на этом рисунке назначенные экземпляры данных хранятся в общем экземплярном DB.

4-22

Programming with STEP 7 V5.3

A5E00261405-01

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

DB12: Двигатель

FB12:Двигатель

FB13:Насос

FB14:Мешалка Описание переменных:

stat, Motor_10, FB 12 stat, Pump_10, FB 13

DB13: Насос

DB14

Данные для мешалки

Данные для

Motor_10

Данные для

Pump_10

Доступ только для FB12, вызов: CALL FB12, DB12

Доступ только для FB 13, вызов: CALL FB13, DB13

Доступ для FB 14, FB 13 и FB 12, вызов:

CALL FB14,DB14

передает данные для мешалки, Motor_10 и Pump_10

Вызов FB 12 из FB 14: CALL Motor_10 Вызов FB 13 из FB 14: CALL Pump_1

4.2.3.5Глобальные блоки данных (DB)

В отличие от логических блоков, блоки данных не содержат команд STEP 7. Они используются для хранения данных пользователя, иными словами, боки данных содержат переменные данные, с которыми работает программа пользователя. Глобальные блоки данных применяются для хранения пользовательских данных, к которым могут обратиться все остальные блоки.

Размер DB может изменяться. За информацией о максимально возможном размере обратитесь к описанию Вашего CPU.

Вы можете структурировать глобальные блоки данных любым способом для удовлетворения своих конкретных потребностей.

Глобальные блоки данных в программе пользователя

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

Каждый FB, FC или ОВ может читать данные из глобального DB или записывать данные в этот DB. Эти данные сохраняются в DB после выхода из него.

Глобальный и экземплярный DB могут быть открыты одновременно. На следующем рисунке показаны различные методы доступа к блокам данных

Programming with STEP 7 V5.3

4-23

A5E00261405-01

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

FC10

Совместно

 

 

используемый

Доступ для всех

 

DB

 

(DB 20)

блоков

FC11

 

 

 

FB12

Экземплярный

Доступ только для FB12

DB

 

(DB 112)

 

4-24

Programming with STEP 7 V5.3

A5E00261405-01