NEU! FREIGEGEBENE HAUPTVERSION V4 verfügbar!
NEU! LOGIK! VISU! IFTTT! FIXES
Infos im Wiki: https://elabnet.atlassian.net/l/cp/TrZ03Nr7

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Gelöst] wie Zustandsänderung erkennen

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

Ersteller
terseek
Reactions:
Beiträge: 280
Registriert: Mi Sep 05, 2018 1:09 pm
Hat sich bedankt: 509 Mal
Danksagung erhalten: 121 Mal

#11

Beitrag von terseek »

Hallo @Matze76 ,

mir scheint Du vermutest da ein viel größeres Problem, also versuche ich mein Problem nochmal mit anderen Worten zu beschreiben:

- auf einer GA werden fortlaufend Zahlen gesendet. Aufgabe ist nun zu erkennen, wenn auf Zahl A die Zahl B folgt.
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung

Robosoc
Reactions:
Beiträge: 1887
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 779 Mal

#12

Beitrag von Robosoc »

Sorry terseek, dass ist leider noch immer zu unprezise...

Das sich eine Wert an dem Eingang geändert hat, erkennst Du ja mit der C = change Funktion an jedem Eingang einer jeden Logik. Das ist Dir aber wahrscheinlich selber bewusst, deshalb vermute ich noch weiter.

Willst Du explizit Abragen: Wenn der Wert der Eingangs-GA vorher "15" war und nun "27" ist, dann sende TRUE; wenn aber Wechsel z.B. von "16" auf "8" dann FALSE und sonst bei jeder anderen Änderung nix...?
Sowas wäre schon anspruchsvoll und Du kämest meiner Meinung nach um eine Custom-Logik nicht herum.

Aber auch dabei wollen wir Dir gerne helfen...es wäre aber wirklich gut, wenn Du dann ein wenig genauer schreibst, was Du denn realisieren willst (Anwendungsfall beschreiben). Die Erfahrung hat einfach gezeigt, dass dann viel mehr Ideen zusammen kommen.
Zuletzt geändert von Robosoc am Mo Nov 15, 2021 1:48 pm, insgesamt 2-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Ersteller
terseek
Reactions:
Beiträge: 280
Registriert: Mi Sep 05, 2018 1:09 pm
Hat sich bedankt: 509 Mal
Danksagung erhalten: 121 Mal

#13

Beitrag von terseek »

Robosoc hat geschrieben: Mo Nov 15, 2021 1:46 pm Wenn der Wert der Eingangs-GA vorher "15" war und nun "27" ist, dann sende TRUE
Ja, bei dem speziellen Zahlenpaar (z.B. von "15" auf "27") erwarte ich am Ausgang TRUE, in allen anderen Fällen "FALSE".
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung

Ersteller
terseek
Reactions:
Beiträge: 280
Registriert: Mi Sep 05, 2018 1:09 pm
Hat sich bedankt: 509 Mal
Danksagung erhalten: 121 Mal

#14

Beitrag von terseek »

Um das Verhalten der Logik ganz präzise zu definieren, habe ich mal ein Zustandsdiagramm gezeichnet, daß sollte letzte Unklarheiten beheben:

Bild

A steht dabei für die erste Zahl, B für die zweite Zahl.
Zuletzt geändert von terseek am Mo Nov 15, 2021 3:01 pm, insgesamt 1-mal geändert.
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung

Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 285 Mal
Danksagung erhalten: 195 Mal

#15

Beitrag von Matze76 »

terseek hat geschrieben: Mo Nov 15, 2021 1:31 pm mir scheint Du vermutest da ein viel größeres Problem
Nein, überhaupt nicht. Ich war nur irritiert und wollte die "Wahrheit" herausfinden. Es ist dann praktisch so wie ich vermutet habe, nur dass mir nicht ganz klar war, was du am Ausgang genau erwartest (die Frage hattest du nicht beantwortet).

Aus Görans Annahme, die du bestätigt hattest, habe ich wie Sven einen Sendefilter herausgelesen, der den Eingangswert (die Zahl) unter bestimmten Bedingungen an den Ausgang durchroutet.

Dann fällt mir grob nur eine Custom-Logik ein. In etwa so, wie ich im ersten Ansatz schon beschrieben hatte:

- Den aktuellen Wert am Ende der Logik per Latch auf eine Variable schreiben, damit sie jeweils beim nächsten Durchlauf als alter Wert wieder zur Verfügung steht.
- Vorher im Ablauf ein Comparator, der den neuen Wert prüft (bist du = 27 ? -> dann "Vergleichsvariable1" auf true)
- Ein weiterer Comparator, der den alten Wert prüft (bist du = 15 ? -> dann "Vergleichsvariable2" auf true)
- AND-Baustein mit Vergleichsvariable1 und Vergleichsvariable2. Das Ergebnis dann einfach auf den Ausgang.

Ich weiß nicht, wie vertraut du mit Custom-Logik bist, aber ich kann das sonst auch konkreter mit Code beschreiben.
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
terseek
Reactions:
Beiträge: 280
Registriert: Mi Sep 05, 2018 1:09 pm
Hat sich bedankt: 509 Mal
Danksagung erhalten: 121 Mal

#16

Beitrag von terseek »

Matze76 hat geschrieben: Mo Nov 15, 2021 3:00 pm Ich weiß nicht, wie vertraut du mit Custom-Logik bist, aber ich kann das sonst auch konkreter mit Code beschreiben.
Ich habe zwar schon einige Standardlogiken benutzt, Customlogiken sind für mir aber noch ein Buch mit 7 Siegeln. Wenn Du mir den Code senden könntest, wäre das für mich eine große Hilfe.
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung

Robosoc
Reactions:
Beiträge: 1887
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 779 Mal

#17

Beitrag von Robosoc »

Alles klar, definitiv Custom-Logik.

Kennst Du Dich damit schon ein wenig aus und brauchst Du nur Lösungsansätze oder würdest du Dir was Fertiges wünschen...

Mein Ansatz:
Ein Eingang mit dem Szenenwert, Triggern mit Verhalten C
Werte 15 und 27 als Konstante Level im Logikcode anlegen, oder (flexibler für spätere Duplizierung bei ähnlichen Anwendungen) auf weiter Eingänge legen und dort als Paramenter setzen

["Limiter","$AktuellerWert",0,"$Lim_Gate1",["$Wert_27", "$Wert_27"];
["Limiter","$LetzterWert",0,"$Lim_Gate2",["$Wert_15", "$Wert_15"];
[AND] aus beiden $Lim_GateX, wird auf Ausgang geschrieben]
[Latch] um den um Eingangswert "AktuellerWert" in die Variable "LetzterWert" zu schreiben
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Robosoc
Reactions:
Beiträge: 1887
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 779 Mal

#18

Beitrag von Robosoc »

Habe an dem Text lange geschrieben, weil ich zwischendurch noch ein paar Telefonate hatte...
Vielleicht schafft es ja jemand die Custom-Logik kurz fertig zu machen
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 285 Mal
Danksagung erhalten: 195 Mal

#19

Beitrag von Matze76 »

terseek hat geschrieben: Mo Nov 15, 2021 3:07 pm Wenn Du mir den Code senden könntest, wäre das für mich eine große Hilfe.
Kann ich nachher gerne machen und hier rein stellen. Robosoc und ich haben ja auch beide praktisch den gleichen Aufbau der Logik gewählt.
Zuletzt geändert von Matze76 am Mo Nov 15, 2021 3:30 pm, insgesamt 1-mal geändert.
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
terseek
Reactions:
Beiträge: 280
Registriert: Mi Sep 05, 2018 1:09 pm
Hat sich bedankt: 509 Mal
Danksagung erhalten: 121 Mal

#20

Beitrag von terseek »

ist mir jetzt ganz peinlich, aber mein Zustandsdiagramm hatte einen Fehler, eine Folge "A", "A", "B" würde nicht erkannt werden. Habe das jetzt korrigiert, die roten Teile sind neu bzw. geändert:

Bild

sorry, sorry
Zuletzt geändert von terseek am Mo Nov 15, 2021 4:09 pm, insgesamt 1-mal geändert.
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung
Antworten

Zurück zu „Logikengine & Logik-Editor“