Seite 1 von 1

Frage zu Break in Custom Logik!

Verfasst: Mo Okt 21, 2019 8:49 pm
von Robert_Mini
Hallo @S. Kolbinger!

Ich hätte noch eine Frage zu Break.
Wenn man Break an das Ende eine Custom-Logik stellt, wird dann die Logikzelle noch bis dorthin berechnet (so wie mit update), aber die neuen Werte nicht mehr gesendet.
Bin grad bei den letzten Schritten der Beschattungslogik (die ich bald hier teilen werde) und möchte dort ein "Hold" implementieren, das zwar weiter mithört und somit am Ende des Hold wieder richtig weiter läuft (inkl. Timern!).

Stimmt das so? (Kommt dann auch gleich in die KB!)

EDIT:
Dies ist ein spezielles Modul, das die weitere Ausführung einer (Custom-) Logikzelle abbricht, sobald ein Wert auf einem der Eingänge eintrifft. Beim Abbruch wird auch kein Ausgang mehr beschrieben!
Ich hoffe, das diese Beschreibung falsch ist: sollte eigentlich nur bei True abbrechen, oder?

Danke
Robert

Re: Frage zu Break in Custom Logik!

Verfasst: Mo Okt 21, 2019 9:17 pm
von Robosoc
Ja, eine Logik wird bis zu einem Break, bei dem der ausgewertet Wert = true ist, durchgearbeitet und zeilenweise ausgeführt. Es muss nicht unbedingt ein Eingang sein, es kann auch eine rein interne Variable sein.

Und wenn Ausgänge in den Zeilen vorher beschrieben werden, werden diese auch extern getriggert und ggf. gesendet.

Ist die Variable = false, werde auch Teile nach dem break bearbeitet.

Es wird der Zustand ausgewertet, nicht die Flanke. Aber ich weiß nicht ob das jetzt relevant ist.

Der TWS Logik Editor verhält sich hier rein logisch und zeilenweise und nicht wie eine SPS, in der ein Prozessausgangsabbild geschrieben wird.

So hat es S. Kolbinger auch schon mal bestätigt und ich habe es mehrfach getestet.

Re: Frage zu Break in Custom Logik!

Verfasst: Mo Okt 21, 2019 9:36 pm
von Robert_Mini
Hab grad einen Fehler in der KB gefunden:
["Break", "$Eingang"] funktioniert nicht. es muss ["Break", ["$Eingang"]] verwendet werden.

@S. Kolbinger: Stimmt das? Können mehrere Eingänge direkt verwendet werden?
["Break", ["$Eingang", $Eingang2]]

Robert

Re: Frage zu Break in Custom Logik!

Verfasst: Mo Okt 21, 2019 9:58 pm
von S. Kolbinger
Hallo Robert,
Robert_Mini hat geschrieben: Mo Okt 21, 2019 9:36 pm Stimmt das? Können mehrere Eingänge direkt verwendet werden?
["Break", ["$Eingang", $Eingang2]]
Das ist genau so vorgesehen. Die Eingänge werden "Oder" verknüpft, d.h. wenn mindestens einer der Eingänge true ist, bricht die Ausführung an dieser Stelle ab.


Übrigens:
Robert_Mini hat geschrieben: Mo Okt 21, 2019 8:49 pm Wenn man Break an das Ende eine Custom-Logik stellt, wird dann die Logikzelle noch bis dorthin berechnet (so wie mit update)
Bei einem Wert an einem Eingang mit U(update only) wird gar nix berechnet, kein einziges Modul. Es wird lediglich der Wert an den entsprechenden Level übertragen.

Re: Frage zu Break in Custom Logik!

Verfasst: Mo Okt 21, 2019 10:02 pm
von Robert_Mini
Super, danke! Das ergibt ja tolle Möglichkeiten!!!

Danke für die rasche Antwort (bitte auch an die Erholung denken!)!
Robert

Re: Frage zu Break in Custom Logik!

Verfasst: Mo Okt 21, 2019 10:06 pm
von Robert_Mini
So KB ist nun auch korrekt und um die ODER-Möglichkeit ergänzt.

lg
Robert