KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Gelöst] Frage zu Break in Custom Logik!

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1264 Mal
Danksagung erhalten: 2213 Mal

Frage zu Break in Custom Logik!

#1

Beitrag 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
Zuletzt geändert von Robert_Mini am Mo Okt 21, 2019 8:51 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Robosoc
Reactions:
Beiträge: 1908
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 643 Mal
Danksagung erhalten: 797 Mal

#2

Beitrag 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.
Zuletzt geändert von Robosoc am Mo Okt 21, 2019 9:19 pm, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1264 Mal
Danksagung erhalten: 2213 Mal

#3

Beitrag 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
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

S. Kolbinger
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 560 Mal

#4

Beitrag 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.
Gruß,
Stefan K.

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1264 Mal
Danksagung erhalten: 2213 Mal

#5

Beitrag von Robert_Mini »

Super, danke! Das ergibt ja tolle Möglichkeiten!!!

Danke für die rasche Antwort (bitte auch an die Erholung denken!)!
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1264 Mal
Danksagung erhalten: 2213 Mal

#6

Beitrag von Robert_Mini »

So KB ist nun auch korrekt und um die ODER-Möglichkeit ergänzt.

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Logikengine & Logik-Editor“