versuch es mal damit:
Code: Alles auswählen
{
"Level": [
["$Weiter","bool",false],
["$Null","integer",0],
["$Eins","integer",1],
["$Status","integer",0],
["$MaxStatus","integer",3],
["$ResetStatus","bool",false],
["$DeckenLicht","bool",false],
["$SchreibtischLicht","bool",false],
["$DeckenLichtRueck","bool",false],
["$SchreibtischLichtRueck","bool",false]
],
"Module": [
["And",["$DeckenLichtRueck"],"$DeckenLicht"],
["And",["$SchreibtischLichtRueck"],"$SchreibtischLicht"],
["BinaryMultiplexer",["$DeckenLicht","$SchreibtischLicht"],"$Status"],
["Polynomial","$Status","$Status",["$Eins","$Eins"]],
["Comparator","$Status","$ResetStatus","$MaxStatus"],
["Multiplexer",["$Status","$Null"],"$Status","$ResetStatus"],
["BinaryDemultiplexer","$Status",["$DeckenLicht","$SchreibtischLicht"]]
],
"Input": [
["Taster","Jeder Wert schaltet eins weiter","$Weiter","a"],
["DeckeRueck","Rückmeldung Deckenlicht","$DeckenLichtRueck","u"],
["TischRueck","Rückmeldung Schreibtischlicht","$SchreibtischLichtRueck","u"]
],
"Output": [
["Decke","Schaltzustand für das Deckenlicht","$DeckenLicht","c"],
["Tisch","Schaltzustand für das Schreibtischlicht","$SchreibtischLicht","c"]
]
}
von: ... [Aus,Aus] -> [Ein,Aus] -> [Ein,Ein] -> [Aus,Ein] ...
nach:...[Aus,Aus] -> [Ein,Aus] -> [Aus,Ein] -> [Ein,Ein] ...
Solltest du unbedingt an deiner ursprünglichen Sequenz festhalten wollen, müsste ich noch zwei XOR einbauen.
viel Spaß beim ausprobieren.
Gruß,
Stefan K.