|
|
Среда
программирования
контроллеров "НАНКО-ФБД"
Язык Функциональных
Блоковых Диаграмм
Каждый функциональный
блок представляет из
себя прямоугольник,
внутри которого
имеется обозначение
функции, выполняемой
блоком. Выход
функционального блока
может быть соединен
связью с другими
блоками. Каждая связь
является переменной.
Один или несколько
функциональных блоков,
соединенных связями
между собой, образуют
программу на языке ФБД.
Язык ФБД описывает
закон преобразования
переменных программы.
Имеются следующие
формальные правила
языка ФБД:
-
функциональные блоки
могут располагаться
произвольно в поле
программы;
-
не может быть
свободных
(несоединенных)
входов и выходов
функционального
блока;
-
на входе
функционального
блока может быть
инверсия сигнала,
детектор прямого или
обратного фронта;
-
любая связь может
иметь имя и тип;
-
входы и выходы
функциональных
блоков,
присоединенные к
связям, имеющим
одинаковые имена,
считаются
соединенными;
-
очередность
выполнения блоков в
программе: слева
направо, сверху
вниз.
-
В том случае, когда
одну и ту же
переменную формируют
несколько
функциональных
блоков, последнее
значение переменной
будет присвоено тем
блоком, который
выполняется
последним.
Программа на ФБД может
содержать следующие
базовые типы
объектов:
-
функциональные блоки
-
связи
-
разделители
-
входы и выходы
-
комментарии
Функциональные блоки и
связи
Переменные и константы
ФБД программ
назначаются на связи,
которые присоединяются
к входам и выходам
функциональных блоков.
На входе блока может
быть константное
выражение, входная или
выходная переменная,
внутренняя переменная,
заранее заведенный
макрос. На выходе ФБД
блока может быть любая
внутренняя, входная
или выходная
переменная, а также
макрос.
"НАНКО-ФБД"
поддерживает следующие
типы переменных:
Логическая (bool) -
может принимать
значение 0 или "не 0"
(1, 0xFF или что-то
другое в зависимости
от платформы)
Байт (byte) - целое от
0 до 255.
Слово (word) - целое
от 0 до 65535.
Байт со знаком (short)
- целое от -128 до
127.
Слово со знаком (int)
- целое от -65536 до
65535.
Дробь (float) - число
с плавающей точкой.
Программа на ФБД может
быть запакована в
блок, который вносится
в библиотеку и может
впоследствии быть
использован.
Входы и выходы
Блоки входов и выходов
являются модификациями
обычных блоков,
ответственными за
привязку связей,
идущих вовне. Они
могут быть
константными, и тогда
при компиляции не
образуются новые
переменные
соответствующие
связям, прикрепленным
к этим блокам. К
константным входам и
выходам прикрепляются
константы и вызовы
макросов, в том числе
обращения к таблицам
входов и выходов. Все
прочие связи, в том
числе общие (не путать
с глобальными -
макросами обращения к
таблице внешних
глобальных переменных)
связи.
Разделители
Разделители
предназначены для
повышения
удобочитаемости
программ на ФБД и
выглядят как
горизонтальные
пунктирные линии,
идущие через всю ФБД.
Если есть несколько
участков, ограниченных
разделителями, они
выполняются сверху
вниз, а блоки внутри
них выполняются как
обычно.
Комментарии
Комментарии - это
произвольный текст в
поле программы,
предназначенный для
облегчения понимания
алгоритма
функционирования
программы, но не
оказывающий никакого
влияния на исполнение
программы.
|
|