Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

OpenKNX-Logikmodul release

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

  • stonie2oo4
    antwortet
    Das hab ich auch grad gefunden, aber trotzdem vielen herzlichen Dank.
    Die letzten 3 Bits von dem Byte für die Stunde sind der Wochentag .
    Bin grad am ändern, sollte dann lüppen .

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Hier müsste das im Detail beschrieben sein.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Ich hab mich jetzt dem Thema mit der Zeit noch mal angenommen.
    Also Datum zerlegen hat eigentlich (nach paar anfänglichen Verständnisproblemen) problemlos funktioniert, nur beim Jahr hab ich mich verhauen, da will meine BWWP 2023 anstatt 23 . Aber noch fix ne Addition fürs Millennium eingefügt, dann hat das gepasst . Ansonsten muss man halt bissel hin und her schieben für den Wert vom mittleren Byte .

    Bei der Uhrzeit sind auch die Minuten kein Problem (Sekunden theoretisch auch, aber die brauch ich nicht) . Bloß bei der Stunde komm ich nicht dahinter was in dem Byte drin ist.
    Die Uhrzeit sowie das Datum sind ja jeweils 3 Byte. Beim Datum ist jedes Byte jeweils Monat, Jahr und Tag.
    Bei der Uhrzeit dachte ich es genauso (bzw. Minuten und Sekunden passen auch), aber ich bekomme beim Byte für Stunden jetzt z.B. für 23 Uhr = b7 (Hex).
    Das währen Dezimal 183. Also wären das 160 zu viel.
    Ich versteh einfach nicht wo die herkommen, oder was die zu bedeuten haben. Wenn es konstant 160 wären, könnte ichs ja einfach raus rechnen.

    Weiß das zufällig jemand?

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Nachtrag: Ich habe nochmal nachgeschaut, die Logik-Eingänge können auch DPT232, das ist 3 Byte. Damit könntest Du also auch die Uhrzeit empfangen und über Bitoperationen die Zeit auf ein KO mit DPT7 schicken.
    Darf ich hier nochmal nachfragen wie das ganze im Detail funktionieren würde?

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Hallo,

    ich habe heute auch mal eine Logik gebaut und wolle die hier kurz vorstellen. Vielleicht braucht das jemand oder es gibt bessere Lösungen für das Thema.

    Aufgabe:
    Aus einem DPT1 (Schalten) mit "EIN" (Trigger) ein Umschalten einer zweiten GA zu erreichen.

    Ausgangslage:
    Ich habe einen (älteren) 230V Binäreingang, nur "EIN" und "AUS" je nach Objektwert senden kann. Man kann noch festlegen, ob das "EIN" oder "AUS" auch gesendet wird. Der Kanal des BE ist so konfiguriert:
    image.png
    ​Somit bekomme ich beim Schließen des Tasters immer ein "EIN" auf dem Bus.

    Die Logik habe ich folgendermaßen gebaut:

    Eingang 1: Triggersignal des BE
    Eingang 2: Status-GA des Kanals des Schaltaktors
    Logikoperation: UND (Trigger und invertierter Status des Schaltaktorausgangs)
    Logik-Trigger: nur bei Eingang 1

    image.png

    Eingang 1:
    image.png

    Eingang 2:
    image.png

    Ausgang:
    image.png

    Gern kommentieren.

    Beste Grüße​​

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Die Leistungen bewegen sich so im hunderter bis tausender Bereich. Wenn Herd oder so an gehts mal bissel hoch, aber die Leistungen sind alle unter 10k.
    Einzig die PV geht mal Richtung 20k.
    Hier mal der Mitschnitt vom Gruppenmonitor. Das Ergebnis passt oft richtig gut, aber manchmal ist es einfach daneben. Echt komisch, ich hätte es verstanden wenn die Abweichung hinterm Komma wäre, das mal vom Runden ein bisschen auseinander läuft aber zum Teil ist die Ungenauigkeit ja im Watt Bereich.
    Hab da aber ehrlich gesagt auch nicht wirklich Ahnung davon um das beurteilen zu können, eher ein Bauchgefühl.


    Ich hab mal die Ergebnisse die nicht passen rot markiert.

    Gruppenmonitormitschnitt.jpg

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von stonie2oo4 Beitrag anzeigen
    Das rechnen scheint soweit zu funktionieren, aber ich bin immer ein bisschen daneben beim Ergebnis der ersten Logik. Das variiert von 0 Komma bis zu ein paar Watt.
    Ja, das ist erwartungskonform. Hängt vom DPT ab, wie genau eine Zahl dargestellt werden kann. DPT9 ist z.B. wesentlich ungenauer als DPT14. Aber selbst bei DPT14 ist, gibt es keine Möglichkeit, eine exakte Fließkomma-Repräsentation zu bekommen.
    Versuch mal, DPT14.056 im Gruppenmonitor zu senden, z.B. den Wert 34544566. Gesendet wird dann in Wirklichkeit 34544570.
    Allerdings wirst Du nicht mit so großen Zahlen arbeiten, oder?

    Schick doch mal ein Gruppenmonitor-Mitschnitt...

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Also der Tipp die Berechnung erst mal mit mehreren KO's zu machen war Gold wert. Hatte nämlich noch paar kleinere Fehler drin .
    Das rechnen scheint soweit zu funktionieren, aber ich bin immer ein bisschen daneben beim Ergebnis der ersten Logik. Das variiert von 0 Komma bis zu ein paar Watt.

    Bei den nachfolgenden Logiken hab ich bis jetzt nur den weiteren Leistungswert aktiv, also noch nicht das Ergebnis der vorhergehenden Logik verknüpft, hier ist das Ergebnis absolut korrekt. Wobei er da ja auch mit nix (0?) addiert.

    Als Logikoperation hab ich ODER gewählt und das bei jedem Telegramm der Wert gesendet wird. DPT = 14.

    Ist es möglich das hier was bei der Berechnung schief geht, oder hab ich etwas vergessen zu beachten?

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Vielen Dank .
    Echt der Hammer was so alles geht.
    Ich werd es (hoffentlich) morgen mal testen.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi Ben,

    zu Deinem Summen-Problem: Löse das erstmal klassisch mit GA an jedem KO, bis Du sicher bist, dass es korrekt funktioniert:
    • Logik 1: Modbus 1 + Modbus 2 = Modbus A
    • Logik 2: Modbus 3 + Modbus A = Modbus B
    • Logik 3: Modbus 4 + Modbus B = Modbus C
    • Logik 4: Modbus 5 + Modbus C = Modbus D
    • Logik 5: Modbus 6 + Modbus D = Modbus E
    • Logik 6: Modbus 7 + Modbus E = Modbus F
    Modbus F ist dann die gewünschte Summe. Und wenn das dann so weit funktioniert, wie Du es wünscht, dann kann man die KO intern verknüpfen und sich die jeweiligen GA für Modbus A-E sparen.

    Zu Deinem 2. Problem: Intern ist das Logikmodul durchaus in der Lage, Bitoperationen zu machen und damit einen Binärwert zu "zerbröseln", wie Du es sagst. Technisch wird das dadurch verhindert, dass derzeit nur 1, 2 und 4 Byte als Eingang funktionieren, Zeit ist aber 3 Byte.

    Alternative Idee: Löse das mit Zeitschaltuhren.
    Trivial: 24 Zeitschaltuhren, die jede Stunde das Stundensignal senden, das Minutensignal ist ja immer 0.
    Besser (weil weniger Logikkanäle): Du machst einen Zähler, der jede Stunde von einer Zeitschaltuhr getriggert wird und seinen Wert um 1 erhöht (und dann sendet). Um Mitternacht wird der Zählerwert auf 0 gesetzt und gesendet.

    Gruß, Waldemar

    Nachtrag: Ich habe nochmal nachgeschaut, die Logik-Eingänge können auch DPT232, das ist 3 Byte. Damit könntest Du also auch die Uhrzeit empfangen und über Bitoperationen die Zeit auf ein KO mit DPT7 schicken.

    Einen Kommentar schreiben:


  • stonie2oo4
    antwortet
    Ich hätte da 2 Problemchen und frage mich ob sich das mit dem Logikmodul lösen lässt.

    Erstens:
    Ich hab hier 7 Modbuszähler deren Werte ich auf den KNX schreibe ( Erdgeschoss, Obergeschoss, Keller, PV, usw.). Nun würd ich mir gern eine PV-Überschuss-Logik bauen. Also erstmal alle Leistungen addieren und dann sieht man ja anhand vom Vorzeichen ob Überschuss da ist oder nicht.
    Das wäre ein KO.
    Ich hab das probiert, aber die Problematik die ich habe, ich weiß nicht ob ich interne KOs addieren kann?
    Also pro Logik hab ich ja 2 Eingänge und ich weiß nicht wenn ich es intern weiterreiche ob ich damit dann rechnen kann. Ich hab 4 Logikblöcke mit Oder erstellt und nur der letzte hat am Ausgang die Rechenoperation. Muss ich da über 4 „Dummy-KOs“ gehen?
    Wollte ich eigentlich wenn möglich vermeiden, oder hab ich nur mal wieder nen Denkfehler? 😅

    Und im zweiten Schritt würde ich gern ein KO erstellen mit 0/1, welches 1 wird sobald Überschuss vorhanden ist.


    Mein zweites Problem:
    Unsere neue BWWP sendet per Modbus die Systemzeit auf den Bus, bzw. kann man sie darüber auch setzen. Nun ist mir aufgefallen, aus welchem Grund auch immer, läuft die Zeit ziemlich davon.
    Ich würde diese gerne stündlich mit der Zeit vom Bus synchronisieren.
    Leider hat die BWWP jeweils ein KO für Stunden und Minuten in DPT7.
    Lässt sich die KNX Zeit DPT10 mit dem Logikmodul so zerbröseln das ich eben wie ich es bräuchte 2 extra KOs für Stunden und Minuten rausbekomme?
    Zuletzt geändert von stonie2oo4; 20.08.2023, 13:53.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von mgeramb Beitrag anzeigen
    Ich wollte dir schon zustimmen, habe jetzt meinen Anwendungsfall nochmal geprüft. Da wären 2 Kanalausgänge und ein Eingang mit eben so einem Flip-Flop zu verschalten, mit deinem Ansatz muss ich die Ausgänge alle auf den Bus schicken obwohl ich sie nicht wirklich dort brauche.
    Hm, wenn Du das brauchst, dann ist das so. Dafür eine "sinnlose" Logik zu programmieren nur um ein paar Telegramme zu vermeiden halte ich nicht wirklich für erstrebenswert.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mgeramb
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Dazu kann ich schon jetzt was sagen: Bei Zeitschaltuhren gibt es keine Eingänge! Der Grund ist ganz einfach... die Definition der Schaltzeiten liegt exakt im gleichen Speicherbereich, in den die definitionen für die Eingänge liegen (Memory-Overlay).
    Na ja, auch gut, dann weiß ich wenigsten dass ich keinen Speicher unnötig verbrate wenn ich eine Zusätzliche Logik dahinter hänge

    Einen Kommentar schreiben:


  • mgeramb
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Da musste ich grinsen, das geht natürlich schon.
    Ich wollte dir schon zustimmen, habe jetzt meinen Anwendungsfall nochmal geprüft. Da wären 2 Kanalausgänge und ein Eingang mit eben so einem Flip-Flop zu verschalten, mit deinem Ansatz muss ich die Ausgänge alle auf den Bus schicken obwohl ich sie nicht wirklich dort brauche. Ich könnte natürlich auch wieder mit dem K-Flag das verhindern, habs aktuell aber ohnedies schon über eine zusätzliche Logik gebaut.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von mgeramb Beitrag anzeigen
    - Flip-Flop bei dem jeder Eingang Ein- bzw. Aus- Schalten kann, sprich das letzte Telegram entscheidet ob ein- oder ausgeschalten wird
    Da musste ich grinsen, das geht natürlich schon. Nimm eine Logik mit einem Eingang und verbinde 2 GA mit diesem Eingang. Jede GA kann einschalten, jede auch ausschalten. Oder anders gesagt: Das ist das Standardverhalten von KNX .

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X