Skip to main content

Oggetto: funzione

Una funzione è a POU che fornisce esattamente un dato quando viene eseguito e la cui chiamata nei linguaggi testuali può avvenire come operatore nelle espressioni. L'elemento dati può anche essere un array o una struttura.

L'oggetto viene aggiunto all'applicazione o al progetto facendo clic Progetto → Aggiungi oggetto → POU. Nell'albero dei dispositivi o nel POU vista, la funzione POU ha il (DIVERTIMENTO) suffisso.

Importante

Le funzioni non hanno informazioni di stato interne, il che significa che le funzioni non salvano i valori delle loro variabili fino alla chiamata successiva. I richiami di una funzione con gli stessi valori delle variabili di ingresso forniscono sempre lo stesso valore di uscita. Pertanto, le funzioni non devono utilizzare variabili e indirizzi globali.

L'editor di una funzione è costituito dalla parte di dichiarazione e dalla parte di implementazione.

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

FUNCTION <function> : <data type>

Al di sotto di ciò, dichiari le variabili di input e di funzione.

La variabile di output di una funzione è il nome della funzione.

Importante

Se dichiari una variabile locale in una funzione come RETAIN, questo non ha effetto. In questo caso, CODESYS emette un errore del compilatore.

Importante

Non è possibile combinare assegnazioni di parametri esplicite e implicite nelle chiamate di funzione CODESYS V3. Ciò significa che è necessario utilizzare solo parametrizzazioni esplicite o solo implicite nei richiami di funzione. L'ordine delle assegnazioni dei parametri quando si chiama una funzione è arbitrario.

Chiamare una funzione

In ST è possibile utilizzare il richiamo di una funzione come operando nelle espressioni.

In SFC è possibile utilizzare un richiamo di funzione solo all'interno di azioni di passaggio o transizioni.

Esempio 514. Esempi

Funzione con parte di dichiarazione e codice di implementazione della riga

_cds_img_function.png

Chiamate di funzione:

ST:

result := POU_Funct(5,3,22);

I L:

_cds_img_function_call_in_il.png

FBD:

_cds_img_function_call_in_fbd.png


Funzioni con uscite aggiuntive

Secondo la norma IEC 61131-3, le funzioni possono avere uscite aggiuntive. Dichiari gli output aggiuntivi nella funzione tra le parole chiave VAR_OUTPUT e END_VAR. La funzione viene chiamata secondo la seguente sintassi:

<function> (<function output variable1> => <output variable 1>, <function output variable n> => <output variable n>)
Esempio 515. Esempio

Il fun La funzione è definita con due variabili di input in1 e in2. La variabile di uscita del fun La funzione viene scritta nelle variabili di output dichiarate localmente loc1 e loc2.

fun(in1 := 1, in2 := 2, out1 => loc1, out2 => loc2);