NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Gelöst] [V4.0 IP7] Lösungsansatz für sehr individuelle Zuweisungstabelle gesucht

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

terseek
Reactions:
Beiträge: 267
Registriert: Mi Sep 05, 2018 1:09 pm
Hat sich bedankt: 505 Mal
Danksagung erhalten: 121 Mal

#11

Beitrag von terseek »

so, hier der Versuch einer besseren Erklärung für meinen Vorschlag aus Beitrag 2:

- zunächst möchte ich noch anmerken, daß ich in meinem vorherigen Beitrag noch von vier möglichen Werten für B ausgegangen bin (1, 2 , 3 und 4), nun wissen wir das "1" nicht vorkommen kann es also nur drei mögliche Werte für B gibt. Damit ist auch die von Dir gepostete Tabelle vollständig. Dadurch weicht die Lösung hier nun ein bischen von der Lösung in Beitrag 2 ab.

Die erste Standardlogik, der Integer-Muliplexer, ist der Baustein, der die Ausgangswerte der Logik liefert. Du benötigst einen Multiplexer mit 30 Eingängen, je einen für jede Zeile in Deiner Tabelle. An die Eingänge legst Du nun jeweils als Konstante die Werte aus der Spalte "Ergebnis" Deiner Tabelle an. Das sieht dann so aus:

Bild

Der Multiplexer schaltet immer den Eingang auf den Ausgang durch, der mittels des Selektors (in diesem Fall eine Zahl zwischen 0 und 29) ausgewählt wird.

Es muß nun also noch eine Logik dafür gefunden werden, den jeweils passenden Selektor zu ermitteln. Das kann man auch als die Nummer der Zeile Deiner Tabelle verstehen. Diese Zeilennummer kann man durch folgende Formel aus A, B und C berechnen:

Zeile = 3 * A + B + 15 * C + 4

Habe das mal in einer Exceltabelle gerechnet und siehe da, es stimmt:

Bild

Diese Berechnung sollte einfach mit dem Baustein "freie Formel" durchführbar sein:

Bild

Zusammengefaßt wird diese Lösung Deines Problems mit nur zwei Standardlogiken realisiert.

Hoffe, es ist nun verständlicher.
Zuletzt geändert von terseek am Do Feb 15, 2024 8:47 pm, insgesamt 2-mal geändert.
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung

Ersteller
Sunshinemaker
Reactions:
Beiträge: 217
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 106 Mal
Danksagung erhalten: 129 Mal

#12

Beitrag von Sunshinemaker »

Moin,

DANKE!!!! Ich werde auch deine Lösung versuchen am Wochenende umzusetzen. Dir auch 1000x Danke.
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache

Robosoc
Reactions:
Beiträge: 1884
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 775 Mal

#13

Beitrag von Robosoc »

terseek hat geschrieben: Do Feb 15, 2024 7:12 pm Zeile = 3 * A + B + 15 * C + 4
Mega, ich musste nachrechnen bis ich gecheckt habe, was die Formel macht...sehr schöne Idee. Und mit zwei Stabdardlogiken viel besser als es mit custom zu lösen.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Ersteller
Sunshinemaker
Reactions:
Beiträge: 217
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 106 Mal
Danksagung erhalten: 129 Mal

#14

Beitrag von Sunshinemaker »

Ich muß zugeben ich hab das die Formel nicht verstehe. Also ich kann sie ausrechnen und verstehe auch den Sinn darin. Aber wie man überhaupt auf die Formel kommt -----> ergibt bei mir nur Error.

Also Wirklich großes DANKE euch an euch beide und echt Respekt davor.
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache

terseek
Reactions:
Beiträge: 267
Registriert: Mi Sep 05, 2018 1:09 pm
Hat sich bedankt: 505 Mal
Danksagung erhalten: 121 Mal

#15

Beitrag von terseek »

Um zu erklären, wie die Formel zustande kommt, muß ich etwas weiter ausholen; aber keine Sorge, es ist recht einfach.

Meine Grundidee war die Eingangswerte als Zahl in einem speziellen Zahlensystem zu interpretieren. Wir kenne ja das Dezimalsystem, das Binärsystem und vielleicht auch das Octalsystem. All diesen Systemen ist gemeinsam, die an jeder Ziffernposition immer dieselbe Anzahl von Ziffern zur Verfügung steht.

Hier ist es anders. Für A können fünf Ziffern verwendet werden, für B drei Ziffern und für C zwei Ziffern. Das ist das spezielle an diesem Zahlensystem.

Eine weiterer Aspekt ist, daß für die Interpretation als Zahlensystem die erlaubten Ziffern mit Null anfangen müssen und die weiteren Ziffern lückenlos aufsteigend sein müssen. Das ist nur bei C der Fall. Für A und B muß erst eine Transformation durchgeführt werden (die Transformierten Eingangswerte nenne ich A*, B* und C*):

A* = A + 2
B* = B - 2
C* = C

Die Ziffern würde man wahrscheinlich zunächst in der Reihenfolge A, B, C oder C, B, A anordnen. In diesem Fall habe ich das nicht so gemacht, denn die vorgegebene Wahrheitstabelle suggeriert daß C die höchstwertige Stelle und B die niederwertigste Stelle ist. Also ordne ich für meine Lösung die Ziffern in der Reihenfolge CAB an.

Hinweis: jede andere Reihenfolge funktioniert auch, würde aber ein Umsortieren der Tabelle erforderlich machen. Das wollte ich vermeiden.

Mit all diesen Gedanken kann man nun die Formel bauen. Die Ziffern werden mit ihrer Wertikeit multipliziert und addiert. B hat die niedrigste Wertigkeit 1. A hat die Wertigkeit drei, da für B drei Ziffern möglich sind. C hat die Wertigkeit 15, da für A drei und für B fünf Ziffern möglich sind. Damit ist die Formel

3 * A* + B* + 15 * C*

Wenn man nun die Transforamtionen (siehe oben) einsetzt, erhält man

3 * (A + 2) + B - 2 + 15 * C

und ausmultipliziert ist das

3 * A + B + 15 * C + 4
Zuletzt geändert von terseek am Fr Feb 16, 2024 1:42 pm, insgesamt 1-mal geändert.
TWS 2600 ID:186 + 3 PBM, VPN offen, Reboot nach Vereinbarung
TWS 3500L ID:895 + 1 PBM, VPN offen, Reboot nach Vereinbarung

MrWilson
Reactions:
Beiträge: 232
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 146 Mal

#16

Beitrag von MrWilson »

Ja ne ist klar. Krasser shit :bow-yellow:
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

blaubaerli
Reactions:
Beiträge: 2326
Registriert: Sa Sep 15, 2018 10:26 am
Wohnort: Kerpen
Hat sich bedankt: 898 Mal
Danksagung erhalten: 700 Mal

#17

Beitrag von blaubaerli »

Total einfach. Jepp
:laughing-rolling:

Beste Grüße
Jens

Das ist der bisher intuitivst nachvollziehbare Lösungsansatz hier im Forum :handgestures-thumbupright:
wiregate1250 & timberwolf168 (2600er), VPN offen, Reboot nach Vereinbarung
Bitte WIKI lesen.

StefanW
Elaborated Networks
Reactions:
Beiträge: 9775
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7820 Mal
Kontaktdaten:

#18

Beitrag von StefanW »

Wunderbar,

nur schade, das diese Logik Perlen später niemals mehr jemand findet, weil sich unter diesem nichtssagendem Titel das keiner vorstellen kann.

Bitte verzeiht, dass ich insistiere, ich möchte einfach nur, dass sich Nutzer, die etwas suchen, leichter tun, weil es auffindbar ist. Das hier wird in der Menge der Threads verschwinden und wird eher nicht mehr auffindbar sein, weil es dafür "kein Fleisch" für die Suche ergibt.

Womöglich hat noch jemand einen guten Gedanken, wie man das nennen kann.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Robosoc
Reactions:
Beiträge: 1884
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 639 Mal
Danksagung erhalten: 775 Mal

#19

Beitrag von Robosoc »

Ich persönlich finde nach wie vor, dass dies hier eine Zuweisungstabelle ist.
Man könnte m.E. auch von "Status in Abhängigkeit von 3 Eingangswerten" sprechen.

Wenn ich die Aufgabe in Programmiersprachen hätte lösen wollen, so hätte ich ein dreidimmensionales Array gewählt. So würde ich es zum Beispiel in JS in NodeRed lösen. Also könnte man auch allgemein Schreiben : "Mehrdimmensionales Array in TWS-Logiken umsetzen".
Zuletzt geändert von Robosoc am Fr Feb 16, 2024 11:25 pm, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Ersteller
Sunshinemaker
Reactions:
Beiträge: 217
Registriert: So Mai 22, 2022 11:45 am
Hat sich bedankt: 106 Mal
Danksagung erhalten: 129 Mal

#20

Beitrag von Sunshinemaker »

Moin,

@terseek Entschuldigung aber ich bei "es ist recht einfach" raus gewesen. Ganz großes Kino :clap: :bow-yellow: Wenn ich wieder so eine Spezielle frage habe, komme ich gleich zu dir anstatt überhaupt anzufangen zu überlegen :bow-yellow: :bow-yellow:

Ich werde mich gleich mal dran machen das ganze umzusetzen. Allerdings sind im Moment die Vorraussetzungen so das ich das ganze nur manuel durchspielen kann. Auf die äußeren Einflüsse habe ich leider keinen Einfluss.

@StefanW Ich Verstehe deine Intention dazu und sage ja auch nicht das sie falsch sind. Aber es doch leider so wie mit der Formel von terseek. Für ihn ist die Formel total einfach und logisch. Aber alle anderen verdrehen die Augen weil sie übervordert sind. Genau so ist dem dem Titel. Für MICH war der Logisch den ich gewählt habe. Für DICH aber nicht. Wenn ich mich nicht täusche ist es inzwischen der Titel für diesen Beitrag. Und wenn wir noch ein bisschen länger warten und noch ein paar mehr Leute fragen wird es noch in paar mehr gute Vorschläge geben. Und für jeden ist sein Vorschlag wahrscheinlich der logischste. Aber jeder denk nun mal anders und es eben keine Mathemaische Logik wo 1+1=2 ist sondern die individuelle Logik von einzelnen wo vielleicht 1+1=4 weil es regnet oder 1+1=17 weil die Sonne scheint. Ich hoffe du verstehst was ich meine, ich finde deinen Ansatz ja gut und richtig die Titel so zu wählen das JEDER sie (wieder)findet aber dem ganzen steht eben die Individualität jedens einzelnen im Wege.
LG Sören

TWS 3500 XL / ID 846 / VPN:offen / Reboot nach Rücksprache
Antworten

Zurück zu „Logikengine & Logik-Editor“