Geschlossene Leitungsverzweigung

Eine geschlossene Leitungsverzweigung steht nur im KOP zur Verfügung und enthält einen Start- und einen Endpunkt. Sie dient der Implementierung einer parallelen Auswertung von logischen Elementen.

Einfügen einer geschlossenen Leitungsverzweigung:

Geschlossene Leitungsverzeigung an einem Kontakt

Wenn Sie einen oder mehrere Kontakt markiert haben und Sie einen Befehl Kontakt parallel einfügen ausführen, wird eine parallele Verzweigung mit einem einfachen vertikalen Strich eingefügt. Bei dieser Verzweigung durchläuft der Signalfluss beide Zweige. Es handelt sich um ein OR-Konstrukt der beiden Zweige.

Geschlossene Leitungsverzweigung an einem Baustein

Wenn Sie einen Baustein markiert haben und Sie einen Befehl "Kontakt parallel einfügen" ausführen, wird eine parallele Verzweigung mit einem doppelten vertikalen Strich eingefügt. Dies signalisiert, dass eine Kurzschlussauswertung („Short Circuit Evaluation“ – „SCE“) implementiert ist. Die Kurschlussauswertung ermöglicht, die Ausführung eines Funktionsbausteins mit einem booleschen Ausgang zu umgehen, wenn eine bestimmte Bedingung TRUE ist. Die Bedingung kann im KOP-Editor durch einen Funktionsbausteinzweig parallel geschalteten Zweig dargestellt werden. Die Kurzschlussbedingung wird durch einen oder mehrere Kontakte in diesem Zweig definiert, die parallel oder sequentiell verschaltet sind.

Funktionsweise:

Zuerst werden die Zweige betrachtet, die nicht den Funktionsbaustein enthalten. Wenn TwinCAT für einen dieser Zweige der Wert TRUE ermittelt, dann wird der Funktionsbaustein im parallelen Zweig nicht aufgerufen. In diesem Fall wird der Wert, der am Eingang des Funktionsbausteins anliegt, unmittelbar auf den Ausgang übertragen. Wenn TwinCAT für die Kurzschlussauswertungsbedingung FALSE ermittelt wird, dann wird der Baustein aufgerufen und das boolesche Ergebnis seiner Abarbeitung wird weitergegeben. Wenn alle Zweige Funktionsbausteine enthalten, werden sie von oben nach unten ausgewertet und ihre Ausgänge mit logischen OR-Operationen verknüpft. Wenn es keine Zweige mit Funktionsbausteinen gibt, werden normale OR-Operationen durchgeführt.

Beispiel:

Die Funktionsbaustein-Instanz fbTimer (TON) hat einen booleschen Eingang und einen booleschen Ausgang. Die Ausführung von fbTimer wird ausgelassen, wenn für die Bedingung in der parallelen Leitungsverzweigung TRUE ermittelt wurde. Der Bedingungswert resultiert aus den OR- und AND-Operationen, die die Kontakte bCond1, bCond2 und bCond3 verknüpfen.

Wenn der Bedingungswert aus der Verknüpfung der Kontakte bCond1, bCond2 und bCond3 FALSE ist, wird fbTimer ausgeführt.

Geschlossene Leitungsverzweigung 1:

(1) Die doppelt gezeichneten Vertikalverbindungen zeigen an, dass es sich um ein Konstrukt handelt, das einer Kurzschlussauswertung unterliegt.

(2) Die einfach gezeichneten Vertikalverbindungen zeigen an, dass es sich um ein OR-Konstrukt handelt.

Im Folgenden wird das oben gezeigt KOP-Beispiel als ST-Code gezeigt. Dabei sind bIN und bOUT die booleschen Werte am Eingang (Aufspaltungspunkt) und Ausgang (Wiedervereinigungspunkt) der parallelen Leitungsverzweigung.

bIN := bVar1 AND bVar2;

IF ((bIN AND bCond1) AND (bCond2 OR bCond3)) THEN
    bOUT := bIN;
ELSE
    fbTimer(IN := bIN, PT := {p 10}t#2s);
    tElapsed := fbTimer.ET;
    bOUT := fbTimer.Q;
END_IF

bRes := bOUT AND bVar3;