Super,
werde es gleich heute nacht zum Testen einbauen!
Danke
MIKE
Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - HS gleitende Maximalwerte im Zeitintervall, über Archiv?
Einklappen
X
-
So, der Baustein ist zum Testen bereit. Der letzte Ausgang (Aufrufe) ist ein debugging Ausgang der bei der definitiven version verschwinden wird. Reset für absolut und gleitende Werte sind separat vorhanden.
Viel Spass,
GastonAngehängte Dateien
Einen Kommentar schreiben:
-
Hallo Gaston,
Wow,
das klingt super gut!
Dachte schon ich müsste mir über IP-Telegramme senden/empfangen und ein Progrämmelchen auf dem PC eine Krücke bauen.
Vielen Dank schonmal vorab!
MIKE
Einen Kommentar schreiben:
-
Wollte nur mal zwischendurch ankündigen dass ich einen entsprechenden Baustein gerade entwickele. Werde Ihne wohl morgen zur Verfügung stellen.
Was der Baustein Macht:
Eingänge:- Wert
- Zeitfenster (Minuten)
- Präzision (Sekunden)
- Flags
- Min/Max gleitend
- Min/Max Absolut
Die Absolutausgänge bilden die min/max Werte über den ganzen Zeitraum (wird wohl noch ein reset hinzu kommen). Die Gleitende min/max bilden den Min/Max wert über das Zeitfenster in Minuten (360 für 6 Stunden).
Die Präzision gibt an in welchem Rythmus das Zeitfenster rückt. Dafür ist wichtig dass sich der Wert in Sekunden des Zeitfensters ein multiple von der Präzision ist. Ansonsten wird das Zeitfenster automatisch erweitert.
Beispiel:
Zeitfenster: 5 Minuten
Präzision: 60 Sekunden
Bedeutet: Die gleitende Werte werden über die letzten 5 Minuten +/- 60 Sekunden gebildet. Bedeutet soviel dass wenn das Modul 6 Minuten gelaufen ist vergisst es die erste Minute und somit ist der Gleitende Wert wieder der der letzen 5 Minuten, etc...
Die Präzision ist nötig um zu vermeiden dass der Speicherbedarf des Moduls unübersichtlich wird weil die Werte in einem Feld gespeichert werden müssen (Im Beispiel oben 5 Werte).
Der Baustein wacht darüber dass die Werte Plausibel und nicht zu gross sind. Er erlaubt maximal 1000 Werte im Feld (Willsagen Zeitfenster*60/Präzision<=1000). Ausserdem wird zumindets die erste Version eine dynamische Umstellung der Zeitwerte nicht unterstützen.
Flags: Im Moment nur ein (Bit 0), wenn gesetzt geht der Baustein davon aus dass ein richtiger Wert bereits bei der Initialisierung des HS anliegt (z.B. Gescannter Wert und/oder Remanentspeicher). Ist das Bit nicht gesetzt beginnt der Baustein erst zu Arbeiten wenn der erste Wert am Eingang eintrifft.
Tritt ein Fehler auf (nicht kohärente Zeitangaben (z.B. Präzision>Zeitfenster, oder negativ oder mehr als 1000 Werte ergibt). Gibt der Baustein an allen Ausgängen eine nagative Fehlernummer aus und arbeitet nicht.
Gruss,
Gaston
Einen Kommentar schreiben:
-
Ich glaube mit dem Baustein von Thilo ist nur "normales" Berechnen von Extrema möglich, also Intervall startet, Baustein läuft und ermittelt werde ab Intervallbeginn.
Ich möchte jedoch ein Intervall, der über die Zeit gleitet, quasi ein Zeitfenster in dem die Extrema gefunden werden.
Da ich bisher zu der Idee mit dem Archiv nix gehört hab, gehe ich mal davon aus, dass das eine Sackgasse ist. Wobei das eigentlich genau das ist was ich brauche, nämlich ein Automatismus, der in einem festen Zeitrahmen Werte aufzeichnet, ist der Zeitrahmen überschritten werden alte Werte gelöscht um Platz für die neuen zu machen...
Was ich allerdings darauf aufsetzend btauche ist nicht die Diagrammgenerierung, sondern die die dort sicher implementierte suche für die Exrema. NUr leider ist das funktional und zugriffstechnisch ja nicht offengelegt, oder hab ich was übersehen?
Einen Kommentar schreiben:
-
Einen Kommentar schreiben:
-
hallo mike,
schau mal bei tilo, ich glaube der hat dafür einen baustein.
bei mir zeigt allerdings seine seite derzeit ein 404 an.
Einen Kommentar schreiben:
-
Hmmm, bei den Quellwerten kann es sich aber um rein zufällige, sprich funktional unabhängige Werte handeln. z.B. Windgeschwindigkeit.
Da kann in einem Intervall von z.B. 6 Stunden der Wert an der ältesten Intervallgrenze der höchste sein. Schreitet das Intervall um ein paar Minuten voran dann ist das Maximum vielleicht irgendwo in der Mitte des Intervalles, oder ganz am Anfang oder zufällig immer noch am Ende... Ich müsste also a.) die gemerkten Werte voranschreiten lassen (der hinten letzte fällt raus, der neue kommt vorne dazu, also eine klassische Warteschlange) und dann den Maximalwert unter allen vorhandenen ermitteln.
Wie gesagt den ersten Zeil derledigt ein Archiv im HS. Bloß komm ich nicht an die Daten, genauer an den Maximalwert dran. Schätze wenn ich ein Diagramm basierend auf dem Archiv anlege, dass nur einen Datenpunkt hat und als Kurven einmal das Minimum und einmal das Maximum angebe habe ich geua was ich will, natürlich aber leider nur graphisch, nicht als Wert!
Einen Kommentar schreiben:
-
Hallo Mike,Zitat von MikeR Beitrag anzeigenHallo hab wiederr mal eine HS-Frage, habe mir eigentlich abgewöhnt prozedural zu denken, aber irgendwie geht es so wie ich jetzt denke auch nicht
...
Ich möchte quasi einen gleitenden Maximalwert über die letzten x Stunden haben.
.......
Nur finden tue ich nix. Hat jemand einen Tip für mich???
Grüße aus Wiesbaden
MIKE
ich hatte mal die gleiche Frage im "alten Forum" gestellt, war allerdings für ELVIS. Vielleicht geht dir ein Licht auf.
http://www.eib-userclub.de/forum/sho...47&postcount=2
Grüße
samosir
Einen Kommentar schreiben:
-
- √ - HS gleitende Maximalwerte im Zeitintervall, über Archiv?
Hallo hab wiederr mal eine HS-Frage, habe mir eigentlich abgewöhnt prozedural zu denken, aber irgendwie geht es so wie ich jetzt denke auch nicht
...
Ich möchte quasi einen gleitenden Maximalwert über die letzten x Stunden haben. Da ich ja nix zum Zwischenspeichern /Protokolieren habe (eigenes Array anlegen) und ein bißchen Logik, mit Maximalwert nach getriggerter Zeit ja keinen gleitenden sondern nur einen Abschnittsweisen Maximalwert liefert, dachte ich an folgenden Weg. Ich lege ein Datenarchiv an, das genau die gewünschte Zeit z.B. 6 Stunden als Zeitraum eigestellt hat. In der Visu hab ich gesehen, dass man für Archive auch Maximalwerte ausgeben lassen kann, also dachte ich es muss doch irgendeine Funktion geben die mir Max(Archivname) liefert.
Tja, wie gesagt: Dachte ich...
Nur finden tue ich nix. Hat jemand einen Tip für mich???
Grüße aus Wiesbaden
MIKEStichworte: -


Einen Kommentar schreiben: