Seite 1 von 2

Logik Codeschloss / mit Taster

Verfasst: Di Okt 15, 2019 10:35 pm
von danik
Hi

Hat schon jemand eine Logik für ein Codeschloss (mittels Taster) realisiert (oder Ansätze dazu)?

Ich habe einen Taster mit 6 Tasten und würde da gerne bei Eingabe der richtigen 4-stelligen Kombination eine Aktion auslösen.

Gruss
Dani

Re: Logik Codeschloss / mit Taster

Verfasst: Mi Okt 16, 2019 8:28 am
von Sun1453
Könnte man mit mehreren UND Gattern machen. Das könnte man dann auch in einer Custom Logik unterbringen, damit man nur ein Modul hat.

Re: Logik Codeschloss / mit Taster

Verfasst: Mi Okt 16, 2019 8:55 am
von S. Kolbinger
Hallo Dani,
danik hat geschrieben: Di Okt 15, 2019 10:35 pm Ich habe einen Taster mit 6 Tasten und würde da gerne bei Eingabe der richtigen 4-stelligen Kombination eine Aktion auslösen.
wie werden denn die Tastendrücke gesendet?
Ein Objekt mit 6 möglichen Werten, oder 6 boolsche Objekte?

Re: Logik Codeschloss / mit Taster

Verfasst: Mi Okt 16, 2019 11:27 am
von danik
S. Kolbinger hat geschrieben: Mi Okt 16, 2019 8:55 am Hallo Dani,
danik hat geschrieben: Di Okt 15, 2019 10:35 pm Ich habe einen Taster mit 6 Tasten und würde da gerne bei Eingabe der richtigen 4-stelligen Kombination eine Aktion auslösen.
wie werden denn die Tastendrücke gesendet?
Ein Objekt mit 6 möglichen Werten, oder 6 boolsche Objekte?
Hi

Ich habe zuerst an 6 boolsche Objekte gedacht, aber der andere Weg scheint mir sinnvoller zu sein (nur ein Objekt).
Gruss Dani

Re: Logik Codeschloss / mit Taster

Verfasst: Mi Okt 16, 2019 12:11 pm
von Sun1453
Also ich wollte sowas dann mal mit 6 boolsche Objekten machen. Habe da bald einmal BE-GBZW.01 Glas Bedienzentrale Smart und zum anderen BE-TA55P8.01 Taster Plus 8-fach im Einsatz. Ob das mit einen Objekt geht??

Ich lasse mich gern eines besseren Belehren. Danke schon mal für die Tipps.

Re: Logik Codeschloss / mit Taster

Verfasst: Mi Okt 16, 2019 12:34 pm
von StefanW
Eine Codeschloss-Funktion würde ich für sehr sinnvoll halten.

Am Besten in beiden Versionen, einmal mit einem Objekt und einmal mit mehreren Objekten. Schön wären auch mehrere mögliche Codes die dann verschiedenen Ausgänge triggern.

lg

Stefan

Re: Logik Codeschloss / mit Taster

Verfasst: Mi Okt 16, 2019 6:08 pm
von Dragonos2000
Ich glaub' ich mach' heute Abend mal Bastelstunde... :mrgreen:

Re: Logik Codeschloss / mit Taster

Verfasst: Mi Okt 16, 2019 7:13 pm
von DeLaDope
Cool!

Re: Logik Codeschloss / mit Taster

Verfasst: Sa Okt 19, 2019 6:24 pm
von 773H
Hallo zusammen. So sieht der Standardbaustein auf dem HS4 aus - nur so als kleine Anregung.

Gruß Stephan

Bild

Bild

Re: Logik Codeschloss / mit Taster

Verfasst: So Okt 20, 2019 10:11 pm
von S. Kolbinger
Hallo Dani,

wie wäre es mit folgender Lösung aus 3 Logik-Zellen:
  1. Tastenfeld (Ermittelt die Zahl, für die die Taste steht)
  2. Code-Erfassung (Sammelt die einzelnen Tasteneingaben zu einem Code)
  3. Freigabe-Timer (vergleicht den Code mit Vorgabe und öffnet für eine bestimmte Zeit)
Tastenfeld (Custom-Logik):

Code: Alles auswählen

{
  "Level": [
    ["$TS_0","bool",false],
    ["$TS_1","bool",false],
    ["$TS_2","bool",false],
    ["$TS_3","bool",false],
    ["$TS_4","bool",false],
    ["$TS_5","bool",false],
    ["$TS_6","bool",false],
    ["$TS_7","bool",false],
    ["$TS_8","bool",false],
    ["$TS_9","bool",false],
    ["$Taste","integer",0],
    ["$BIT_0","bool",false],
    ["$BIT_1","bool",false],
    ["$BIT_2","bool",false],
    ["$BIT_3","bool",false],
    ["$Konst2","integer",2]
  ],
  "Module": [
    ["Or",["$TS_1","$TS_3","$TS_5","$TS_7","$TS_9"],"$BIT_0"],
    ["Or",["$TS_2","$TS_3","$TS_6","$TS_7"],"$BIT_1"],
    ["Or",["$TS_4","$TS_5","$TS_6","$TS_7"],"$BIT_2"],
    ["Or",["$TS_8","$TS_9"],"$BIT_3"],
    ["Polynomial","$Konst2","$Taste",["$BIT_0","$BIT_1","$BIT_2","$BIT_3"]],
    ["BinaryDemultiplexer",0,["$TS_0","$TS_1","$TS_2","$TS_3","$TS_4","$TS_5","$TS_6","$TS_7","$TS_8","$TS_9"]]     // reset all keys to false
  ],                
  "Input": [
    ["T_1","Taste 1","$TS_1","c"],
    ["T_2","Taste 2","$TS_2","c"],
    ["T_3","Taste 3","$TS_3","c"],
    ["T_4","Taste 4","$TS_4","c"],
    ["T_5","Taste 5","$TS_5","c"],
    ["T_6","Taste 6","$TS_6","c"],
    ["T_7","Taste 7","$TS_7","c"],
    ["T_8","Taste 8","$TS_8","c"],
    ["T_9","Taste 9","$TS_9","c"],
    ["T_0","Taste 0","$TS_0","c"]
  ],
  "Output": [
    ["Taste","Nummer der gedrückten Taste","$Taste","a"]
  ]
}

Code-Erfassung (Custom-Logik):

Code: Alles auswählen

{
  "Level": [
    ["$In","integer",0],
    ["$Digits","integer",6],
    ["$Out","integer",0],
    ["$InLimit","integer",0],
    ["$Pos","integer",0],
    ["$Complete","bool",true],
    ["$ResetTime","float",5.0],
    ["$Timeout","bool",false],
    ["$KonstTrue","bool",true],
    ["$Konst0d","integer",0],
    ["$Konst1d","integer",1],
    ["$Konst9d","integer",9],
    ["$Konst10d","integer",10]
  ],
  "Module": [
    ["Monoflop","$KonstTrue",0,"-$Timeout","$ResetTime",1], // (Re-)trigger watchdog
    ["Latch","$KonstTrue","$Complete","$Timeout",1],        // Restart when timout occoured
    ["Break",["$Timeout"]],                                 // timeout -> wait for next input
    ["Latch","$Konst0d","$Out","$Complete",0],              // Set for restart
    ["Latch","$Konst0d","$Pos","$Complete",0],              // Set for restart
    ["Polynomial","$Konst1d","$Pos",["$Konst1d","$Pos"]],   // Increment position
    ["Limiter","$In","$InLimit",0,["$Konst0d","$Konst9d"]], // Limit input value to single digits
    ["Polynomial","$Konst10d","$Out",["$InLimit","$Out"]],  // shift and add new input value (y = x + 10*y)
    ["Comparator","-$Pos","-$Complete","-$Digits"],         // digits complete?
    ["Break",["-$Complete"]]                                // not complete -> wait for next input
  ],
  "Input": [
    ["IN","Eingang","$In","a"],
    ["Stellen","Anzahl der Stellen","$Digits","u"],
    ["Timeout","Zeit nachder alles zurückgesetzt wird","$ResetTime","u"]
  ],
  "Output": [
    ["OUT","Integerausgang","$Out","a"]
  ]
}
Freigabe-Timer (Standard Timer2) kann mit unterschiedlichen Code-Vorgaben natürliche mehrfach vorkommen.


Und dann noch diese Logiken verknüpfen:
Bild