If und ELSIF

gloeru

Level-1
Beiträge
339
Reaktionspunkte
35
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey Forum

Ich bin gerade etwas verwirrt.

Ich habe eine einfache IF - ELSIF Verzweigung.

Ich hatte mal gelernt, dass wenn die IF Bedingung wahr ist, keine weiteren ELSE/ELSIF Verzweigungen angeschaut werden...

Nun, habe ich beim debuggen mit der Ablaufkontrolle (TwinCAT 2.11 R2 auf CX5010) gesehen, dass der Code scheinbar nach beiden Bedingungen ausführt wird :rolleyes:

Liege ich nun falsch mit der Abarbeitung oder ist das was faul?
 

Anhänge

  • ELSIF.JPG
    ELSIF.JPG
    18,6 KB · Aufrufe: 79
Hi,

es wird nur der erste Block dessen Wert TRUE ergibt ausgeführt. Falls keiner der Werte TRUE ist wird der Block im ELSE Teil abgearbeitet.

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo gloeru,

ich glaube du bist auf einen Bug in der Ablaufkontrolle aufmerksam geworden. Leider ist es so, das wenn du mehrere identische FB's instanziert hast in der Ablaufkontrolle jede Zeile angezeigt wird, die in mindestens einem der FB's abgearbeitet wird.
Ich kopiere mir in dem Fall den FB und hänge bei der Kopie ein kleines "a" hinten an. Dann instanziere ich den zu testenden FB mit dem "a" und schon ist dieser Effekt weg.

Grüße, Mario
 
Zurück
Oben