Categories: Domòtica, Controladors programables
Nombre de visualitzacions: 28074
Comentaris sobre l'article: 0
Llenguatge de diagrama de bloc funcional (FBD) i la seva aplicació
Un dels populars llenguatges de programació PLC (controladors lògics programables), és el llenguatge gràfic dels diagrames de blocs funcionals FBD - Function Block Diagram. Aquesta llengua, juntament amb altres idiomes de la CEI 61131-3, com per exemple llenguatge lògic d’escala (LD), utilitza en la seva arquitectura una mena de circuit electrònic.
Un programa escrit en aquest llenguatge per al controlador consta d’una determinada llista de circuits que s’executen un després de l’altre de dalt a baix. A més, hi ha la possibilitat d’assignar etiquetes a cadenes individuals, en aquest cas, estarà disponible l’ús d’instruccions per anar a l’etiqueta per canviar la seqüència d’execució de les cadenes i crear condicions i cicles.

Així, un programa escrit en llenguatge gràfic FBD és un conjunt de blocs funcionals connectats entre si, les sortides i entrades dels quals estan connectades per línies de comunicació. Les línies de comunicació reflecteixen determinades variables de programa a través de les quals s’intercanvien dades de bloc en bloc.
Un bloc separat porta una funció específica (lògic “i”, “no”, comptador, etc.), mentre que un bloc pot tenir diverses sortides i entrades. Inicialment, els valors de les variables s’estableixen per constants o d’entrades especials, i les seves sortides es connecten més amb altres variables de programa o amb sortides de PLC.
La figura mostra un exemple de programa escrit en el llenguatge funcional de diagrama de blocs FBD. Com podeu veure, una imatge del programa reflecteix clarament l'algorisme, cosa que fa que aquest llenguatge sigui molt senzill i convenient per desenvolupar programari de PLC.
Durant la programació en llenguatge FBD, s'utilitzen tant els blocs estàndard de les biblioteques com els blocs escrits en FBD o en altres idiomes de la norma IEC 61131-3. Un bloc és un element de programa, una mena de subprograma, un bloc de funcions o funció ("NO" lògic, "O", "I", temporitzador, comptador, disparador, operació matemàtica, processament d'un senyal analògic, etc.).
D’aquests blocs, es recopilen gràficament les expressions que formen les cadenes: el següent bloc està connectat a la sortida d’un bloc, després d’un altre bloc i així es formen les cadenes. En el transcurs del circuit, l’ordre d’execució dels blocs correspon a l’ordre de la seva connexió i el resultat de l’execució del circuit s’alimenta a la sortida del PLC, o s’escriu a alguna variable interna.

Penseu en un fragment del programa escrit en el llenguatge FBD: Multipliqueu per 4, després dividiu per A i escriviu el resultat en la variable resultat. En pseudocode, quedarà així: resultat: = B * 4 / A. També és possible afegir entrades de control especials sortides EN i ENO als blocs per controlar les trucades de blocs individuals: un zero lògic aplicat a l’entrada EN prohibirà la trucada d’aquest bloc i la sortida ENO l’informarà en cas d’error i, d’aquesta manera, interromprà l’execució del circuit fins al final. .
Com podeu veure, el llenguatge FBD és extremadament visual, convenient i, per tant, fàcil d’aprendre fins i tot per especialistes en aplicacions que no tenen formació especial en informàtica. El codi s’executa de manera seqüencial, l’estructura de les ordres dins del codi és senzilla, per tant el programa s’emet molt ràpidament i la tasca s’executa de manera fiable.

Hi ha diverses modificacions del llenguatge de programació FBD, caracteritzat per la presència de certes restriccions o extensions.
Per exemple, hi ha un tipus de FBC que permet l’ús de només funcions pures amb una sortida sense variables intermèdies: una modificació per a la programació funcional.
O una modificació de CFC (Chart de funcions contínues), que permet establir l’ordre d’execució de gràfics no només mitjançant una cadena seqüencial, sinó a discreció del desenvolupador de programari. Amb CFC, el desenvolupador obté més llibertat, tot i que el codi és més llarg.
Vegeu també aquest tema:Llenguatges de programació PLC i plataforma de programari d'automatització CoDeSys
Consulteu també a electro-ca.tomathouse.com
: