Ankündigung
Einklappen
Keine Ankündigung bisher.
OpenKNX-Logikmodul release
Einklappen
X
-
Das ist keine aktive Ausgabe durch ConfigTransfer, sondern kommt direkt von der ETS.Zitat von mumpf Beitrag anzeigenEPIX: Weiß ich nicht, wir geben einfach die Meldung der ETS aus, wenn ein Befehl nicht ausgeführt wird.
Was mich am meisten wundert, ist der Umstand, dass das beim Export auftritt. Dabei wird nur der Ergebnis-Parameter geschrieben
EPIX das Log weist nach erstem Überfliegen einen Zusammenhang mit Param-Assigns hin. Kannst Du mal mit einer KOPIE testen, ob das Phänomen nach einem Update auf die neuste Version immer noch auftritt?
LOG3.5 ist schon älter, mumpf evtl. gehört das zu denen die wir in der 4 entfernt hatten
Kommentar
-
EPIXich habe mir das Log noch mal genauer angesehen. Die Logikmodul-Standalone-Applikation ist schon die neuste. In sofern kommen wir da mit Update leider nicht weiter.
Die ETS-Version wäre hier auf jeden Fall interessant.
Funktionieren denn Import/Kanalkopie?
Tritt das Phänomen unabhängig vom gewählten Kanal auf?
Kannst Du uns Screenshots vom betroffenen Kanal bereitstellen?
Die Parameter im Log stammen auch alle aus dem Logik-Modul (Kanäle 1 bis 8, wenn ich das richtig gesehen habe. Die würden nicht gleichzeitig in der selben ConfigTransfer-Operation abgefragt):
mumpf kannst Du mit denen was anfangen?
1001446 = LOG_f1E1Convert
1001369 = LOG_f1E1ConvertFloat
1001133 = LOG_f1AnyInputActive
1001456 = LOG_f1E1InputDeltaOrAll
1001457 = LOG_f1E2InputDeltaOrAll
1001458 = LOG_f1OverviewDisplay
Kommentar
-
Sorry, bin an mehreren Baustellen beschäftigt....
ETS 5.7.7
neu gestartet - wird korrekt exportiert
Phänomen ist auf anderen Kanälen auch aufgetaucht
Aufgefallen ist mir das Ganze, weil eine Logik einfach nicht funktionieren will:
Das Ergebnis von Logik 7 sollte intern in Logik 8 verarbeitet werden (ich habe es aktuell auf "extern" den Wert zu Fehlersuche ebenfalls - hioer wird korrekt berechnet), aber aus dem Ausgang von Logik 8 kommt nix....
image.png
image.png
image.png
image.png
image.png
Logik 8 ------------------------------------------------------
image.png
image.png
image.png
image.png
image.png
EPIX
...und möge der Saft mit euch sein...
Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur
Kommentar
-
D.h. das ganze tritt/trat nicht reproduzierbar auf?Zitat von EPIX Beitrag anzeigenETS 5.7.7
neu gestartet - wird korrekt exportiert
Phänomen ist auf anderen Kanälen auch aufgetaucht
Bei Screenshots wäre es gut diese mit der Hervorhebung von nicht-Standardwerten durchzuführen.
Kommentar
-
Danke euch für die Hilfe und vor allem den Hinweis das das Zähler Modul mir hier nicht weiterhilft.
Bedeutet das, dass hier jede 10 Sekunden (jede Sekunde) der Wert auf den Speicher des μC gespeichert wird?Zitat von mumpf Beitrag anzeigenDer Zählerstand ist nicht persistent, weil ein Eingang, der sich auf ein weiteres KO bezieht, nicht gespeichert werden kann. Er wird also nach einem Neustart auf 0 gesetzt. Hier wäre es besser, Eingang 2 über eigenes KO 341 laufen zu lassen, mit der Einstellung "Wert speichern und nach dem Neustart als Vorbelegung nutzen" und dann den Ausgangswert "auf ein zusätzliches KO senden" lassen "Relatives KO -1 (341)".
So kann man dann auch jederzeit durch ein Senden einer 0 auf den Eingang 2 den Zählerstand zurücksetzen.
Vermutlich nicht förderlich für dessen Lebensdauer, oder?
Wenn ich "Wert speichern" nicht wähle, erfolgt das nicht, wird aber wieder zurückgesetzt, oder?
(würde mir reichen, da die Aufsummierung bei mir der GiraX1 schon übernimmt, auch bei reset)
mpl1337
Echt danke für deine Logik , werde ich mir morgen Abend einmal anschauen und testen
Kommentar
-
Er wird zwar jede Sekunde in den RAM geschrieben(und nicht vieles anderes...), aber in den "empfindlichen" Flash wird, wenn du es in der ETS nicht geändert hast, nur einmal pro Tag gespeichert.
Es erfolgt auch ein Schreibvorgang bei einem gewollen Neustart bzw. beim Übertragen der Applikation - aber das passiert ja nicht oft...
- Likes 1
Kommentar
-
Speicher ist nicht gleich Speicher. Wir schreiben alle Werte ins RAM, das ist flüchtig, aber dafür gedacht, beliebig oft beschrieben (und gelesen) zu werden - das passiert während des Normalbetriebs (auch wenn das Gerät "nichts" tut) sowieso immer sehr häufig.Zitat von LostWolf Beitrag anzeigenBedeutet das, dass hier jede 10 Sekunden (jede Sekunde) der Wert auf den Speicher des μC gespeichert wird?
Vermutlich nicht förderlich für dessen Lebensdauer, oder?
Du meinst wahrscheinlich den Flash-Speicher, in dem auch die Firmware und die ETS-Parameter liegen. Dieser ist nicht flüchtig und kann nur beliebig oft gelesen, aber nur ca. 100.000 mal beschrieben werden. Wenn ich von 10.000 manuellen Flash-Vorgängen ausgehe (Firmware-Updates, ETS-Programmierung) - wenn Du täglich einmal Proggen oder Flashen würdest, würde das >25 Jahre halten - dann bleiben noch 90.000 Zyklen für die automatischen Schreibvorgänge. Und die passieren nur so oft, wie Du es in der ETS unter "Erweitertes Speichern" einstellst und zusätzlich bei jedem Stromausfall (z.B. auch Busklemme abziehen) und vor jedem programmatischen Neustart (z.B. Gerät neu starten über den Bus, Gerät programmieren). Es passiert nicht beim drücken der Reset-Taste.
Erweitertes Schreiben ist bei den meisten OpenKNX-Geräten per Default aus (ich glaube SML macht es einmal täglich).
90.000 Schreibzyklen bei täglich schreiben würde immer noch für ca. 240 Jahre reichen, und selbst stündlich würde 10 Jahre halten - das würde ich allerdings nicht empfehlen. Das ist auch entsprechend in der Kontexthilfe beschrieben.
Ergo: Speichern eines Wertes im Logikmodul ist absolut gefahrlos möglich, es ist egal, ob das für einen oder für alle 99 Kanäle eingestellt wird.
Gruß, Waldemar
- Likes 3
Kommentar
-
ja, so ist es....Zitat von coko Beitrag anzeigenD.h. das ganze tritt/trat nicht reproduzierbar auf?
Sorry, mache ich beim nächten Mal....Zitat von coko Beitrag anzeigenBei Screenshots wäre es gut diese mit der Hervorhebung von nicht-Standardwerten durchzuführen.
Ich habe das Problem eingegrenzt:
die Logik 7 funktioniert tadellos - wenn ich den Ausgang Logik 7 über eine (Hilfs-)GA auf einen Eingang Logik 8 lege, passt alles - es wird der korrekte Wert der Logikberechnung 8 beim Ausgang 8 ausgegeben.
Wenn die Verknüpfung Logik 7-> Logik 8 über den internen Eingang erfolgt, dann wird kein Wert auf den Ausgang der Logik 8 ausgegeben...
Testweise habe ich Logik 8 kopiert(-> Logik 9) und nur den Externen Augang deaktiviert un dafür den Internen Eingang aktiviert...
In der Übersicht der internen Verknüpfungen ist IMHO alles korrekt:
image.png
Zuletzt geändert von EPIX; Gestern, 15:24.EPIX
...und möge der Saft mit euch sein...
Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur
Kommentar
-
Nochmals Danke für die Logik mpl1337
Ich habe das jetzt mal so testweise importiert und leicht angepasst:
image.png
image.png
Also nur alle 60 Sekunden und nur dann, wenn sich der Wert ändert ("nur geänderte Werte senden")
Jetzt beobachte ich hingegen, aber, wenn der Wert >0 ist, wird trotzdem jede 60 Sekunden auf den Bus gesendet:
image.png
Ist hier die Ursache der DPT?
Kommentar
-
Leider neinZitat von EPIX Beitrag anzeigenIn der Übersicht der internen Verknüpfungen ist IMHO alles korrekt:
.
Ich zitiere mal aus der Anleitung:
und im allgemeinen Teil:Bei internen Eingängen zeigt diese Spalte die Nummer des Kanals mit dessen Ausgang dieser Eingang verknüpft ist und wie dieser ermittelt wird. Beim Wert "absolut" erscheint ein Eingabefeld, in dem man die Kanalnummer des Kanals eingeben kann. Beim Wert "relativ" erscheint ein Eingabefeld, in dem man die Anzahl der Kanäle, um die man vor- oder zurückspringen will, angeben kann. Dahinter erscheint noch die Nummer des Kanals, bei dem man landet.
Nachzulesen hier: https://github.com/OpenKNX/OFM-Logic...n%C3%BCpfungenDas Logikmodul erlaubt 2 Arten von internen Verknüpfungen, damit Hilfswerte und Zwischenergebnisse von Kanal zu Kanal nicht über den Bus ausgetauscht werden müssen.
Die eine Möglichkeit der Verknüpfung, genannt Interner Eingang, erlaubt es, die internen Eingänge eines Kanals mit dem internen Ausgang eines anderen Kanals zu verbinden.
Du hast die KO-Nummer angegeben, das ist falsch. Bei internen Eingängen muss es die Kanal-Nummer sein.
Gruß, Waldemar
Kommentar
-
Ja klar, der Wert ändert sich ja auch.Zitat von LostWolf Beitrag anzeigenJetzt beobachte ich hingegen, aber, wenn der Wert >0 ist, wird trotzdem jede 60 Sekunden auf den Bus gesendet:
Ich würde die Ausgabe auf DPT13 stellen (mit dem richtigen DPT kWh) und dann nur bei geändert ausgeben, dann hast Du lange Ruhe
.
Gruß, WaldemarZuletzt geändert von mumpf; Gestern, 16:25.
Kommentar
-
Ich denke, es geht um den Ausgang vom 2. Kanal, der zyklisch sendet. LostWolf kritisiert wohl, dass 0.007 mehrfach gesendet wird, obwohl er eingestellt hat "nur geänderte Werte senden". Aber es geht natürlich nicht um die (gerundete) Darstellung der ETS, sondern um die Werte, und die sind z.B. 38 d9 53 05 (0.006666…) oder 38 dc 6c 65 (0.006966…). Sie unterscheiden sich somit.
Deswegen mein Vorschlag: Wert DPT 13.013 ausgeben, die Einheit ist kWh, dann ist der Wert korrekt. Und es dauert einige Zeit, bis sich die kWh-Werte ändern.
Gruß, Waldemar
Kommentar


Kommentar