Genau, geht dann ganz ohne Logik. Ich kannte die Funktion auch nicht, ist aber gut zu wissen, dass es die gibt.
Noch viel Spaß damit,
Gruß, Waldemar
Ankündigung
Einklappen
Keine Ankündigung bisher.
MDT Logikcontroller: Byte-Werte mappen
Einklappen
X
-
Ah, über die Sondersymbole! Ja, das funktioniert, vielen Dank! Damit wird die Logikfunktion komplett unnötig.
Einen Kommentar schreiben:
-
Deswegen steht in meinem Screenshot auch der DPT 5.005 und die Werte sind 0-3
Gruß, Waldemar
- Likes 1
Einen Kommentar schreiben:
-
Leider tritt das Problem auf, dass ich in #1 schon befürchtet habe: es gibt für den Datentyp Szene kein Status-KO, so dass die Anzeige auf dem Display nicht mitbekommt, wenn jemand anderes die Szene geändert hat. Also doch der Workaround über den Dezimalwert.
Einen Kommentar schreiben:
-
Huch, wieso habe ich die Einstellung denn vorher nicht gesehen?!
Einen Kommentar schreiben:
-
Hi,
jetzt hab ich es verstanden, der Taster soll/kann nicht die Werte 0-3 sondern 0, 80, 160 und 240 senden. Dann brauchst Du natürlich eine bijektive Abbildung.
Halt! Ich hab die Lösung für Dich gefunden...
Mach erstmal die Einstellungen fürs Durchschalten mit DPT5.005 und direkt den Szenenwerten (den technischen, also immer -1):
GT2-Szenen-durchschalten-1.PNG
Und dann verbindest Du jeden Umschaltwert mit einem Symbol:
GT2-Szenen-durchschalten-2.PNG
So bekommst Du 4 Symbole und keinen Konverter.
Gruß, Waldemar
P.S.: Wäre an Feedback interessiert, ob das funktioniert hat...
Einen Kommentar schreiben:
-
Wenn ich mit dem Taster direkt die Szenen 1-4 sende, dann kann ich sie optisch nicht an der Anzeige unterscheiden, weil MDT dafür keine Funktion eingebaut hat. Es gibt nur fest vorgegebene Wertebereiche:
2020-02-10_17-18.png
Deswegen sendet und empfängt(!) der Taster nun die Dezimalwerte 0, 80, 160 und 240, so dass ich zumindest drei Wertebereiche (aus, gedimmt, 100%) optisch darstellen kann. Da Szenen nur bis 64 (technisch 63) gehen, muss hier ein Mapping stattfinden. Und da die Szene aber auch durch den Präsenzmelder gesendet werden kann, ist es notwendig, die Szenennummer wieder zurück auf den Dezimalwert zu mappen, damit der Taster weiß, welcher Schritt aktuell ausgewählt ist.
Aber du hast recht: Ich brauche tatsächlich nur eine Universalrechner-Logik, da jeder Rechner bis zu drei voneinander unabhängige Operationen durchführen kann. Ich konnte also beide Umwandlungen in der selben Logik umsetzen.
2020-02-10_17-25.png
2020-02-10_17-24.pngZuletzt geändert von Cybso; 10.02.2020, 17:27.
Einen Kommentar schreiben:
-
Hi,
ich denke, Du brauchst wirklich nur einen Universalrechner. Beide Taster und PM reden über die 1-4 (technisch 0-3) miteinander, der Universalrechner wandelt auf 0, 80, 160 und 240. Wofür dann der 2. Universalrechner? Oder ich hab irgendwas nicht verstanden...
Gruß, Waldemar
Einen Kommentar schreiben:
-
Weil die Szene nicht nur durch den Taster, sondern auch durch den Präsenzmelder und einem zweiten Taster im Flur geändert werden kann. Dafür braucht der MDT ein Statusobjekt (Dezimal) als Rückmeldung, schon alleine damit er weiß, welcher Wert als nächstes gesendet werden muss.Zitat von mumpf Beitrag anzeigenHi, wieso brauchst Du bidirektionales mapping? Du willst die Werte doch nur anzeigen?
Das ist ein guter Hinweis, dann reichen tatsächlich zwei Universalrechner, und ein Hilfsobjekt ist auch nicht erforderlichZitat von mumpf Beitrag anzeigenWenn es wirklich die Szenen 1-4 sind, dann einfach mit der Formel Szene * 80 nehmen, auf dem Bus ist die Szene schon um 1 vermindert.
. Vorausgesetzt natürlich, dass das KO die Szene als 1-Byte-Wert akzeptiert.
Zuletzt geändert von Cybso; 10.02.2020, 13:48.
Einen Kommentar schreiben:
-
Hi, wieso brauchst Du bidirektionales mapping? Du willst die Werte doch nur anzeigen?
Wenn es wirklich die Szenen 1-4 sind, dann einfach mit der Formel Szene * 80 nehmen, auf dem Bus ist die Szene schon um 1 vermindert.
Gruß, Waldemar
Einen Kommentar schreiben:
-
MDT Logikcontroller: Byte-Werte mappen
Szenario: Ich möchte den MDT Taster Smart benutzen, um zwischen vier verschiedenen Szenen umzuschalten:- 1: Licht aus
- 2: Dimmen minimal
- 3: HCL aktivieren
- 4: Dimmen maximal
Jetzt kann der Smart-Taster jedoch bei Szenen kein Feedback im Display geben, welche Szene gerade aktiv ist. Außerdem gibt es für Szenen aus irgendeinem Grund die Option "Berücksichtigt Statusobjekt" nicht. Deswegen will ich statt dessen Dezimalwerte zwischen 0 und 255 verwenden, so dass ich zumindest dessen drei Feedback-Objekte (Wert 0, Wert 1-230, Wert 230-255) nutzen kann. Benötigt wird also ein bidirektionales Mapping:- Szene 1 = Dezimalwert 0
- Szene 2 = Dezimalwert 2 (oder anderer Wert zwischen 1 und 230)
- Szene 3 = Dezimalwert 3 (oder anderer Wert zwischen 1 und 230)
- Szene 4 = Dezimalwert 255 (oder anderer Wert zwischen 230 und 255)
Ein direktes bidirektionales Mapping mit der Universallogik würde 8 Logikfunktionen beleen, das wäre ziemliche Verschwendung.
Eine Alternative wäre, die Dezimalzahl bzw. die Szenennummer mit dem Formatwandler auf 8 Einzelbits umzusetzen und diese dann mit der Steuertabelle wieder auf die entsprechende Szenennummer / Dezimalzahl zu wandeln. Dafür würden dann 4 Logikfunktionen reichen, dafür würde der Bus mit 16 zusätzlichen Hilfsobjekten geflutet.
Eine weitere Option wäre, jeweils zwei Universalrechner zu benutzen mit der Formel (Szene - 1) * 80 bzw. (Dezimalzahl / 80) + 1. Dann würden die Szenen auf die Dezimalzahlen 0, 80, 160 und 240 gemappt, es wären ebenfalls vier Logikfunktionen erforderlicht, aber nur zwei Hilfs-GAs für die Zwischenergebnisse.
Weiß jemand noch einen eleganteren Lösungsvorschlag?
Edit: Danke für das Verschieben, hab versehentlich das falsche Forum angeklickt.Zuletzt geändert von Cybso; 10.02.2020, 12:52.Stichworte: -


Einen Kommentar schreiben: