Eine Funktion hat die folgenden Eigenschaften:
Ist eine POU (Program Organization Unit), die ein einzelnes direktes Ergebnis zurückgibt
Wird direkt über ihren Namen aufgerufen (nicht über eine Instanz)
Ist nicht instanziiert
Kann als Operand in anderen Ausdrücken verwendet werden
Beispiele: Boolesche Operatoren (AND
), Berechnungen, Konvertierung (BYTE_TO_INT
)
Ein Funktionsbaustein hat die folgenden Eigenschaften:
Ist eine POU (Program Organization Unit), die ein oder mehrere direkte Ausgänge zurückgibt
Muss von einer Instanz aufgerufen werden (Funktionsbausteinkopie mit dediziertem Namen und Variablen)
Hat für jede Instanz einen persistenten Status (Ausgänge und interne Variablen) von einem Aufruf zum anderen aus einem Funktionsbaustein oder Programm
Beispiele: Zeitgeber, Zähler
In dem nachstehenden Beispiel ist Timer_ON
eine Instanz des Funktionsbausteins TON
: