Skip to main content

Oggetto: Programma

Un programma è una POU che restituisce uno o più valori quando viene eseguita. Tutti i valori rimangono invariati dopo l'esecuzione del programma fino all'esecuzione successiva. L'ordine di chiamata dei programmi in un'applicazione è definito negli oggetti attività.

È possibile aggiungere l'oggetto all'applicazione o al progetto facendo clic Progetto → Aggiungi oggetto → POU. Nell'albero dei dispositivi e nel POU vista, le POU del programma hanno il (PRG) suffisso.

L'editor di un programma è costituito dalla parte di dichiarazione e dalla parte di implementazione.

La riga superiore della parte di dichiarazione contiene la seguente dichiarazione:

PROGRAM <program>

Chiamare un programma

Programmi e blocchi funzione possono richiamare un programma. Una chiamata di programma non è consentita in una funzione. Non ci sono istanze di programmi.

Se una POU richiama un programma e di conseguenza i valori della modifica del programma, queste modifiche vengono mantenute fino al successivo richiamo del programma. I valori del programma vengono mantenuti anche se la chiamata successiva viene effettuata da un'altra POU. Questo è diverso dal chiamare un blocco funzione. Quando si richiama il blocco funzione, cambiano solo i valori della rispettiva istanza del blocco funzione. Le modifiche devono essere prese in considerazione solo quando una POU richiama nuovamente la stessa istanza.

È anche possibile impostare i parametri di ingresso e/o uscita per un programma direttamente quando lo si richiama.

Sintassi: <program>(<input variable> := <value>, <output value> => <value>):

Se si utilizza Input Assistant per inserire una chiamata di programma e il file Inserisci con argomenti l'opzione è selezionata nell'Assistente di input, quindi CODESYS aggiunge parametri di input e/o output alla chiamata del programma in base alla sintassi.

Esempio 511. Esempi

Chiamate:

PUNTERUOLO:

_cds_img_program_cal_awl2.png

Con assegnazione dei parametri:

_cds_img_program_call_awl.png

ST:

PLC_PRG()
erg := PLC_PRG.out2;

Con assegnazione dei parametri:

PLC_PRG(in1:=2, out1=>erg);
_cds_img_program_call_fbd.png