категории: Домашна автоматизация, Програмируеми контролери
Брой преглеждания: 28074
Коментари към статията: 0

Език на функционалната блокова схема (FBD) и нейното приложение

 

Един от най-популярните езици за програмиране на PLCs - програмируеми логически контролери, е графичният език на функционалните блокови диаграми FBD - Function Block Diagram. Този език, заедно с други езици на IEC 61131-3, като например логически език на стълбата (LD), използва в своята архитектура един вид електронна схема.

Програма, написана на този език за контролер, се състои от определен списък с вериги, които се изпълняват една след друга отгоре надолу. В допълнение, има възможност за присвояване на етикети на отделни вериги, в този случай използването на инструкции за преминаване към етикета ще бъде достъпно, за да се промени последователността на изпълнение на веригите и да се създадат условия и цикли.

Език на функционалната блокова схема (FBD)

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

Отделен блок носи специфична функция (логически „и“, „не“, брояч и т.н.), докато един блок може да има няколко изхода и входа. Първоначално стойностите на променливите се задават от константи или от специални входове и техните изходи са свързани допълнително с други програмни променливи или с изходите на PLC.

Фигурата показва примерна програма, написана на езика на функционалната блокова диаграма FBD. Както можете да видите, това изображение на програмата много ясно отразява алгоритъма, което прави този език доста прост и удобен за разработване на софтуер за PLC.

В процеса на програмиране на езика на FBD се използват както стандартни блокове от библиотеки, така и блокове, написани на FBD или на други езици от стандарта IEC 61131-3. Блокът е програмен елемент, вид подпрограма, функционален блок или функция (логически „НЕ”, „ИЛИ”, „И”, таймер, брояч, тригер, математическа операция, обработка на аналогов сигнал и др.).

От тези блокове изразите, които формират веригите, са съставени графично: следващият блок е свързан към изхода на един блок, след това друг блок и така се формират веригите. В хода на схемата редът на изпълнение на блоковете съответства на реда на тяхното свързване, а резултатът от изпълнението на схемата се подава или към изхода на PLC, или се записва към някаква вътрешна променлива.

Функционални блокове

Помислете за част от програмата, написана на езика на FBD: Умножете по 4, след това разделете на A и запишете резултата в променливия резултат. В псевдокод ще изглежда така: резултат: = B * 4 / A. Възможно е също така да добавите специални контролни входове EN и ENO изходи към блоковете, за да контролирате повикванията на отделни блокове: логическа нула, приложена към EN входа, ще забрани повикването на този блок, а изходът на ENO ще го докладва в случай на грешка и по този начин ще прекъсне изпълнението на веригата до края ,


Както можете да видите, езикът на FBD е изключително визуален, удобен и затова лесен за изучаване дори от специалисти по приложения, които нямат специално обучение по компютърни науки. Кодът се изпълнява последователно, структурата на командите вътре в кода е проста, следователно програмата се излъчва много бързо и задачата се изпълнява надеждно.

FBD език за програмиране

Съществуват различни модификации на езика за програмиране на FBD, характеризиращи се с наличието на определени ограничения или разширения.

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

Или модификация на CFC (Continuous Function Chart), която ви позволява да зададете реда на изпълнение на диаграмата не само от последователна верига, но по преценка на софтуерния разработчик. С CFC разработчикът получава повече свобода, въпреки че кодът е по-дълъг.

Вижте също по тази тема:PLC езици за програмиране и софтуерна платформа за автоматизация на CoDeSys

Вижте също на e.imadeself.com:

  • LD език на стълбата и нейното приложение
  • PLC езици за програмиране и софтуерна платформа за автоматизация на CoDeSys
  • Стартови диаграми на двигателя на езика на диаграмата на стълбата LD за PLC
  • Пример за модернизация на електрическата верига на товарен асансьор, използващ ...
  • Видео курс за работа с контролера Aries PLC110 в среда CODESYS2.3

  •