categorie: Domotica, Controller programmabili
Numero di visite: 28074
Commenti sull'articolo: 0
Functional Block Diagram Language (FBD) e sua applicazione
Uno dei linguaggi di programmazione più popolari dei PLC - controllori logici programmabili, è il linguaggio grafico degli schemi a blocchi funzionali FBD - Diagramma a blocchi funzionali. Questa lingua, insieme ad altre lingue di IEC 61131-3, come ad esempio ladder logic language (LD), utilizza nella sua architettura una sorta di circuito elettronico.
Un programma scritto in questa lingua per un controller è costituito da un determinato elenco di circuiti che vengono eseguiti uno dopo l'altro dall'alto verso il basso. Inoltre, esiste la possibilità di assegnare etichette alle singole catene, in questo caso sarà disponibile l'uso delle istruzioni per andare all'etichetta al fine di modificare la sequenza di esecuzione delle catene e creare condizioni e cicli.

Pertanto, un programma scritto nel linguaggio grafico FBD è un insieme di blocchi funzionali collegati tra loro, le cui uscite e ingressi sono collegati da linee di comunicazione. Le linee di comunicazione riflettono alcune variabili del programma attraverso le quali i dati vengono scambiati da blocco a blocco.
Un blocco separato svolge una funzione specifica ("e" logico, "non", contatore, ecc.), Mentre un blocco può avere più uscite e ingressi. Inizialmente, i valori delle variabili sono impostati da costanti o da ingressi speciali e le loro uscite sono ulteriormente collegate con altre variabili di programma o con le uscite del PLC.
La figura mostra un programma di esempio scritto nel linguaggio FBD del diagramma a blocchi funzionale. Come puoi vedere, questa immagine del programma riflette chiaramente l'algoritmo, il che rende questo linguaggio abbastanza semplice e conveniente per lo sviluppo di software per PLC.
Nel processo di programmazione nel linguaggio FBD, vengono utilizzati sia i blocchi standard delle librerie sia i blocchi scritti in FBD o in altri linguaggi dello standard IEC 61131-3. Un blocco è un elemento di programma, una sorta di sottoprogramma, un blocco funzione o una funzione ("NOT", "OR", "AND", timer, contatore, trigger, operazioni matematiche, elaborazione di un segnale analogico logico, ecc.).
Di questi blocchi, le espressioni che formano le catene sono compilate graficamente: il blocco successivo è collegato all'uscita di un blocco, quindi un altro blocco e così si formano le catene. Nel corso del circuito, l'ordine di esecuzione dei blocchi corrisponde all'ordine della loro connessione e il risultato dell'esecuzione del circuito viene inviato all'uscita del PLC o scritto in una variabile interna.

Considera un pezzo del programma scritto nel linguaggio FBD: moltiplica per 4, quindi dividi per A e scrivi il risultato nel risultato variabile. In pseudocodice, sarà simile al seguente: risultato: = B * 4 / A. È inoltre possibile aggiungere ai blocchi speciali ingressi di controllo EN ed ENO per controllare le chiamate dei singoli blocchi: uno zero logico applicato all'ingresso EN proibirà la chiamata di questo blocco e l'uscita ENO in caso di errore ne informerà, interrompendo così l'esecuzione del circuito fino alla fine .
Come puoi vedere, il linguaggio FBD è estremamente visivo, conveniente e quindi facile da imparare anche da specialisti dell'applicazione che non hanno una formazione specifica in informatica. Il codice viene eseguito in sequenza, la struttura dei comandi all'interno del codice è semplice, quindi il programma viene trasmesso molto rapidamente e l'attività viene eseguita in modo affidabile.

Esistono varie modifiche al linguaggio di programmazione FBD, caratterizzate dalla presenza di alcune restrizioni o estensioni.
Ad esempio, esiste una variante di FBC che consente l'uso di funzioni pure con un solo output senza variabili intermedie, una modifica per la programmazione funzionale.
O una modifica di CFC (Continuous Function Chart), che consente di impostare l'ordine di esecuzione del grafico non solo tramite una catena sequenziale, ma a discrezione dello sviluppatore del software. Con CFC, lo sviluppatore ottiene più libertà, sebbene il codice sia più lungo.
Vedi anche su questo argomento:Linguaggi di programmazione PLC e piattaforma software di automazione CoDeSys
Vedi anche su electro-it.tomathouse.com
: