categorii: Automatizari la domiciliu, Controlere programabile
Numar de vizualizari: 28074
Comentarii la articol: 0

Limbajul diagrama bloc funcțional (FBD) și aplicația sa

 

Unul dintre cele mai populare limbaje de programare ale PLC-urilor - controlere logice programabile, este limbajul grafic al diagramelor bloc funcționale FBD - Function Block Diagram. Această limbă, împreună cu alte limbi ale IEC 61131-3, cum ar fi de exemplu limbajul scării logice (LD), folosește în arhitectura sa un fel de circuit electronic.

Un program scris în această limbă pentru un controler constă dintr-o anumită listă de circuite care sunt executate unul după altul de sus în jos. În plus, există posibilitatea de a atribui etichete lanțurilor individuale, în acest caz, utilizarea instrucțiunilor pentru a merge la etichetă va fi disponibilă pentru a schimba secvența de execuție a lanțurilor și pentru a crea condiții și cicluri.

Limbajul diagrama blocului funcțional (FBD)

Astfel, un program scris în limbajul grafic FBD este un set de blocuri funcționale conectate între ele, ieșirile și intrările fiind conectate prin linii de comunicare. Liniile de comunicare reflectă anumite variabile de program prin care datele sunt schimbate de la bloc la bloc.

Un bloc separat poartă o funcție specifică („logic” și „,„ nu ”, contor etc.), în timp ce un bloc poate avea mai multe ieșiri și intrări. Inițial, valorile variabilelor sunt stabilite de constante sau de intrări speciale, iar ieșirile lor sunt conectate în continuare cu alte variabile de program sau cu ieșirile PLC.

Figura arată un program de exemplu scris în limbajul de diagrama bloc bloc funcțional FBD. După cum puteți vedea, această imagine a programului reflectă foarte clar algoritmul, ceea ce face ca acest limbaj să fie destul de simplu și convenabil pentru dezvoltarea de software pentru PLC-uri.

În procesul de programare în limbajul FBD, sunt utilizate atât blocuri standard din biblioteci, cât și blocuri scrise în FBD sau în alte limbi ale standardului IEC 61131-3. Un bloc este un element de program, un fel de subprogram, un bloc de funcții sau funcții (logic „NU”, „SAU”, „ȘI”, cronometru, contor, declanșator, operare matematică, procesarea unui semnal analogic etc.).

Dintre aceste blocuri, expresiile care formează lanțurile sunt compilate grafic: următorul bloc este conectat la ieșirea unui bloc, apoi a unui alt bloc și astfel se formează lanțurile. În cursul circuitului, ordinea de execuție a blocurilor corespunde ordinului conectării lor, iar rezultatul executării circuitului este fie alimentat la ieșirea PLC, fie scris la o anumită variabilă internă.

Blocuri funcționale

Luați în considerare o bucată din program scrisă în limbajul FBD: Înmulțiți cu 4, apoi împărțiți cu A și scrieți rezultatul în rezultatul variabil. În pseudocod, va arăta astfel: rezultat: = B * 4 / A. De asemenea, este posibil să adăugați intrări speciale de control EN și ieșiri ENO la blocuri pentru a controla apelurile blocurilor individuale: un zero logic aplicat intrării EN va interzice apelul acestui bloc, iar ieșirea ENO o va raporta în caz de eroare și, astfel, va întrerupe execuția circuitului până la sfârșit. .


După cum puteți vedea, limbajul FBD este extrem de vizual, convenabil și, prin urmare, ușor de învățat chiar și de specialiști în aplicații care nu au o pregătire specială în informatică. Codul este executat secvențial, structura comenzilor din interiorul codului este simplă, de aceea programul este transmis foarte rapid și sarcina este executată în mod fiabil.

Limbaj de programare FBD

Există diverse modificări ale limbajului de programare FBD, caracterizate prin prezența anumitor restricții sau extensii.

De exemplu, există o variantă a FBC care permite utilizarea funcțiilor pure cu o singură ieșire fără variabile intermediare - o modificare pentru programarea funcțională.

Sau o modificare a CFC (diagramă funcțională continuă), care vă permite să setați ordinea de execuție a diagramelor nu doar printr-un lanț secvențial, ci la discreția dezvoltatorului de software. Cu CFC, dezvoltatorul primește mai multă libertate, deși codul este mai lung.

Vezi și pe acest subiect:Limbajele de programare PLC și platforma software de automatizare CoDeSys

Consultați și la i.electricianexp.com:

  • Limba scării LD și aplicația sa
  • Limbajele de programare PLC și platforma software de automatizare CoDeSys
  • Diagrame de pornire a motorului în limbajul diagramei scării LD pentru PLC
  • Un exemplu de modernizare a circuitului electric al unui elevator de marfă cu ...
  • Curs video despre lucrul cu controlorul Aries PLC110 în mediul CODESYS2.3

  •