Seite 2 von 2

Re: State Machine im Logikeditor

Verfasst: Do Apr 25, 2019 8:10 pm
von S. Kolbinger
Hallo Marc,
Zugschlus hat geschrieben: Do Apr 25, 2019 6:08 pm Vielleicht wäre es doch eine ganz gute Idee, die Statusrückmeldungen der Aktoren zu verwenden, damit die Logik immer weiß, in welchem Zustand die Leuchten wirklich sind.
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"]
      ]
}
Ich habe mal der Einfachheit halber, wegen der Binär(de)multiplexer, die Schaltreihenfolge abgeändert:
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.

Re: State Machine im Logikeditor

Verfasst: Do Apr 25, 2019 9:35 pm
von jockel
Das wäre sicher der Königsweg. Ersatzweise könnte man den internen Status vielleicht auf den KNX Bus senden und wieder als Input verwenden, quasi von hinten durchs Knie geschossen ;)

Mal was anderes: Die Möglichkeit die Logiken als Textdatei auszutauschen, was ja auch bedeutet, sie z.B. in ein git Repository aufnehmen zu können, gefällt mir extrem gut!