Différences entre une fonction et un bloc fonction
Une fonction :
oest une POU (Program Organization Unit ou unité organisationnelle de programme) qui renvoie un résultat immédiat ;
oest directement appelée par son nom (et non par une instance) ;
one conserve pas son état entre deux appels ;
opeut être utilisée en tant qu'opérande dans des expressions.
Exemples : opérateurs booléens (AND), calculs, conversions (BYTE_TO_INT)
Un bloc fonction :
oest une POU qui renvoie une ou plusieurs sorties ;
odoit être appelé par une instance (copie de bloc fonction avec nom et variables dédiées).
oChaque instance conserve son état (sorties et variables internes) entre deux appels à partir d'un bloc fonction ou d'un programme.
Exemples : temporisateurs, compteurs
Dans l'exemple, Timer_ON est une instance du bloc fonction TON :