Программа состоит из логических блоков и блоков данных. Логические блоки бывают: организационными(OB), функциональными(FB) и функциями(FC). Организационные блоки выполняют различные задачи. Для вашей задачи вы выбираете блоки необходимые для вас.
Для выполнения основной задачи вам потребуются:- Блоки запуска (ОВ100, ОВ101)
- Блок циклической обработки (ОВ1) здесь будет основная часть вашей программы
- Блоки обработки ошибок (от OB80 до OB87, OB121, OB122), если Вы не хотите, чтобы CPU переключался в STOP при возникновении ошибок.
- организационные блоки для обработки прерываний в CPU или прерываний от процесса.
Функции и функциональные блоки. ОВ* можно программировать как структурную программу создавая функции(FC) и функциональные блоки(FB) и вызывая их в кодовой части ОВ
- Функциональный блок (FB* ) - это логический блок "с памятью". В качестве памяти служит при этом соответствующий функциональному блоку экземпляр блока данных, в котором хранятся фактические параметры и статические данные функционального блока.
- Функция (FC* ) - это логический блок "без памяти", иными словами, без соответствующего экземпляра DB. После обработки FC его выходные параметры содержат рассчитанные значения функции. Дальнейшее использование и сохранение фактических параметров после вызова полностью зависит от пользователя.
Операционная система делает доступными следующие данные
- Периферийные входы и выходы
- Обзор процесса на входах и выходах
- маркеры
- счетчики
- таймеры
- Вы можете определить в блоках данных глобальные данные. Эти данные доступны всей программе пользователя.
- Статические переменные действительны только в функциональном блоке, где они определены. При каждом вызове функционального блока указывается экземпляр блока данных, который кроме всех параметров содержит также статические данные. Если определена многоэкземплярная модель, то экземпляры данных, включая статические данные, хранятся в экземпляре блока данных.
- При создании логического блока Вы можете определить временные данные. Эти данные требуют только стековой памяти во время текущей обработки блока.
К глобальным блокам данных возможен доступ из всех блоков программы
Экземпляры блоков данных ставятся в соответствие функциональным блокам и содержат помимо данных FB также данные определенных при необходимости мультиэкземпляров. Поэтому Вы должны обращаться к экземплярам блоков данных только в связи с этими функциональными блоками.
<--Предыдущая статья | Следующая статья --> |