ks300 min max werte speichern

Programmierung der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Benutzeravatar
fighterzg6
Beiträge: 101
Registriert: 21.10.2009, 07:30
Kontaktdaten:

ks300 min max werte speichern

Beitrag von fighterzg6 » 18.10.2010, 09:27

hallo,

gibt es eine möglichkeit das man die min und max temperaturen von der ks300 speichern und anzeigen kann?

mfg ingo

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: ks300 min max werte speichern

Beitrag von buempi » 18.10.2010, 12:20

Hallo Ingo

Du aktivierst bei deinem Objekt KS300_Temp "Ausführen bei Empfang" und stellst zusätzlich den Ausführungsintervall auf "bei Tageswechsel". Dann trägst du folgendes Makro ein:

Code: Alles auswählen

** Variablen:  MaxTemp,        Typ Zahl, Startwert -100,0
**             MinTemp,        Typ Zahl, Startwert 100,0
**             MaxZeit,        Typ Zeichen
**             MinZeit,        Typ Zeichen
**             SummeTemp,      Typ Zahl, Startwert 0,0
**             MittelwertTemp, Typ Zahl, Startwert 0,0
**             X,              Typ Zahl, Startwert 0

** KS300_Temp überall mit dem Namen deines Temperatur-Sensors ersetzen!

Laden("KS300_Temp.MinZeit")
Laden("KS300_Temp.MinTemp")
Laden("KS300_Temp.MaxZeit")
Laden("KS300_Temp.MaxTemp")
Laden("KS300_Temp.SummeTemp")
Laden("KS300_Temp.X")

wenn KS300_Temp > MaxTemp dann
   MaxTemp := KS300_Temp
   MaxZeit := Uhrzeit
endewenn

wenn KS300_Temp < MinTemp dann
   MinTemp := KS300_Temp
   MinZeit := Uhrzeit
endewenn

X := X+1
SummeTemp := SummeTemp + KS300_Temp
MittelwertTemp := SummeTemp / x

wenn Uhrzeit = "00:00:00" dann
   X := 0
   SummeTemp := 0,0
   MittelwertTemp := KS300_Temp
   MaxTemp := KS300_Temp
   MinTemp := KS300_Temp
   MaxZeit := "00:00:00"
   MinZeit := "00:00:00"
endewenn

** Temperaturen ist ein Objekt vom Typ Zeichen, welches du in der benötigsten Höhe und Breite
** in deine Visualisierung aufnimmst
Temperaturen := "Min: " + MinZeit + "/" + MinTemp + "<<Max: " + MaxZeit + "/" + MaxTemp + "<<Mittel: " + MittelwertTemp

Sichern("KS300_Temp.MinZeit")
Sichern("KS300_Temp.MinTemp")
Sichern("KS300_Temp.MaxZeit")
Sichern("KS300_Temp.MaxTemp")
Sichern("KS300_Temp.SummeTemp")
Sichern("KS300_Temp.X")
Viele Grüsse
Bümpi

Benutzeravatar
fighterzg6
Beiträge: 101
Registriert: 21.10.2009, 07:30
Kontaktdaten:

Re: ks300 min max werte speichern

Beitrag von fighterzg6 » 18.10.2010, 13:27

danke vielmals! wird gleich ausprobiert

Benutzeravatar
fighterzg6
Beiträge: 101
Registriert: 21.10.2009, 07:30
Kontaktdaten:

Re: ks300 min max werte speichern

Beitrag von fighterzg6 » 18.10.2010, 14:54

läuft super,

vielen dank buempi!!!!!

mfg Ingo

sickboy2711
Beiträge: 250
Registriert: 12.11.2011, 16:58
System: CCU
Wohnort: Schweiz
Hat sich bedankt: 25 Mal
Danksagung erhalten: 6 Mal

Re: ks300 min max werte speichern

Beitrag von sickboy2711 » 19.12.2011, 19:30

Hallo buempi

Ich habe gerade dein Macro ausprobiert, gedoch bekomme ich beim Übertagen eine Fehlermeldung:
Syntaxfehler in Zeile:** Variablen: MaxTemp, Typ Zahl, Startwert -100,0
Ausdruck: VARIABLEN
Daraufhin habe ich die ** durch // ausgetauscht um diese Zeilen auszukommentieren. Dann erhalte ich folgende Fehlermeldung:
Syntaxfehler in Zeile:Laden("Aussentemperatur.MinZeit")
Ausdruck LADEN
Benötige ich diese Teile des Macros ebenfalls nicht und muss ich diese auch auskommentieren?

Danke und Gruss

Denni

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: ks300 min max werte speichern

Beitrag von buempi » 20.12.2011, 10:03

Hallo Denni

Das obige Beispiel ist für Homeputer FHZ; da ist die Syntax etwas anders. In Homeputer CL musst du bei allen Kommentar-Zeilen ** durch // ersetzen.

Ausserdem gibt es die Anweisungen LADEN() und SICHERN() in Homeputer CL nicht. Auch diese Zeilen musst du alle mit // auskommentieren oder löschen.

Mit SICHERN() werden in Homeputer FHZ die betreffenden Werte in eine Datei auf der Festplatte geschrieben und mit LADEN() wieder eingelesen. Das dient dazu, dass bei einem Neustart der Anwendung die Minima und Maxima des bisherigen Tagesverlaufs erhalten bleiben; die Auswertung also nicht bei "Null" startet.

In Homeputer CL kann man das über LÖSCHEDATEI() + SCHREIBEDATEI() anstelle von SICHERN() und LESEWERTEDATEI() anstelle von LADEN() auch erreichen; ist aber einiges aufwändiger. Neuerdings gibt es jedoch die Möglichkeit, ALLE Zustände und Werte beim (ordentlichen) Beenden der ExecEngine zu speichern und beim Start wieder einzulesen. Das funktioniert beim Übertragen eines geänderten Projektes richtig. Nicht aber, wenn die CCU gebootet wird, und wahrscheinlich auch nicht, wenn die Homeputer-Software auf der CCU aktualisiert wird. In solchen Fällen (ausserordentliches Beenden der ExecEngine auf der CCU) also die Ausführung auf der CCU vorher vom PC aus über ExecEngineWin.exe beenden.

Ich empfehle dir, auf die aktuelle Homeputer-CL-Version zu updaten (Update der CCU nicht vergessen!) und dann über "Konfigurieren -> Einstellungen -> Allgemein" die entsprechende Option zu aktivieren.

Viele Grüsse
Bümpi

sickboy2711
Beiträge: 250
Registriert: 12.11.2011, 16:58
System: CCU
Wohnort: Schweiz
Hat sich bedankt: 25 Mal
Danksagung erhalten: 6 Mal

Re: ks300 min max werte speichern

Beitrag von sickboy2711 » 20.12.2011, 10:59

Super das auskommentieren mit // hat funktioniert danke.

Wenn ich aber die Anweisung SICHERN anstelle von SCHREIBEDATEI einsetze bekomme ich wieder den Syntaxfehler.

Gruss

Deni

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: ks300 min max werte speichern

Beitrag von buempi » 20.12.2011, 11:22

sickboy2711 hat geschrieben:Wenn ich aber die Anweisung SICHERN anstelle von SCHREIBEDATEI einsetze bekomme ich wieder den Syntaxfehler.
... du solltest vielleicht meinen Beitrag nochmals lesen! SICHERN() gibt es nicht in Homeputer CL und SCHREIBENDATEI() kann man in Verbindung mit LÖSCHEDATEI() und LESEWERTEDATEI() verwenden; ist aber viel komplizierter: http://homematic-forum.de/forum/viewtop ... 894#p24894

Deshalb die neue Möglichkeit zum Sichern ALLER Werte verwenden!

Viele Grüsse
Bümpi

sickboy2711
Beiträge: 250
Registriert: 12.11.2011, 16:58
System: CCU
Wohnort: Schweiz
Hat sich bedankt: 25 Mal
Danksagung erhalten: 6 Mal

Re: ks300 min max werte speichern

Beitrag von sickboy2711 » 20.12.2011, 12:00

Aha, OK ich dachte wenn ich "SICHERN" mit SCHREIBEDATEI" austausche wärs getan, aber wie gesagt, die einfachere Möglichkeit und das auskommentieren die du beschrieben hast funktioniert.

Danke noch mal

sickboy2711
Beiträge: 250
Registriert: 12.11.2011, 16:58
System: CCU
Wohnort: Schweiz
Hat sich bedankt: 25 Mal
Danksagung erhalten: 6 Mal

Re: ks300 min max werte speichern

Beitrag von sickboy2711 » 20.12.2011, 19:10

Ciao Buempi

Gibt es auch die Möglichkeit diese Daten bei Tageswechsel zu loggen

Z.B.Durch eim Macro Log_Aussentemperatur mit folgendem Inhalt:

Code: Alles auswählen

Zeile := Datum + " Temperatur_aussen "
Schreibedatei("Aussentemperaturen.txt",Zeile,2)
Leider bekomme ich beim èbertragen eine Fehlermeldung

Antworten

Zurück zu „homeputer Studio / Standard: Programmierbeispiele“