Re: Status vor Logik nach Ablauf wieder herstellen
Verfasst: Fr Jun 25, 2021 2:56 pm
Hier meine Logik:
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?
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.*/
Ich glaube mich aber zu erinnern, dass das Problem mit dem Namen im Namen nur bei Input und Output-Variablen vorhanden war oder?