Je nachdem, ob der ENO der ersten Funktion (FUN) oder des ersten Funktionsbausteins (FBs) den Status TRUE oder FALSE hat, wird die Funktion/der Funktionsbaustein ausgeführt und werden die Ausgänge dieser Funktion bzw. dieses Funktionsbausteins beschrieben oder nicht (siehe EN/ENO im Kontaktplan und in der Funktionsbausteinsprache).
Verwendet eine nachfolgende FUN oder ein nachfolgender FB direkt einen dieser Ausgänge als Eingang, so wird vom Compiler eine temporäre Variable erzeugt. Da auch andere temporäre Variablen diese Adresse belegen könnten, ist der Wert an dieser Stelle undefiniert, wenn er nicht beschrieben wird, d.h. wenn ENO FALSE ist.
Um dies zu vermeiden, sollten Sie sicherstellen, dass alle Bausteine innerhalb eines Netzwerks nur dann ausgeführt werden, wenn die vorhergehende FUN / der vorhergehende FB ausgeführt wurde. Der Compiler prüft einfach, ob die nachfolgende FUN oder FB keinen EN-Eingang hat und ob es sich um keine AND-Funktion handelt.
Im Netzwerk 1 werden Sie eine Warnung erhalten, da das Verhalten undefiniert ist, wenn Compare FALSE ist.
Das zweite Netzwerk zeigt die richtige Programmierung. Sie erhalten keine Warnung.
Netzwerk 3: Ist Addiere FALSE und Compare TRUE, wird die nachfolgende FUN (E_GT) ausgeführt, ohne dass die vorhergehende FUN (E_ADD) ausgeführt wird. Obwohl dieses Verhalten undefiniert ist, wird keine Warnung ausgegeben.