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
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
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
-
- Reactions:
- Beiträge: 280
- Registriert: Mi Sep 05, 2018 1:09 pm
- Hat sich bedankt: 509 Mal
- Danksagung erhalten: 121 Mal
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.
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
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 1887
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 639 Mal
- Danksagung erhalten: 779 Mal
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.
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
-
- Reactions:
- Beiträge: 280
- Registriert: Mi Sep 05, 2018 1:09 pm
- Hat sich bedankt: 509 Mal
- Danksagung erhalten: 121 Mal
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
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 280
- Registriert: Mi Sep 05, 2018 1:09 pm
- Hat sich bedankt: 509 Mal
- Danksagung erhalten: 121 Mal
Um das Verhalten der Logik ganz präzise zu definieren, habe ich mal ein Zustandsdiagramm gezeichnet, daß sollte letzte Unklarheiten beheben:
A steht dabei für die erste Zahl, B für die zweite Zahl.
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
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 314
- Registriert: Mo Sep 24, 2018 9:59 am
- Hat sich bedankt: 285 Mal
- Danksagung erhalten: 195 Mal
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
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache
-
- Reactions:
- Beiträge: 280
- Registriert: Mi Sep 05, 2018 1:09 pm
- Hat sich bedankt: 509 Mal
- Danksagung erhalten: 121 Mal
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
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung
-
- Reactions:
- Beiträge: 1887
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 639 Mal
- Danksagung erhalten: 779 Mal
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
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
-
- Reactions:
- Beiträge: 1887
- Registriert: Di Okt 09, 2018 9:26 am
- Hat sich bedankt: 639 Mal
- Danksagung erhalten: 779 Mal
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
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
-
- Reactions:
- Beiträge: 314
- Registriert: Mo Sep 24, 2018 9:59 am
- Hat sich bedankt: 285 Mal
- Danksagung erhalten: 195 Mal
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
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache
-
- Reactions:
- Beiträge: 280
- Registriert: Mi Sep 05, 2018 1:09 pm
- Hat sich bedankt: 509 Mal
- Danksagung erhalten: 121 Mal
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:
sorry, sorry
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
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung