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

"Электрик Инфо" - онлайн журнал про электричество. Теория и практика. Обучающие статьи, примеры, технические решения, схемы, обзоры интересных электротехнических новинок. Уроки, книги, видео. Профессиональное обучение и развитие. Сайт для электриков и домашних мастеров, а также для всех, кто интересуется электротехникой, электроникой и автоматикой.
 

 

  • Как отличить хороший самозажимной клеммник от подделки
  • Почему горят ТЭНы на водонагревателях и стиральных машинах и как их заменить
  • Способы и схемы управления тиристором или симистором
  • Стрелочные и цифровые мультиметры - достоинства и недостатки
  • Как устроен компьютерный блок питания и как его запустить без компьютера
  • Устройство плавного пуска электродвигателя: назначение, устройство и принцип работы, преимущества, схема подключения
  • Электрик  

    Электрик Инфо » Устройства автоматики, Программируемые логические контроллеры » Язык функциональных блоковых диаграмм (FBD) и его применение
    Количество просмотров: 55213
    Комментарии к статье: 2


    Язык функциональных блоковых диаграмм (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 разработчик получает больше свободы, хотя код получается более длинным.

    Преимущество языка FBD перед языком релейных диаграмм LD возрастает с увеличением сложности алгоритма управления. Алгоритм управления написанный в FBD, позволяет легче, чем в LD, отслеживать изменения в программе и искать возможные ошибки во время отладки. 

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

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

    Мы планируем развивать эту тему здесь:

    Обучение применению и программированию ПЛК

    Андрей Повный 

    Structured Text

    Представляем книгу по Structured Text (ST) МЭК 61131-3. Автор - Сергей Романов

    Книга "Изучаем Structured Text МЭК 61131-3": Ссылка на книгу

    Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!

    Записывайтесь в онлайн-университет от GeekBrains:

    Факультет Интернет вещей

    Обучение Интернет вещей и современные встраиваемые системы

    Вы сможете:

    • Изучить C, механизмы отладки и программирования микроконтроллеров;

    • Получить опыт работы с реальными проектами, в команде и самостоятельно;

    • Получить удостоверение и сертификат, подтверждающие полученные знания.

    Starter box для первых экспериментов в подарок!

    После прохождения курса в вашем портфолио будет: метостанция с функцией часов и встроенной игрой, распределенная сеть устройств, устройства регулирования температуры (ПИД-регулятор), устройство контроля влажности воздуха, система умного полива растений, устройство контроля протечки воды...

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

    Подробнее здесь: Интернет вещей и современные встраиваемые системы






    Поделитесь этой статьей с друзьями:

    Другие статьи с сайта Электрик Инфо:

  • Язык программирования ПЛК Structured Text (ST) и его применение
  • Язык релейных диаграмм LD (Ladder diagram) и его применение
  • Использование ОВЕН ПЛК в системах автоматического управления освещением
  • Схемы пуска электродвигателя на языке лестничных диаграмм LD для ПЛК
  • Видеокурс по работе с контроллером ОВЕН ПЛК110 в среде CODESYS2.3
  • Языки программирования ПЛК и программная платформа автоматизации CoDeSys
  • Примеры простых программ для ПЛК в CodeSys на языке релейных диаграмм
  • Автоматизация освещения в учебном классе
  • Пример модернизации электрической схемы грузового подъемника с использовани ...
  • Программируемые логические контроллеры для домашней автоматизации
  • Категория: Устройства автоматики, Программируемые логические контроллеры

    ПЛК, Контроллеры управления, Промышленная автоматизация

      Комментарии:

    #1 написал: Светлана | [цитировать]

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

      Комментарии:

    #2 написал: Виктор | [цитировать]

    У меня сложилось впечатление, что Codesys 2.3 FBD намного лучше, чем Ladder. Если у вас есть возможность программировать большие технологические линии, вы обнаружите, что большинство основных программ написано на этом языке. Крупные компании обычно устанавливают определенный стандарт программирования на своих предприятиях. У меня был коллега, который работал на многих заводах BMW по всему миру, и он упомянул, что основные программы были написаны на этом языке. Помните, что основная программа в большинстве случаев должна быть написана на графическом языке, благодаря такой процедуре у человека, анализирующего программу, например, при отказе машины, будет более легкая задача. Отдел обслуживания часто работает в сжатые сроки и часто в ночные смены - об этом стоит помнить :-)

    Добавление комментария
    Имя:*
    Комментарий:

    Популярные статьи:

    Присоединяйтесь к нам в социальных сетях:

    ВКонтакте | Facebook | Одноклассники | Яндекс Дзен

     


    Популярные разделы сайта:

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

    Copyright © 2009-2021 Электрик Инфо - Electrik.info, Андрей Повный
    Вся информация на сайте предоставлена в ознакомительных и познавательных целях.
    За применение этой информации администрация сайта ответственности не несет.
    Перепечатка материалов сайта запрещена.

    Источник иллюстраций: авторские рисунки и фотографии, электрика на стоковых фото