UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

Haustürstatus (0-3dez) in Abhängigkeit von zwei Reeds als Logik abbilden

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

Dragonos2000
Reactions:
Beiträge: 2181
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 481 Mal
Danksagung erhalten: 889 Mal

#11

Beitrag von Dragonos2000 »

@S. Kolbinger : Habt Ihr inzwischen eigentlich den Bug im Parser raus, dass der bei einer Ziffer am Ende einer Level-Definition manchmal auf die Nase fällt?
Also geht $input_0 inzwischen gefahrlos? (anstatt $input_A) ?
Zuletzt geändert von Dragonos2000 am Sa Aug 31, 2019 11:46 pm, insgesamt 1-mal geändert.
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

Dragonos2000
Reactions:
Beiträge: 2181
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 481 Mal
Danksagung erhalten: 889 Mal

#12

Beitrag von Dragonos2000 »

@tger977 Das mit dem "Read" ist noch in Diskussion als FR, geht aktuell nicht. Du müsstest die Stati der Inputs zyklisch übertragen, um das nach einem Reboot konsistent zu haben (spätestens nach der Zykluszeit).
Zuletzt geändert von Dragonos2000 am Sa Aug 31, 2019 11:45 pm, insgesamt 2-mal geändert.
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

Dragonos2000
Reactions:
Beiträge: 2181
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 481 Mal
Danksagung erhalten: 889 Mal

#13

Beitrag von Dragonos2000 »

@tger977 , was Du auch anstelle einer Customlogik machen kannst ist, den vorhandenen fertigen Polynomial-Baustein zu verwenden. Ist im Grunde das gleiche, nur nicht als Customlogik angelegt. Das sieht dann so aus:
Bild

Koeff 1 ist Dein Input 0
Koeff 2 ist Dein Input 1

Funktionsweise ist ansonsten wie bereits beschrieben.

Sorry, dass ich gleich in Customlogik gedacht habe :roll:
Zuletzt geändert von Dragonos2000 am Sa Aug 31, 2019 11:52 pm, insgesamt 1-mal geändert.
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#14

Beitrag von S. Kolbinger »

Hallo Andi (@tger977),

genau für solche Anwendungsfälle ist der binäre Multiplexer optimal:
Bild

Allgemein: Aus n binären Eingängen mache einen Integer-Wert mit 2n möglichen Zuständen.
Zuletzt geändert von S. Kolbinger am So Sep 01, 2019 8:23 am, insgesamt 1-mal geändert.
Gruß,
Stefan K.

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#15

Beitrag von S. Kolbinger »

Hallo Jochen,
Dragonos2000 hat geschrieben: Sa Aug 31, 2019 11:43 pm Habt Ihr inzwischen eigentlich den Bug im Parser raus, dass der bei einer Ziffer am Ende einer Level-Definition manchmal auf die Nase fällt?
Also geht $input_0 inzwischen gefahrlos? (anstatt $input_A) ?
Leider nein! Zu diesem Punkt in der Liste ist meine Kollege noch nicht gekommen.

Vorschlag zum aktuellen Workaround:
Hänge ein bestimmtes Zeichen (außer?oder!) an die Ziffer, z.B. einen Unterstrich "$Input_0_". Dann lässt sich das später mal einfacher mittels "Suchen und Ersetzen" _" --> " anpassen.
Gruß,
Stefan K.

Dragonos2000
Reactions:
Beiträge: 2181
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 481 Mal
Danksagung erhalten: 889 Mal

#16

Beitrag von Dragonos2000 »

S. Kolbinger hat geschrieben: So Sep 01, 2019 7:58 am genau für solche Anwendungsfälle ist der binäre Multiplexer optimal:
Da steht im Code "unter der Haube" doch bestimmt auch die Polynomfunktion, oder ? ;)
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#17

Beitrag von S. Kolbinger »

Hallo Jochen,
Dragonos2000 hat geschrieben: So Sep 01, 2019 8:56 am Da steht im Code "unter der Haube" doch bestimmt auch die Polynomfunktion, oder ?
Soweit geht die Liebe zur Polynomfunktion nun auch wieder nicht :naughty:
Außerdem käme es bei mehr als 24 Eingängen zu Probleme mit Rundungsfehlern.

Hatte ich das Modul "BinaryMultiplexer" noch nicht erwähnt. :confusion-scratchheadyellow:
Egal, die Konfig für den Binärmultiplexer sieht so aus:

Code: Alles auswählen

{
      "Level": [
        ["$VAR<In!>","bool",false],
        ["$MuxOut","integer",0],
        ["$VAR<Inhibit?>", "bool", false]
      ],
      "Module": [
        ["Break", ["$VAR<Inhibit?>"]],
        ["BinaryMultiplexer",["$VAR<In!>"],"$MuxOut"]
      ],
      "Input": [
        ["IN","Binäreingang","$VAR<In!>","c"],
        ["Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u"]
      ],
      "Output": [
        ["OUT","Integerausgang","$MuxOut","c"]
      ]
    }
Zuletzt geändert von S. Kolbinger am So Sep 01, 2019 9:32 am, insgesamt 2-mal geändert.
Gruß,
Stefan K.

Dragonos2000
Reactions:
Beiträge: 2181
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 481 Mal
Danksagung erhalten: 889 Mal

#18

Beitrag von Dragonos2000 »

@S. Kolbinger Wie sieht es denn mit dem Ressourcenbedarf aus? Welche Funktion ist im Zweifel vorzuziehen, Polynom oder Binärmultiplexer?
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#19

Beitrag von S. Kolbinger »

Hallo Jochen,
Dragonos2000 hat geschrieben: So Sep 01, 2019 9:47 am Wie sieht es denn mit dem Ressourcenbedarf aus? Welche Funktion ist im Zweifel vorzuziehen, Polynom oder Binärmultiplexer?
Die Unterschiede in Speicherbedarf und Ausführungszeit sind marginal.
Oder zu gut deutsch: Das ist gehüpft, wie gesprungen ;)

Wenn man es ganz genau messen würde, wird der Binärmultiplexer einige Nanosekunden schneller sein, da er ohne Floatingpoint-Arithmetik auskommt.
Gruß,
Stefan K.

Dragonos2000
Reactions:
Beiträge: 2181
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 481 Mal
Danksagung erhalten: 889 Mal

#20

Beitrag von Dragonos2000 »

Wie sieht es mit den Ladezeiten für den Editor aus?
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit
Antworten

Zurück zu „Logikengine & Logik-Editor“