Системные и стандартные блоки
Системные и стандартные блоки являются компонентами операционной системы. Системные блоки (функции SFC и функциональные блоки SFB) могут содержать данные в системных блоках данных (SDB). Они обеспечивают важные системные функции, доступные пользователю, например, функции управления внутренними часами CPU или коммуникационные функции. При этом системные и стандартные блоки не занимают места в пользовательской памяти – они располагаются в операционной системе. Однако для системных блоков нужно создавать экземплярные блоки данных и загружать их в CPU как часть программы пользователя.
Использование нескольких экземплярных DB для одного FB
Схема с несколькими экземплярами DB позволяет с помощью одного FB управлять несколькими однотипными устройствами. Так, например, FB, созданный для некоторого класса двигателей, может управлять разными двигателями, используя для каждого из них определенный набор данных. При использовании этого метода для нескольких двигателей нужен только один функциональный блок (рис. 1.4).
Использование одного экземплярного DB для нескольких
экземпляров FB
Экземпляры данных для нескольких двигателей можно одновременно передавать в один экземплярный DB. Для этого нужно запрограммировать вызовы в одном FB и описать (типом FB) статические переменные для каждого экземпляра в разделе описаний.
Рисунок 1.4 – Несколько экземплярных блоков данных для одного FB
На рисунке 1.5 вызов осуществляет блок FB12 "Privod", а переменные имеют тип данных FB13, то есть блока, который вызывается. Экземпляр вызова определяется при помощи назначений Drive_1, Drive_2 и Drive_3.
Рисунок 4.5 - Использование одного экземплярного DB для нескольких экземпляров FB
В этом примере FB13 не имеет потребности в собственном экземплярном блоке данных, потому что данные его экземпляров хранятся в блоке данных DB20, который принадлежит FB12 – вызывающему блоку.
При использовании одного экземплярного DB для нескольких экземпляров FB экономится память и оптимизируется использования блоков данных.
Использование глобальных блоков данных
Глобальные блоки данных применяются для хранения пользовательских данных, к которым могут обратиться все блоки.
Каждый FB, FC или ОВ может читать данные из глобального DB или записывать данные в этот DB. Эти данные хранятся в DB после выхода из него. Глобальный и экземплярный DB могут быть открыты одновременно.
На рисунке 1.6 показаны методы доступа к блокам данных.
Рисунок 4.6- Варианты доступа к блокам данных
Нужно учитывать, что когда вызывается логический блок FC, FB или организационный блок ОВ, то он должен на время вызова занять место в области локальных данных, то есть в L-стеке. При этом логический блок открывает область памяти в DB. В отличие от данных, которые находятся в L-стеке, данные в DB не удаляются после завершения работы логического блока.
Дата добавления: 2016-12-09; просмотров: 3200;