15.08.2023 19:29 | |
Beigetreten: 23.09.2013 Letzter Bes: 11.05.2024 Beiträge: 45 Bewertung:
|
Hallo und guten Abend in die Runde, meine neue Heizung kann über ein Gateway den Energieverbrauch (Gas und Elektro) im KNX-Bus bereitstellen. Leider kommuniziert dieses Gateway nur die kumulierten Werte seit dem Start der Anlage. Das ist natürlich zur Visualisierung denkbar ungeeignet. Deshalb beabsichtige ich, die Energiewerte stündlich über das KNX-Modul CMK2000 in die LOGO! einzulesen und mir damit den Tagesverlauf des Energieverbrauchs zu berechnen. Soweit so gut. Das Gateway stellt den Energieverbrauch mittels KNX-Datenpunkt 13.013 als vorzeichenbehafteten 4Byte Wert zur Verfügung (Bild 1 in Anlage). Diesen Wert kann das KNX-Modul CMK2000 in einen Variablenspeicher, hier der VM 400 schreiben (Bild 2 in Anlage). In der LOGO! lese ich den 4Byte Wert (DWORD) dann in den einzelnen Bytes VM400, VM401, WM402 und VM403 über analoge Netzwerkeingänge aus. Zur Darstellung wird der entsprechende Byte-Wert in die Analogmerker AM3 bis AM6 geschrieben (Bild 3 in Anlage). Das funktioniert soweit auch. Zum besseren Verständnis habe ich verschiedene 4Byte Wert als KNX-Datenpunkt simuliert, und das Ergebnis über die Online-Funktion der LOGO! in den Analogmerkern dargestellt. Das Ergebnis findet ihr in der Wertetabelle (Bild4 in Anlage). Nun könnte ich ganz banal immer den ganzzahligen Wert im VM402 (AM5) weiterverarbeiten, aber spätestens nach einem Verbrauch von 32.768kWh funktioniert das nicht mehr. Meine Frage in die Runde: Wie bekomme ich den empfangenen 4Byte-Wert wieder in ein ganzzahliges Dezimal-Format, damit ich ihn in der LOGO! weiterverarbeiten kann? Mir gelingt es nicht, die angezeigten Werte in den Analogmerkern richtig zu interpretieren und den richtigen Algorithmus zu finden. Vorab schon mal vielen Dank für eure Hinweise. Viele Grüße Heiko DateianhangLOGO_KNX_kWh.pdf (141 Downloads) |
16.08.2023 18:56 | |
Beigetreten: 23.09.2013 Letzter Bes: 11.05.2024 Beiträge: 45 Bewertung:
|
Guten Abend ixo65, ich habe den Test mit nur zwei Netzwerkeingängen wiederholt, das Ergebnis (Wertetabelle) findest du in Anlage. Meine Erkenntnis. Bis zum Wert 32767 kann ich den Wert aus direkt auswerten, danach wird es kompliziert, da die LOGO! bis zum Wert 65535 mit negativen Werten wieder rückwärts "zählt". Viele Grüße Heiko DateianhangLOGO_KNX_kWh_1.pdf (94 Downloads) |
16.08.2023 19:11 | |
Beigetreten: 18.12.2014 Letzter Bes: 22.07.2024 Beiträge: 33388 Bewertung:
|
Nein, das lässt sich mit einer mathematischen Anweisung nicht hinbiegen. Weil die mathematische Anweisung den gleichen Wertebereich hat wie der analoge Netzwerkeingang. Wenn der eingelesene Wert größer 32.767 ist, wird der Wert ins negative gewandelt. Du kannst mit der mathematischen Anweisung also nichts addieren. Du kannst den Wert nur über Weg der Parameter-VM-Zuordnung in den Zählerstand eines Vor-/Rückwärtszählers schreiben. Dann kannst du den Wert wenigstens anzeigen, solange er unter 999.999 bleibt. Schau dir mal dies Thema an: Daten aus Fronius GEN 24 mit Logo 8.3 auslesen |
Für diesen Beitrag bedanken sich
1 Benutzer |
Folgen Sie uns auf