Skip to main content

Panoramica

L'unità base della programmazione FBD e LD è una rete. Ogni rete contiene una struttura che può rappresentare 1) un'espressione logica o aritmetica, 2) la chiamata di un POU (funzione, blocco funzione, programma o libreria POU) o 3) un'istruzione di salto o di ritorno.

IL in realtà non richiede reti. Tuttavia, dentro CODESYS un programma IL è costituito inoltre da almeno una rete per supportare la conversione in FBD o LD. Per questo motivo bisognerebbe suddividere opportunamente un programma IL in reti.

Diagramma a blocchi funzione (FBD)

Lo schema a blocchi funzione è un linguaggio di programmazione IEC 61131 orientato graficamente. Funziona con un elenco di reti. In questo modo ogni rete contiene una struttura che può contenere espressioni logiche e aritmetiche, chiamate di blocchi funzione, un salto o un'istruzione return.

Qui vengono utilizzate le scatole, familiari all'algebra booleana. Le caselle e le variabili sono collegate tramite linee di collegamento. Il flusso del segnale nella rete va da sinistra a destra. Il flusso del segnale nell'editor procede dall'alto verso il basso, iniziando dalla rete 1.

Esempio 1. Esempio
_cds_img_fbd_example.png


Suggerimento

Anche CFC è un linguaggio di programmazione basato sullo stesso principio di FBD, ma con le seguenti differenze:

  • L'editor CFC non è orientato alla rete.

  • È possibile posizionare liberamente gli elementi nell'editor CFC.

  • È possibile l'inserimento diretto di feedback.

  • L'ordine di esecuzione è determinato da un elenco di elementi attualmente inseriti, che è possibile modificare.

Per ulteriori informazioni, vedere: Programmazione nel diagramma a blocchi funzione (FUP)

Diagramma a scaletta (LD)

Il ladder diagram (LD) è un linguaggio di programmazione graficamente orientato che è simile a uno schema elettrico.

Da un lato lo schema a contatti è adatto per la progettazione di unità di commutazione logiche, ma dall'altro consente anche di creare reti proprio come in FBD. Pertanto è possibile utilizzare molto bene LD per controllare i richiami di altri blocchi di programma.

Il diagramma ladder è costituito da una serie di reti. Una rete è delimitata sul lato sinistro da una linea verticale (bus bar). Una rete contiene uno schema elettrico di contatti, bobine, scatole opzionali (POU) e linee di collegamento.

Sul lato sinistro di una rete c'è un contatto o una serie di contatti che trasmettono lo stato ON o OFF, che corrisponde ai valori booleani TRUE E FALSE, da sinistra a destra. Ad ogni contatto è associata una variabile booleana. Quando questa variabile è TRUE, lo stato viene trasmesso da sinistra a destra tramite la linea di connessione. Altrimenti viene trasmesso OFF. Di conseguenza, le bobine nella parte destra della rete ricevono il valore ON e OFF proveniente da sinistra e il valore TRUE o FALSE viene scritto di conseguenza nella variabile booleana loro assegnata.

Se gli elementi sono collegati in serie, ciò significa un'operazione AND. Se sono collegati in parallelo, ciò significa un'operazione OR. Una linea attraverso un elemento significa una negazione dell'elemento.

La negazione di un ingresso o di un'uscita è indicata da un simbolo circolare.

Esempio 2. Esempio
_cds_img_ld_example.png


La norma IEC 61131-3 definisce un set di comandi LD completo, costituito da diversi tipi di contatti e bobine. I contatti conducono la corrente (secondo il loro tipo) da sinistra a destra. Le bobine memorizzano il valore in ingresso. Contatti e bobine sono assegnati a variabili booleane. Puoi integrare una rete LD con salti, ritorni, etichette e commenti.

Elenco istruzioni (IL)

L'elenco di istruzioni è un linguaggio di programmazione conforme a IEC 61131 simile a un assemblatore.

Supporta la programmazione basata su accumulatori.

Una lista di istruzioni (IL) è composta da una serie di istruzioni. Ogni istruzione inizia su una nuova riga e contiene un operatore e uno o più operandi separati da virgole, a seconda del tipo di operazione.

Prima di un'istruzione è possibile posizionare un'etichetta seguita da due punti. Viene utilizzata per identificare l'istruzione ed è possibile utilizzare l'etichetta come destinazione del salto.

Un commento deve essere l'ultimo elemento di una riga. È possibile inserire righe vuote tra le istruzioni.

Sono supportati tutti gli operatori IEC 61131-3, così come ingressi multipli, uscite multiple, negazioni, commenti, set/reset di uscite e salti condizionati/incondizionati.

Ogni istruzione si basa principalmente sul caricamento di valori nell'accumulatore (LD istruzioni). Successivamente, l'operazione corrispondente viene eseguita con il parametro dall'accumulatore. Il risultato dell'operazione viene riscritto nell'accumulatore, da dove dovrebbe essere memorizzato appositamente con l'aiuto di un ST istruzioni.

L'elenco delle istruzioni supporta gli operatori di confronto (EQ, GT, LT, GE, LE, NE) e salti per la programmazione di esecuzioni o cicli condizionati. I salti possono essere incondizionati (JMP) o condizionati (JMPC/JMPCN). In caso di salti condizionati viene verificato se il valore nell'accumulatore è TRUE O FALSE.

Esempio 3. Esempio
_cds_img_il_example1.png