Skip to main content

Panoramica

L'unità di 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, in CODESYS Un programma IL è costituito anche da almeno una rete per supportare la conversione in FBD o LD. Per questo motivo, è opportuno suddividere un programma IL in modo significativo in reti.

Linguaggio diagramma a blocchi funzionali (FBD)

Il diagramma a blocchi funzionali è 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 funzionali, un salto o un'istruzione di ritorno.

Qui vengono utilizzati i box, noti dall'algebra booleana. Box e variabili sono collegati da linee di collegamento. Il flusso del segnale nella rete va da sinistra a destra. Il flusso del segnale nell'editor va dall'alto verso il basso, a partire 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 percorsi di feedback.

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

Per ulteriori informazioni, vedere quanto segue: Programmazione nel Linguaggio diagramma a blocchi funzionali (FBD)

Linguaggio a contatti (LD)

Il linguaggio a contatti (LD) è un linguaggio di programmazione orientato alla grafica, simile allo schema di un circuito elettrico.

Da un lato, il linguaggio a contatti è adatto per la progettazione di unità di commutazione logiche, ma dall'altro è possibile creare reti proprio come in FBD. Per questo motivo, il diagramma a contatti è molto utile per controllare le chiamate di altri blocchi di programma.

Il linguaggio a contatti è costituito da una serie di reti. Una rete è delimitata a sinistra da una linea verticale (barra di distribuzione). Una rete contiene uno schema circuitale di contatti, bobine, moduli opzionali (POU) e linee di collegamento.

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

Quando gli elementi sono collegati in serie, si ha un'operazione AND. Quando sono collegati in parallelo, si ha un'operazione OR. Una linea che attraversa un elemento significa negarlo.

La negazione di un ingresso o di un uscita è indicata dal simbolo del cerchio.

Esempio 2. Esempio
_cds_img_ld_example.png


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

Lista di istruzioni (IL)

L'elenco delle istruzioni è un linguaggio di programmazione di tipo assembler conforme allo standard IEC 61131.

Supporta la programmazione basata sugli accumulatori.

Una lista di istruzioni (IL) è costituita 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.

Un'etichetta seguita da due punti può essere posizionata davanti a un'istruzione. Serve per identificare l'istruzione e può essere utilizzata come destinazione di 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 input multipli, uscite multipli, negazioni, commenti, impostazione/reimpostazione di uscite e salti condizionati/incondizionati.

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

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

Esempio 3. Esempio
_cds_img_il_example1.png