Kategorie: Automatyka domowa, Sterowniki programowalne
Liczba wyświetleń: 28074
Komentarze do artykułu: 0

Funkcjonalny język schematów blokowych (FBD) i jego zastosowanie

 

Jednym z najpopularniejszych języków programowania sterowników PLC - programowalnych sterowników logicznych, jest język graficzny schematów bloków funkcjonalnych FBD - Schemat bloków funkcyjnych. Ten język wraz z innymi językami IEC 61131-3, takimi jak na przykład język logiki drabinkowej (LD), wykorzystuje w swojej architekturze rodzaj obwodu elektronicznego.

Program napisany w tym języku dla kontrolera składa się z pewnej listy obwodów, które są wykonywane jeden po drugim od góry do dołu. Ponadto istnieje możliwość przypisania etykiet do poszczególnych łańcuchów, w tym przypadku będzie można skorzystać z instrukcji przejścia do etykiety, aby zmienić kolejność wykonywania łańcuchów oraz stworzyć warunki i cykle.

Język schematu bloków funkcyjnych (FBD)

Tak więc program napisany w języku graficznym FBD jest zestawem funkcjonalnych bloków połączonych ze sobą, których wyjścia i wejścia są połączone liniami komunikacyjnymi. Linie komunikacyjne odzwierciedlają pewne zmienne programu, poprzez które dane są wymieniane z bloku do bloku.

Oddzielny blok pełni określoną funkcję (logiczne „i”, „nie”, licznik itp.), Podczas gdy jeden blok może mieć kilka wyjść i wejść. Początkowo wartości zmiennych są ustawiane przez stałe lub ze specjalnych wejść, a ich wyjścia są dalej łączone z innymi zmiennymi programu lub z wyjściami PLC.

Rysunek pokazuje przykładowy program napisany w funkcjonalnym języku schematów blokowych FBD. Jak widać, ten obraz programu bardzo wyraźnie odzwierciedla algorytm, co czyni ten język dość prostym i wygodnym do tworzenia oprogramowania dla sterowników PLC.

W procesie programowania w języku FBD stosowane są zarówno standardowe bloki z bibliotek, jak i bloki napisane w FBD lub w innych językach normy IEC 61131-3. Blok jest elementem programu, rodzajem podprogramu, blokiem funkcji lub funkcją (logiczne „NIE”, „LUB”, „I”, zegar, licznik, wyzwalacz, operacja matematyczna, przetwarzanie sygnału analogowego itp.).

Z tych bloków wyrażenia tworzące łańcuchy są kompilowane graficznie: następny blok jest połączony z wyjściem jednego bloku, a następnie drugiego bloku, i tak powstają łańcuchy. W trakcie obwodu kolejność wykonania bloków odpowiada kolejności ich połączenia, a wynik wykonania obwodu jest albo podawany na wyjście PLC, albo zapisywany do jakiejś zmiennej wewnętrznej.

Bloki funkcyjne

Rozważ kawałek programu napisany w języku FBD: Pomnóż przez 4, następnie podziel przez A i zapisz wynik w zmiennej. W pseudokodzie będzie to wyglądać tak: wynik: = B * 4 / A. Możliwe jest również dodanie specjalnych bloków sterujących wyjściami EN i ENO do bloków w celu kontrolowania wywołań poszczególnych bloków: zero logiczne zastosowane do wejścia EN zablokuje wywołanie tego bloku, a wyjście ENO zgłosi to w przypadku błędu, a tym samym przerwie wykonanie obwodu do końca .


Jak widać, język FBD jest niezwykle wizualny, wygodny, a zatem łatwy do nauczenia nawet przez specjalistów aplikacji, którzy nie mają specjalnego szkolenia w dziedzinie informatyki. Kod jest wykonywany sekwencyjnie, struktura poleceń w kodzie jest prosta, dlatego program jest nadawany bardzo szybko, a zadanie wykonuje się niezawodnie.

Język programowania FBD

Istnieją różne modyfikacje języka programowania FBD, charakteryzujące się występowaniem pewnych ograniczeń lub rozszerzeń.

Na przykład istnieje rodzaj FBC, który pozwala na stosowanie tylko czystych funkcji z jednym wyjściem bez zmiennych pośrednich - modyfikacja do programowania funkcjonalnego.

Lub modyfikacja CFC (Continuous Function Chart), która pozwala ustawić kolejność wykonywania wykresu nie tylko w łańcuchu sekwencyjnym, ale według uznania twórcy oprogramowania. Dzięki CFC deweloper zyskuje więcej swobody, chociaż kod jest dłuższy.

Zobacz także na ten temat:Języki programowania PLC i platforma oprogramowania do automatyzacji CoDeSys

Zobacz także na e.imadeself.com:

  • LD Ladder Language i jego zastosowanie
  • Języki programowania PLC i platforma oprogramowania do automatyzacji CoDeSys
  • Schematy rozruchu silnika w języku schematów drabinkowych LD dla PLC
  • Przykład modernizacji obwodu elektrycznego windy towarowej z wykorzystaniem ...
  • Kurs wideo na temat pracy ze sterownikiem Aries PLC110 w środowisku CODESYS2.3

  •