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 POU vista, la funzione POU ha il (DIVERTIMENTO) suffisso.
. Nell'albero dei dispositivi o nelImportante
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.
Funzione con parte di dichiarazione e codice di implementazione della riga

Chiamate di funzione:
ST:
result := POU_Funct(5,3,22);
I L:

FBD:

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>)
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);