Электротехнический интернет-журнал Electrik.info

 
 
 

Сайт электрика

Избранные статьи » Домашняя автоматизация

Язык функциональных блоковых диаграмм (FBD) и его применение

Одним из популярных языков программирования ПЛК - программируемых логических контроллеров, является графический язык функциональных блоковых диаграмм FBD - Function Block Diagram. Этот язык, наряду с другими языками стандарта МЭК 61131-3, такими как например язык лестничной логики (LD), использует в своей архитектуре подобие электронной схеме.

Написанная на данном языке программа для контроллера состоит из некого списка цепей, которые одна за другой выполняются сверху — вниз. Кроме того, здесь имеется возможность присвоения отдельным цепям меток, в этом случае станет доступно использование инструкций перехода на метку, дабы изменять последовательность исполнения цепей, и создавать условия и циклы.

Язык функциональных блоковых диаграмм (FBD)

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

Отдельный блок несет на себе конкретную функцию (логическое «и», «не», счетчик и т. д.), при этом один блок может иметь несколько выходов и входов. Изначально значения переменных задаются константами или со специальных входов, а выходы их связываются дальше с другими переменными программы или с выходами ПЛК.

На рисунке приведен пример программы, написанной на языке функциональных блоковых диаграмм FBD. Как видите, такое изображение программы очень наглядно отражает алгоритм, что и делает данный язык довольно простым и удобным для разработки ПО для ПЛК.

В процессе программирования на языке FBD применяются как стандартные блоки из библиотек, так и блоки, сами написанные на FBD или на иных языках стандарта МЭК 61131-3. Блок представляет собой элемент программы, своего рода подпрограмму, функциональный блок или функцию (логическое «НЕ», «ИЛИ», «И», таймер, счетчик, триггер, математическая операция, обработка аналогового сигнала и т. д.).

Из таких блоков графически составляются выражения, образующие цепи: к выходу одного блока присоединяется следующий блок, далее — еще блок, и так образуются цепи. По ходу цепи порядок выполнения блоков соответствует порядку их соединения, а результат выполнения цепи либо подается на выход ПЛК, либо записывается в какую-то внутреннюю переменную.

Функциональные блоки

Рассмотрим кусочек программы, написанной на языке FBD: В умножить на 4, затем поделить на А, и записать результат в переменную result. В псевдокоде это будет выглядеть так: result := B*4/A. Возможно также добавление к блокам специальных управляющих входов EN и выходов ENO, для управления вызовами отдельных блоков: логический ноль, поданный на вход EN, запретит вызов данного блока, а выход ENO в случае ошибки сообщит о ней, и прервет тем самым выполнение цепи до конца.

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

Язык программирования FBD

Есть различные модификации языка программирования FBD, отличающиеся наличием тех или иных ограничений или расширений.

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

Или модификация CFC (Continuous Function Chart), позволяющая установить порядок выполнения диаграмм не просто последовательной цепочкой, а по усмотрению разработчика ПО. С CFC разработчик получает больше свободы, хотя код получается более длинным.

Смотрите также по этой теме: Языки программирования ПЛК и программная платформа автоматизации CoDeSys

Андрей Повный (Google+ВКонтакте)


Другие статьи:


Мы ВКонтакте:

Мы в Facebook:

В Одноклассниках:

Смотрите также на Электрик Инфо:

  • Язык релейных диаграмм LD и его применение
  • Языки программирования ПЛК и программная платформа автоматизации CoDeSys
  • Видеокурс по работе с контроллером ОВЕН ПЛК110 в среде CODESYS2.3
  • Автоматизация освещения в учебном классе
  • Использование ОВЕН ПЛК в системах автоматического управления освещением
  •  
    Добавление комментария
    Имя:*
    Комментарий:
    Введите код: *

    Электрика дома  | Электрообзоры  | Энергосбережение
    Секреты электрика | Источники света | Делимся опытом
    Домашняя автоматика | Электрика для начинающих
    Электромастерская | Электротехнические новинки

    Электрик Инфо - электротехника и электроника, домашняя автоматизация, статьи про устройство и ремонт домашней электропроводки, розетки и выключатели, провода и кабели, источники света, интересные факты и многое другое для электриков и домашних мастеров.
    Информация и обучающие материалы для начинающих электриков.
    Кейсы, примеры и технические решения, обзоры интересных электротехнических новинок.
    Copyright © 2008-2017 electrik.info Андрей Повный
    Е-mail: electroby@mail.ru Сайт в Google+ Карта сайта
    Вся информация на сайте Электрик Инфо предоставлена в ознакомительных и познавательных целях. За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.

    Полезное

    Счетчики электроэнергии IEK