NEU! UPGRADE IP 10 verfügbar!
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

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

[Frage] Status vor Logik nach Ablauf wieder herstellen

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
Benutzeravatar

Eraser
Reactions:
Beiträge: 650
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 209 Mal
Danksagung erhalten: 275 Mal

#11

Beitrag von Eraser »

Hier meine Logik:
1.PNG

Code: Alles auswählen

// ======================================================================================
// Definiertes Blinken eines Ausgangs
// -) Blinken endet mit dem vorherigen Zustand des Ausgangs (bevor die Logik aktiv wurde)
// -) Blinkanzahl ist fix mit 3 hinterlegt
// -) Ein- und Ausschaltzeit des Blinkens ist einstellbar
// ======================================================================================

{
"Level":[
	["$Trigger","bool",false],
	["$Status","bool",false],
	["$Status_Value","integer",0],
	["$Status_SAVE","bool",false],
	["$BlinkNo","integer",3],
	["$Time","float",0.0],
	["$Output","bool",false],
	["$Output_T_on","bool",false],
	["$Output_T_off","bool",false],
	["$Inhibit","bool",false],
	["$KonstTrue","bool",true],
	["$TEMP_T1_On","bool",false],
	["$TEMP_T1_Off","bool",false],
	["$TEMP_T2_On","bool",false],
	["$TEMP_T2_Off","bool",false],
	["$TEMP_T3_On","bool",false],
	["$TEMP_T3_Off","bool",false]
],

"Input":[
	["Trigger","Trigger zum Starten des Blinkens (Flanke auf 1)","$Trigger","a"],
	["Status","Aktueller Zustand des Ausgangs","$Status","u"],
//	["Blink-Anzahl","Anzahl der Blinkvorgänge","$BlinkNo","u"],
	["Schaltzeit","Dauer des Schaltsignals in Sekunden","$Time","u"]
],

"Output":[
	["Output","Schaltausgang","$Output","a"]
],

"Module":[
	// Abfrage auf Status - Wert in integer umwandeln
	["BinaryMultiplexer",["$Trigger","$Status"],"$Status_Value"],
	// Abfrage auf Status - Wenn Trigger=0, dann nicht den neuen Status übernehmen
	["Multiplexer",["$Status_SAVE","$Status","$Status_SAVE","$Status"],"$Status_SAVE","$Status_Value"],
	// Impuls 1
	["Monoflop","$Trigger",0,"$TEMP_T1_On","$Time",2],
	["Monoflop","-$TEMP_T1_On",0,"$TEMP_T1_Off","$Time",2],
	// Impuls 2
	["Monoflop","-$TEMP_T1_Off",0,"$TEMP_T2_On","$Time",2],
	["Monoflop","-$TEMP_T2_On",0,"$TEMP_T2_Off","$Time",2],
	// Impuls 3
	["Monoflop","-$TEMP_T2_Off",0,"$TEMP_T3_On","$Time",2],
	["Monoflop","-$TEMP_T3_On",0,"$TEMP_T3_Off","$Time",2],
	// Ausgangsvarianten
	["Or",["$TEMP_T1_On","$TEMP_T2_On","$TEMP_T3_On"],"$Output_T_on"],
	["Or",["-$TEMP_T1_On","-$TEMP_T2_On","-$TEMP_T3_On"],"$Output_T_off"],
	// Ausgang setzen
	["Multiplexer",["$Output_T_on","-$Output_T_on"],"$Output","$Status_SAVE"],
	// Trigger rücksetzen
	["And",["-$KonstTrue"],"$Trigger"]
]
}
/**Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht.*/
Zwei Variablen (Status und Output) sind vom Namen her auch in anderen Variablennamen enthalten, was laut den letzten Erkenntnissen nicht sein sollte. Da die Logik aber schon älter ist, das Problem zu der Zeit noch nicht aktuell war und die Logik nun schon Monate problemlos läuft, hab ich das hier jetzt nicht geändert.
Ich glaube mich aber zu erinnern, dass das Problem mit dem Namen im Namen nur bei Input und Output-Variablen vorhanden war oder?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

Ersteller
Bancoras
Reactions:
Beiträge: 33
Registriert: So Sep 29, 2019 12:53 pm
Hat sich bedankt: 11 Mal
Danksagung erhalten: 6 Mal

#12

Beitrag von Bancoras »

@Eraser
Vielen vielen Dank für deine Logik. Ich probiere da mal mit herum, sieht aber sehr vielversprechend aus. :handgestures-thumbupright:
Gehe ich richtig mit der Annahme, dass ich bei ["$BlinkNo","integer",3], die Blinkanzahl verändern kann?
Update: Meine Annahme war falsch, so einfach war es doch nicht die Blinkanzahl zu erhöhen, habe es aber hin bekommen. :dance:

Ich nehme dennoch gerne jede weitere Erklärung der einzelnen Logikbausteine entgegen. Will das verstehen und später selber in der Lage sein, was zu bauen. ;)
Zuletzt geändert von Bancoras am Fr Jun 25, 2021 4:11 pm, insgesamt 1-mal geändert.
Timberwolf 350Q
timberwolf409, VPN offen, Reboot jederzeit

Hammer
Reactions:
Beiträge: 171
Registriert: Mo Sep 10, 2018 9:17 am
Hat sich bedankt: 81 Mal
Danksagung erhalten: 69 Mal

#13

Beitrag von Hammer »

Hallo Bancoras,
Bancoras hat geschrieben: Fr Jun 25, 2021 2:53 pm Ich verstehe nur Bahnhof... Bzw. verstehe ich schon was du mir sagen willst, aber 'mit einem Latch speichern' und 'muss mit einem RS gespeichert werden' sagt mir gar nichts. :confusion-scratchheadyellow: Vielleicht magst du mir Latch und RS kurz erklären?
Ein Latch setzt ein Wert auf eine andere Variable.
Wenn die Klingel von false auf true wechselt gibst du den Eingang I_Status_Licht an den Merker M_Status_Licht weiter
app.php/kb/viewarticle?a=115#Latch

Code: Alles auswählen

["Latch","$I_Status_Licht","$M_Status_Licht","$I_Klingel",1]
Nach der Signalisierung schreibst du den Merker wieder auf den Ausgang

Code: Alles auswählen

["Latch","$M_Status_Licht","$O_Licht","$I_Klingel",2]
Wenn dein Klingel Meldung schneller auf false fällt als deine Signalisierung brauch, bis diese beendet ist.
Dann verwende das RS-Flipflop

Code: Alles auswählen

https://forum.timberwolf.io/viewtopic.php?f=31&t=1609&p=16887&hilit=custom#p16889
Dies lässt sich mit der I_Klingel setzten und mit Beendigung der Signalisierung zurücksetzen.

Hoffe ich konnte es nun etwas verständlicher erklären.

Grüße
Stefan
Timberwolf Server 2500 ID:210 +PBM; VPN offen & Reboot nach Rücksprache .

Wiregate von 2011, ab 2024 in Rente

Ersteller
Bancoras
Reactions:
Beiträge: 33
Registriert: So Sep 29, 2019 12:53 pm
Hat sich bedankt: 11 Mal
Danksagung erhalten: 6 Mal

#14

Beitrag von Bancoras »

Ich glaube ich komme so langsam dahinter...

Vielen Dank an alle die eure Hilfe und Geduld. :)
Timberwolf 350Q
timberwolf409, VPN offen, Reboot jederzeit

StefanW
Elaborated Networks
Reactions:
Beiträge: 9771
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4878 Mal
Danksagung erhalten: 7803 Mal
Kontaktdaten:

#15

Beitrag von StefanW »

Fein,

könntest Du Dir bitte Gedanken zu einem besseren Thread-Titel machen, weil ich fürchte, das "Status vor Logik nach Ablauf wieder herstellen" versteht man nicht.

Bitte Deinen Vorschlag posten, ich ändere das dann ab.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
Bancoras
Reactions:
Beiträge: 33
Registriert: So Sep 29, 2019 12:53 pm
Hat sich bedankt: 11 Mal
Danksagung erhalten: 6 Mal

#16

Beitrag von Bancoras »

@StefanW
Ich habe jetzt lange lange überlegt, aber mir fällt kein besserer Titel ein, sonst hätte ich den auch bei Erstellung des Threads genommen...

Wenn du einen passenderen hast, bin ich offen für Vorschläge.
Timberwolf 350Q
timberwolf409, VPN offen, Reboot jederzeit
Antworten

Zurück zu „Logikengine & Logik-Editor“