Ankündigung

Einklappen
Keine Ankündigung bisher.

Herausforderungen für das MDT Logikmodul V2

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • thengsty
    antwortet
    Hi Waldemar,
    nochmals recht herzlichen Dank für deine Hilfe. Die von dir vorgeschlagene Lösung funktioniert genau wie beschrieben.
    Habe das eben umgesetzt und bin damit sehr happy. Man muss nur drauf achten dass man beim Reset der Regenmenge diesen Wert nicht auf 0,0 zurücksetzt. Weil dann rechnet er beim nächsten Impuls gar nicht erst los. Ich setze die Regenmenge daher einfach auf 0,01 zurück. Das ist hinreichend genau.

    image.png

    Danke nochmal! Wieder eine Funktion mehr vom zentralen Server ​umgezogen auf den Bus.

    Thomas

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Thomas,

    Was auf jeden Fall gehen würde, wäre eine Lösung mit 2 Kanälen:
    Kanal 1 ist wie jetzt definiert, nur addiert er eine 0. Er würde also bei einem Impuls den Eingangswert auf den Ausgang schicken (im Prinzip eine TOR-Funktion). Der Ausgang vom Kanal 1 ist mit dem Eingang vom Kanal 2 verbunden, der die 0.26 draufrechnet und bei jeder Änderung sendet. Der Ausgang von Kanal 2 ist wieder mit dem Eingang von Kanal 1 verbunden.
    Du hast dann zwar immer 2 Werte auf dem Bus, den zuletzt berechneten und sofort danach den neuen (auf 2 verschiedenen GA natürlich), aber Du musst ja nur den neuen auswerten.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • thengsty
    antwortet
    Hallo mumpf,
    vielen Dank für deine sehr ausführliche Antwort! Das hat mir wirklich sehr geholfen beim Verständnis. Das Teil verhält sich genau wie von dir beschrieben.
    Jetzt muss ich mir nur noch überlegen wie ich das gelöst bekomme. ;-)
    Ich werde berichten...

    Danke und schönen Sonntag,
    Thomas

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von thengsty Beitrag anzeigen
    Aber erklären kann ich es mir nicht...
    Aber ich , zumindest teilweise.

    Du hast angegeben: Alle Ausgänge senden bei Impulseingang. Dein Log sagt nichts dazu, wie es zu dem Wert 1.3 (Regenmenge) kommt, aber gehen wir davon aus, dass der Wert irgendwie gesetzt wurde.
    Dein Read liest diesen Wert -> passt.
    Dein nächster Regenimpuls macht das, was Du gesagt hast: Sende den Wert auf den Ausgang (1.3). Dieser Wert wird von Eingang empfangen und eine 0.26 drauf gerechnet. Der Wert ist jetzt 1.56. Vom Senden ist da ja keine Rede.
    Jetzt wird der nächste Regenimpuls empfangen. Es wird gesendet (1.56), dieser Wert wird empfangen und erneut 0.26 drauf gerechnet. Der Wert ist 1.82. Wieder wird nichts gesendet.
    ​Jetzt wird der nächste Regenimpuls empfangen. Es wird gesendet (1.82), dieser Wert wird empfangen und erneut 0.26 drauf gerechnet. Der Wert ist 2.08. Wieder wird nichts gesendet.
    ​Jetzt wird der nächste Regenimpuls empfangen. Es wird gesendet (2.08), dieser Wert wird empfangen und erneut 0.26 drauf gerechnet. Der Wert ist 2.33. Wieder wird nichts gesendet.
    ​Jetzt sind wir im Log genau auf der Zeile vor dem großen A.
    Ein Read liest den zuletzt berechneten Wert (2.33). Der Wert wird nicht irgendwie empfangen also wird auch nichts gerechnet.
    Weitere Reads lesen den zuletzt berechneten Wert (2.33)
    usw.

    Deine Denkfehler:
    Es wird nicht beim Impuls gerechnet, beim Impuls wird ausgegeben!
    Gerechnet wird beim Werteingang auf Eingang1.

    Ich kenne das Logikmodul nicht gut genug, um Dir eine Lösung nennen zu können, aber das Verhalten ist so, wie erwartet.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • thengsty
    antwortet
    Jetzt wird wirklich spannend.
    Dachte zuerst dass es keinen Effekt hat. Aaaber:

    Log, Erläuterung unten:image.png
    • Beim ersten Impuls passiert nichts. (1)
    • Beim zweiten Impuls addiert er wie gewünscht (2)
    • Alle folgenden Impulse funktionieren tadellos
    • Beim ersten "Read" auf die Regenmenge (A), wird ebenfalls gerechnet und addiert
    • Beim zweiten und allen folgenden "Read" (B) nicht mehr
    Bin schon fast gewillt das so zu akzeptieren. ;-)
    Aber erklären kann ich es mir nicht...

    Danke dir jedenfalls für deine Hilfe!
    ​
    Angehängte Dateien

    Einen Kommentar schreiben:


  • ollu77
    antwortet
    OK gerade am Studieren.

    Ich glaube das dem Eingang 1 jetzt der Startwert fehlt für die Berechnung da er sich nicht mehr über die Antwort Aktualisiert.

    Versuch noch folgendes.

    Schreibe zuerst einen wert auf 0/1/31
    Danach Impuls danach Lesen

    Wenn das nicht geht bin gerade Ratlos🧐

    Einen Kommentar schreiben:


  • thengsty
    antwortet
    Hi Ollu,
    danke für deine Hilfe. Habe ich sofort ausprobiert. Leider bleibt dann die Regenmenge immer auf "0" und es findet keine Berechnung statt:

    Hier das Log:
    image.png​

    Einen Kommentar schreiben:


  • ollu77
    antwortet
    Versuch es mal in dem du das A Flag deaktivierst beim beim Eingang A

    Einen Kommentar schreiben:


  • thengsty
    antwortet
    Hallo zusammen, ich benötige einmal euren Support zum MDT Logikmodul obwohl ich eigentlich nicht damit rechnete dass das eine Herausforderung wird. Ich habe mir eine Berechnung der Regenmenge gebaut. Regenmenge kommt über Impuls:

    image.png

    KO's am Universal-Rechner:
    image.png​

    An Eingang 1 kommt der Wert vom vorigen Impuls (Ausgang 1), es wird 0,26 addiert. Soweit so gut, die Berechnung funktioniert tadellos (Log):
    image.png

    Was ich aber so überhaupt nicht gebrauchen kann ist der Effekt, dass das Logikmodul ​bei einem "Read" auf die 0/1/31 (Regenmenge) eine Berechnung triggert, ohne dass ein voriger Impuls kam:
    image.png​

    Also nur das Lesen der GA "Regenmenge" führt zur Neuberechnung. Ich habe auch schon bisschen mit den Flags rumgespielt, bisher erfolglos. Hat jemand eine Idee wie ich das unterbinden kann?

    Danke und viele Grüße,
    Thomas

    Einen Kommentar schreiben:


  • Janncsi
    antwortet
    Das werde ich testen! Habe meine Szenen zum Glück passend bei 1-5 auf der Gruppenadresse.

    Jetzt habe ich nur leider noch ein Problem bei deiner Idee bzgl. dem Heraufzählen der Szenen. An sich funktioniert ist mit dem Durchschalten. Leider habe ich aber eine doppelte Aktivierung der Szene, wenn der Sprung von 3 auf 4 geht, denn er geht durch das Zurückspringen sofort wieder auf 1. Heißt er schickt sofort noch eine 1 auf die Gruppenadresse.

    Vom Verhalten her ist es auch nachvollziehbar. Meine Idee ist nun, dass ich den Szenenbereich einfach um 1 erhöhe, dann sollte ich beim Sprung von 4 auf 5 direkt auf die 1 fallen und 5 ist einfach nicht vergeben. Oder hast du eine andere Idee??

    Einen Kommentar schreiben:


  • ollu77
    antwortet
    Das sollte über Umwege möglich sein.

    Dazu müssen die Szenen Nummern im Bereich 2-9 liegen.

    Beachte:
    Szene 1 = Dezimalwert 0
    Szene 2 = Dezimalwert 1
    Szene 3 = Dezimalwert 2
    Szene 4 = Dezimalwert 3

    usw.

    Nun nimmst du den Formatwandler 1Byte zu 8Bit.
    Jetzt wird mit Szene 2 das Bit 1 angesteuert mit Szene 3 das Bit 2 usw.

    Danach kommt der Formatwandler 1Bit zu 14Byte zum Einsatz dessen Eingänge belegts du mit den Ausgängen vom vorherigen Formatwandler.


    image.png​

    image.png

    image.png​​

    Einen Kommentar schreiben:


  • Janncsi
    antwortet
    Kurze Frage noch.....ihr wüsstet nicht, wie man anhand einer Szenennummer ein 14byte-Objekt mit dem Modul versenden kann?

    14byte wäre statisch vom Text her

    Einen Kommentar schreiben:


  • Janncsi
    antwortet
    Hi Oliver,

    vielen Dank für deinen Ansatz! Sieht für mich sehr logisch aus und zeigt mal wieder, wie kompliziert ich gedacht habe.

    Habe es nachgebildet und werde es heute Abend mal testen

    Einen Kommentar schreiben:


  • ollu77
    antwortet
    Hi

    Kann leider nicht Testen. In meiner Theorie geht es so.

    Ich habe es mal für die Umschaltung der Szenennummer 10-13 ausgelegt das kann man natürlich noch anpassen.

    image.png​


    image.png​

    image.png

    image.png


    Gruss Oliver​​

    Einen Kommentar schreiben:


  • Janncsi
    antwortet
    Auch wenn der Thread schon alt ist, so habe ich nochmal eine neue Herausforderung und vielleicht habt ihr ja eine Idee, wie ich dies mit dem Logikmodul realisieren kann.

    Ich würde gerne Szenen durchschalten können mit einer Taster. So habe ich aktuell 4 Szenen auf einer Gruppenadresse und würde diese umlaufend gerne mit einem Taster aktivieren. Ich weiß, einige MDT Taster können dies mittlerweile direkt über die Applikation, aber ich nutze mehrere Enertex Meta² und würde dies gerne damit realisieren.

    Vielleicht hat ja jemand von euch eine Idee?!

    Einen Kommentar schreiben:

Lädt...
X