Язык практичных блоковых диаграмм (FBD) и его использование

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

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

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

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

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

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

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

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

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

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

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

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

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

С CFC разработчик получает больше свободы, хотя код выходит более длинным.

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

ПРОГРАММИРОВАНИЕ КОНТРОЛЛЕРОВ КОММЕНТАРИЕВ НЕТ

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

Язык программирования FBD (Function Block Diagram) считается важной частью стандарта IEC-61131 и также входит в стандарт IEC-61499.
Язык программирования FBD собой представляет графический язык, спроектированый для описывания процессов прохождения сигналов через многообразные объекты.

Язык FBD имеет сходство с работающими от электричества схемами, потому инженеры-схемотехники, не имя навыка программирования, легко смогут составить на его базе электрическую схему системы управления.
Язык программирования FBD оперирует разными рабочими блоками между входными и выходными переменными.

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

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

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

Более того, можно передавать выходной сигнал на вход иному практичному блоку либо же функции.
Переменные и входы объединяют специализированными линиями связи. Эта линия и указывает распространение сигнала FBD программы .
Идеология программирования на языке FBD предполагает, что время выполнения каждой программы должно быть вполне конкретным, т.е. детерминированным.

Говоря иначе ни одна программа не имеет права замкнуться на неизвестное время, к примеру на ожидании какого-нибудь события.
Данный язык программирования, кроме всего другого, может использоватся для описания шагов и переходов в языке SFC.

Практичные блоки инкапсулируют данные и методы, чем подобны объектно-ориентированным языкам программирования, однако они не поддерживают наследование и полиморфизм.
Описание fbd элементов в общем схоже с описанием функций и методов в обыкновенных языках программирования.

К стандартным FBD блокам относятся блок таймера, ПИД-регулятора, блок секвенсора, триггера, генератора импульсов, фильтра, и т. п.

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

FBD программа вырабатывается в специализированном LCADA-конфигураторе и загружается на ПЛК.
Если Вы не нашли ответа на интересующий вопрос в статье — воспользуйтесь поиском или задайте его в комментариях!
Билет 12.

Самый простой и типовый язык последовательных практичных схем. Состав элементов, их назначение, различия параллельных и других ветвей, понятия шагов, действий и привязок, порядок их выполнения.
Не нашли то, что искали?

Воспользуйтесь поиском:
Лучшие изречения: Для студента самое основное не сдать экзамен, а своевременно припомнить о нем. 10516 —

| 7746 —

или читать все.

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

Для программирования промышленного контроллера профессионалы применяют 5 языков, которые поддерживаются конкретным стандартом. Любой из инженеров, работающих над программой автоматизации, подбирает тот язык, с которым ему комфортно работать.

Программа пишется на одном из языков программирования, которые поддерживаются стандартом МЭК61131-3 в управлении тех. оборудованием.
В работе очень часто применяется графический язык программирования FBD.
Значимая FBD заключается в том, чтобы детерминировать время выполнения задач и убрать целиком возможность зацикливания при ожидании какого-нибудь события. Это и есть главная составная часть идеологии этого языка программирования.
Графическую блок-схему тем более любят инженеры технологи за наглядность, так как визуализируется она с помощью обыкновенных прямоугольников. Она очень аналогична с работающими от электричества схемами.
При ее помощи можно выполнять очередность шагов, отображающих процедуры и условия переходов. Каждому действию отвечает определенный шаг, который программируется специалистом. Переход от блока к блоку проходит при выполнении некоторых логических условий, которые отображают данные перехода.

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

Результат вычисления цепи переносится на внутреннюю переменную и подается на выход к ПЛК.
Важными достоинствами используемого В первые языка программирования:
— простота;
— наглядность;
— четкая очередность;
— легкая структура команд;
— хороший и быстрый код.
Есть несколько модернизаций языка FBD, которые применяются профессионалами. Эти модернизации возникли В результате того, что техники перерабатывают FBD под себя.
Программируемые контроллеры, которые применяются на промпредприятиях у нас в государстве, сделаны на базеSiemens с программным обеспечением Simatik STEP 7. Это последняя версия, которая разработана под операционную систему Windows и существенно увеличивает возможности специалиста разработчика программы для автоматического производства. Детально про то, как выполняется программирование siemens simatic s7 будет интересно для того, кто собирается перейти от теории к практике.

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

Результатом будет открытие, что программирование ПЛК – это интересное занятие во время работы с настоящим оборудованием, тем более, когда есть осознание процесса и правильный подход к каждому этапу.

Общие сведения о языке FBD¶

FBD (Function Block Diagram) – это графический язык программирования большого уровня, обеспечивающий управление потока данных различных типов. Дает возможность применять мощные алгоритмы простым вызовом функций и практичных блоков. Удовлетворяет непрерывным динамическим процессам.

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

Ключевые понятия и конструкции языка¶

Согласно IEC 61131­3, важными элементами языка FBD считаются: переменные, функции, практичные блоки и соединения.
Переменные бывают входные, выходные и входные/выходные.

На рис. 1 показаны: входная переменная – «in_var», выходная переменная – «out_var» и входная/выходная переменная – «in_out_var».

Рис. 1 – Изображение переменной в языке FBD

Графическое изображение функции приведено на рис. 2. С левой стороны размещаются вхо­ды (IN1 и IN2), с права выходы (OUT).

Рис. 2 – Изображение функции в языке FBD
Подобно, изображение практичного блока, приведённое на рис.

3, имеет с левой стороны вхо­ды (S1 и R), с права выход (Q1).

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

Рис. 3 – Изображение практичного блока в языке FBD
Исходя из этого, переменные соединяются с входными и выходными параметрами функций и практичных блоков.

Входные переменные могут быть соединены исключительно с входными параметрами функции или практичного блока, выходные переменные – исключительно с выходными параметрами функции или практичного блока, входные/выходные переменные – как входами, так и с выходами функции или практичного блока. Также выходной параметр одной функции или практичного блока может быть напрямую соединён с входным параметром иного.

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

Рис. 4 – Пример соединения переменных, функций и практичных блоков

Все практичные блоки могут быть вызваны с дополнительными (необязатель­ными) формальными параметрами: EN (входом) и ENO (выходом). Пример такого практичного блока приведен на рис.

5.

Рис. 5 – Изображение простого практичного блока с параметрами EN/ENO
Если практичный блок вызывается с параметрами EN/ENO и при этом значе­ние EN равно нулю, то алгоритмы, определяемые в практичном блоке, не будут вы­полняться.

В данном варианте значение ENO автоматично устанавлива­ется равным 0. Если же значение EN равно 1, то алгоритмы, опреде­ляемые практичным блоком, будут сделаны. После выполнения данных алгоритмов без ошибки значение ENO автоматично ставится равным 1. Если же появляется ошибка в ходе выполнения данных алгоритмов, то значение ENO будет установлено равным 0. Поведение практичного блока одинаково как в случае вызова практичного блока с EN = 1, так и при вызове без показателей EN/ENO.

Для более небольшого соединения входов и выходов разных функций и практичных блоков применяются детали «Соединение», показанные на рис. 6:

Рис. 6 – Изображение соединений в языке FBD

Они могут быть двух вариантов: входное соединение и выходное выходные соединение. Главная задача соединений – передать значение из одного выхода на другой вход без прямого соединения выхода и входа.

На рис. 5.7 показан пример, в котором выходное значение OUT функции BOOL_TO_INT передаётся на вход IN2 функции ADD:

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

Рис. 7 – Пример применения соединения на FBD диаграмме

Пример программы на языке FBD¶

На рис. 8 приведена FBD диаграмма, которая состоит из следующих практичных блоков: SR0, AND, TP0.

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

Рис. 8 – пример FBD диаграммы

Практичный блок SR0 собой представляет Бистабильный SR-триггер. У него имеются входы S1, R1 и выход Q1, а еще дополнительный вход EN и выход ENO, разрешающие включать и отключать выполнение SR0.

Выход Q1 при помощи соединён с входом IN1 блока AND, собой представляет «Логическое И». Вход IN2 типа BOOL соединён с литералом «BOOL#1», который всегда позитивный. Выход OUT блока AND соединён с входом IN практичного блока TP0, собой представляет повторитель импульсов.

Вход PT типа TIME, соединён с литералом «T#5s», который задаёт значение 5 секунд.
Если после запуска выполнения данного практичного блока enabled равно True и переменная S1_IN тоже True, практичный блок SR0 начинает производиться. На выходе OUT практичного блока AND будет значение True как только Q1 у SR0 будет равным True.

Стало быть, как только OUT становится True вход IN практичного блока TP0 принимает тоже True и начинается отсчёт таймера ET (см. рис. 9).

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

Рис. 9 – Выполнение FBD диаграммы
Пока данный таймер не достигнет значения PT выход Q у практичного блока TP0 будет равным True.

При достижении таймером ET значения PT, т.е. через 5 секунд выход Q становится False (см. рис. 10).

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

Рис. 10 – Выполнение FBD диаграммы

Как только вход IN практичного блока TP0 становится значения FALSE, счётчик ET сбрасывается в T#0s.