Unterschiede zwischen einer Funktion und einem Funktionsbaustein
Eine Funktion hat die folgenden Eigenschaften:
oIst eine POU (Program Organization Unit), die ein einzelnes direktes Ergebnis zurückgibt
oWird direkt über ihren Namen aufgerufen (nicht über eine Instanz)
oIst nicht instanziiert
oKann als Operand in anderen Ausdrücken verwendet werden
Beispiele: Boolesche Operatoren (AND), Berechnungen, Konvertierung (BYTE_TO_INT)
Ein Funktionsbaustein hat die folgenden Eigenschaften:
oIst eine POU (Program Organization Unit), die ein oder mehrere direkte Ausgänge zurückgibt
oMuss von einer Instanz aufgerufen werden (Funktionsbausteinkopie mit dediziertem Namen und Variablen)
oHat 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: