Und noch eine Aufgabe an euch.
Ich möchte einen Temperaturmittelwert der letzten 24 Stunden berechnen.
wie verhalten sich die Variablen im Logikeditor nach erneuten Ausführen des scripts? Bleiben die Werte aus der letzten Ausführung erhalten?
Das Script würde ich einfach zyklisch ausführen lassen mit wait.
Die Berechnung des Mittelwerts darf natürlich erst erfolgen wenn 24 Werte aufgenommen wurden, hier brauche ich also noch eine Zählvariable...
Wie könnte denn die Logik dabei aussehen?
Die Grundinitialisierung des Durchschnittswertes kann ich ja nicht in diesem Script machen, muss ich also in einem Anderen Script machen das nach Boot nur einmal ausgeführt wird?
Grüße Christian
Ankündigung
Einklappen
Keine Ankündigung bisher.
Busch-Jaeger ControlTouch 6136/APP
Einklappen
X
-
Du könntest es vielleicht mit ein Skript machen. Ich habe mal was aufgeschrieben aber nicht getestet:
$SOLLWERTVERSCHIEBUNG = BYTE(127/SollwertverschiebungRTR)
IF $SOLLWERTVERSCHIEBUNG<6 & $SOLLWERTVERSCHIEBUNG>-6
SET BYTE(126/Verschiebung status) TO $SOLLWERTVERSCHIEBUNG
ELSE
BEGIN
$SOLLWERTVERSCHIEBUNG = $SOLLWERTVERSCHIEBUNG-1
SET BYTE(126/Verschiebung status) TO $SOLLWERTVERSCHIEBUNG
END
IF $SOLLWERTVERSCHIEBUNG=-6
BEGIN
$SOLLWERTVERSCHIEBUNG = $SOLLWERTVERSCHIEBUNG+1
SET BYTE(126/Verschiebung status) TO $SOLLWERTVERSCHIEBUNG
END
Du brauchst dann noch ein Auslöser die bei jeder Änderung von den Verschiebung, diesen Skript startet.
Einen Kommentar schreiben:
-
Wenn ich den Sollwert direkt verändere, dann muss ich ja den Basis-Sollwert verändern und den müsste ich dann mit dem aktuellen Sollwert als Status aktualisieren. Das funktioniert dann aber im Standby-betrieb schon nicht mehr, weil sich da die beiden Werte aufgrund der Absenkung anders zueinander verhalten. Deswegen ist die Sollwertverschiebung prinzipiell schon das Richtige, da betriebsartenübergreifend.
Aber das mit dem ungültigen Bereich stimmt schon, allerdings wäre es hier auch gut, wenn im ControlTouch der Verstellbereich genauso eingestellt werden kann, wie im Heizungsaktor bzw. Regler. Genauso sollte der Aktor auch ein Statusobjekt schicken, der den Status nur im gültigen Bereich sendet.
Tut der mdt aber nicht, habe ich dort aber grade empfohlen für zukünftige Applikationenaus genau diesem Grund.
Das andere Problem, beim CT kann ich zwar Temperatur Min und Max für die Verstellung einstellen, aber nur absolut-Werte. Hier wäre es eigentlich richtig, wenn man wie im Regler den Verstell-BEREICH einstellen könnte , sprich +/-3K als Beispiel.
Die Absolutwerte bringen für die Sollwertverschiebung nichts, weil der Bereich ja zum eingestellten Basis-Sollwert passen muss und der Wert ist aber variabel.
Das würde bedeuten, in der aktuellen Konstellation lässt sich nicht vermeiden, dass die Sollwertverschiebung ständig auf 0 springt oder in den ungültigen Bereich gehen kann und der Kunde dann nicht mehr versteht, warum er drückt und nichts passiert.
Gibt´s da noch Lösungsvorschläge seitens BJ ?
Einen Kommentar schreiben:
-
Kannst du bei diesen Heizungsaktor nicht den Sollwert direkt schicken? Weil das geht auch, dann muss man das Verschiebungsobjekt lehr lassen.
Normal ist es so das man ein gewünschte Verschiebung an den Master schickst und diese bestätigt diese dann durch den gleichen Wert wieder zurück zu schicken.
So man kann es versuchen, aber man kann dann in ein Bereich kommen die nicht mehr unterstützt wird vom Aktor.
Einen Kommentar schreiben:
-
Funktioniert das, wenn ich die gesendete GA als Status eintrage ?
Der Heizungsaktor hat wohl kein Statusobjekt für Sollwertverschiebung
Einen Kommentar schreiben:
-
Das Problem ist das er dann keine Bestätigung bekommen hat vom Master-gerät das der neuer Wert übernommen worden ist.
Einen Kommentar schreiben:
-
So ich häng mich hier mal dran, weil ich sehe, das BJ mitschreibt, denn vom Support kam bislang keine Rückmeldung
Ich habe ein BJ Control Touch 6136/App programmiert und dabei die Sollwertverschiebung benützt.
Bei der Inbetriebnahme habe ich jedoch festgestellt, dass hier ein sehr ungünstiges Verhalten auftritt.
Sollwertverschiebung ist ja ein 8-bit Objekt im Wertebereich von-127 bis +127. Durch das Plus auf der Bedienoberfläche wird um eins erhöht durch das Minus um eins verringert. Funktioniert alles soweit, aber nur wenn man die Tasten direkt hintereinander drückt. Macht man eine Pause von ein paar Sekunden, so fängt das CT wieder von 0 aus an zu zählen. D.h. wenn ich auf +6 hochgedrückt habe und eine kurze Pause mache, dann schickt das CT beim nächsten Drücken eine +1 oder -1 , je nachdem, was gedrückt wurde, richtig wäre aber entweder +7 oder +5.
Heißt dann, ich habe in 0,5K – Schritten die Solltemperatur von 21 auf 24 Grad erhöht und wenn ich nach einer kurzen Pause wieder auf + drücke , sendet mir das CT wieder eine +1 auf die Sollwertverschiebung und die Soll-Temperatur geht auf 21,5 ° , obwohl ich von 24° aus auf + gedrückt habe.
Ist für mich unverständlich und mir stellt sich die Frage, wie man hier Abhilfe schaffen kann.
Oder vielleicht auch, ob man überhaupt Abhilfe schaffen kann.
Hat das schonmal jemand umgesetzt ?
Einen Kommentar schreiben:
-
Okay dachte ich mir schon, wäre schön wenn man das bei der GA Deklaration einfach vorgeben könnte.
Einen Kommentar schreiben:
-
Du kannst ein Skript bauen wo drin alle Variablen gesetzt werden (SET....TO....). Mit ein Auslöser diese dann starten. Beim Auslöser kann man angeben dass er einmal ausgelöst wird bei ein Neustart.
Einen Kommentar schreiben:
-
Hallo nochmal,
Ich nutze das Teil auch als Sender von Variablen das heist bei manchen GA gibt es auf dem Knx nur Empfänger.
viel kann ich denn Variablen nach einem Neustart mit einem Wert initialisieren und werden diese irgendwie remantent gespeichert?
Grüße Christian
Einen Kommentar schreiben:
-
Hallo ich habe immer noch Probleme mit den UPnP Geräten, mal lassen sie sich ansteuern nach Änderungen oder hinzufügen von anderen Objekten wieder nicht, auch nach lokalem neu laden nicht!
Nachdem ich das UPnP einfach komplett neu angelegt habe geht es wieder, ergänze ich etwas anderes geht das erste wieder nicht?
Desweiteren sehe ich Geräte in der Projektumgebung die lokal gar nicht mehr im Netzwerk vorhanden sind.
Ich hatte den Beoplay einmal in schwarz zum ausprobieren dieser ist ersetzt und mit einem anderen Namen bezeichnet worden, ich sehe aber alle drei immer noch!
.
Wie könnte man dieses aktualisieren?
Aufnahme12.png
Gibt es dazu Hilfestellungen oder Erfahrungen?
Vielen Dank
Einen Kommentar schreiben:
-
Diese Aktion triggered die Berechnung. Wenn man darauf drückt werden de Stichen gerade und dann wird diese Aktion die Berechnung nicht starten. Das macht natürlich nur sin wenn man mehrere Aktionen (GAs) hat.Zuletzt geändert von jagerp; 09.06.2018, 07:28.
Einen Kommentar schreiben:
-
Ich habe nochmal eine Frage:
für was bewirken die rot eingekreisten Einstellungen? Das wurde nirgends richtig erwähnt...Angehängte Dateien
Einen Kommentar schreiben:
-
Läuft jetzt, hatte noch den Objekttyp in den Gruppenadressen falsch eingestellt.
Einen Kommentar schreiben:
-
Sorry- ne natürlich kenne ich mich damit nicht aus - habe das einfach mathematisch gesehen.Zitat von ets3-user Beitrag anzeigen
Kennst du dich damit aus? Ich glaube nicht. Die 309/Gesamtwirkleistung beschriebt die Gruppenadresse, da wird nix geteilt... Deswegen steht das auch mit den 4BYTE() in Klammern, das macht der Editor so.
Viel Erfolg
Florian
Einen Kommentar schreiben:


Einen Kommentar schreiben: