Unterschiede zwischen einer Funktion und einem Funktionsbaustein

Funktion

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)

Funktionsbaustein

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: