Программа пользователя
Программа пользователя должна создаваться проектировщиком и загружаться в центральный процессор. Она содержит все функции, необходимые для обработки специфических задач автоматизации. К задачам прикладной программы относятся:
- определение условий для перезагрузки и перезапуска центрального процессора (например, инициализация сигналов с определенным значением);
- обработка данных процесса (например, логическая обработка бинарные сигналы, считывание и анализ аналоговых величин, установление бинарных сигналов для выходов, вывод аналоговых значений);
- реагирование на аварийную ситуацию;
- обработка ошибок при нормальном протекании программы.
Программа пользователя является структурированной, то есть подразделенной на отдельные, законченные программные блоки. Это дает следующие преимущества:
- большие программы наглядно программируются (сразу видна структура программы);
- отдельные программы могут быть стандартизированы;
- упрощается организация программ;
- легче производится модификация программ;
- текст программы упрощен, так как он может записываться по частям;
- упрощены отладка и введение в эксплуатацию.
Блоки программ структурированной программы пользователя отвечают этим задачам. В качестве примера рассмотрим блоки, применяемые в контроллерах SIMATIC.
Таблица 3.1 - Виды блоков
Блок | Краткое описание функций |
Организационные блоки (OB) | Устанавливают структуру программы пользователя и ее связь с ОС |
Функциональные блоки (FB) | Часть программы, которая может несколько раз встречаться в основной программе, поэтому программируется отдельно, а в основной программе производится ее вызов |
Экземплярные блоки данных (Instanz-DB) | Вызовы FB/SFB блока могут осуществляться для различных значений параметров, которые хранятся в Instanz-DB |
Функции (FC) | Аналогичны FB, но без экземплярного DB (обычно это расчет математических функций) |
Глобальные блоки данных (DB) | Области для сохранения данных пользователя. Если экземплярные блоки данных подчинены определенному функциональному блоку, то глобальные данные могут быть определены и использованы любыми блоками. |
Системные функциональные блоки (SFB) и системные функции (SFC) | SFBs и SFCs интегрированы в CPU, т.е не программируются пользователем, в программе осуществляется только их вызов. |
Системные блоки данных (SDB) | Области данных для сохранения данных конфигурации и параметров аппаратных средств. |
OB, FB, SFB, FC и SFC содержат блоки программ и поэтому являются кодовыми или логическими блоками. Возможное число блоков каждого типа и возможная длина блоков зависит от центрального процессора.
Некоторые из этих блоков могут выполняться циклически, в то время как другие только по требованию.
Системные блоки (SFB, SFC и SDB) – это определенные функции или функциональные блоки, которые встроены в операционную систему центрального процессора. Эти блоки не занимают дополнительного места в памяти пользователя. Системные блоки вызываются из программы пользователя.