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.

Linguaggio diagramma a blocchi funzione (FBD)

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.

Blocchi funzionali

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.

Linguaggio di programmazione FBD

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 e.imadeself.com:

  • LD Ladder Language e la sua applicazione
  • Linguaggi di programmazione PLC e piattaforma software di automazione CoDeSys
  • Schemi di avviamento del motore nel linguaggio degli schemi ladder LD per PLC
  • Un esempio di modernizzazione del circuito elettrico di un montacarichi
  • Video corso su come lavorare con il controller Aries PLC110 nell'ambiente CODESYS2.3

  •