B&R Temperaturdaten Loggen und in der Visu anzeigen

mgolec

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Da dies mein erster Beitrag ist möchte ich mich gleich im Voraus für alle Antworten bedanken, die zur Lösung meines Problems beitragen.

Wir (2 Kollegen und ich) arbeiten gerade an unserer Diplomarbeit und sind langsam aber sicher mit unserem Latein am Ende.
Unsere Anlage arbeitet bereits in Hand und Automatikbetrieb, so dass nurmehr programmtechnische "Kleinigkeiten" offen sind.
Doch diese haben es leider in sich, so das zumindest mein Level ein zu niedriges ist.

Mein Part ist die Darstellung (sprich Visu), welche ich auch fast fertig habe.
Würde aber noch gerne ein kleines Diagramm auf einer separaten Seite einfügen. (User Trend)

Die Vorhergehensweise:
1*Zyklisch werden diverse Temperaturwerte eingelesen (Analogwertverarbeitung bereits alles fertig)
2*Derzeite Werte werden in der Visu über eine Box angezeigt (bereits fertig)
3*Alle 5min soll der Temperaturwert in ein Array gespeichert werden (NOCH OFFEN)
4*Auf meiner Temperaturverlaufsseite in der Visu soll sich ein Kalender zur einfach Auswahl des gewünschten Datums befinden (evtl auch Drop Down Menüs, wenn nicht anders möglich) (NOCH OFFEN)
5*Wählt man ein Datum, so wird der Temperaturverlauf des jeweiligen Tages von 0 bis 24 Uhr angezeigt.

Die Daten sollen solange gespeichert werden bis kein Speicher mehr auf der CF Karte frei ist,
dann einfach die alten Daten wieder überschreiben.

Idealerweise würde ich auch noch Werte wie Tages-Max und Tages-Min bzw Overall-Max und Overall-Min (alles mit Zeitstempel) anzeigen lassen.

Hat vlt irgentjemand eine Idee, wie ich auch dieses letzte große Problem erschlagen kann?

Wäre über jeden gelösten Punkt dankbar. :D

MFG
Markus
 
Zuletzt bearbeitet:
Hi mgolec,

also das was du haben möchtest ist schon ein bisschen komplizierter.

Mit dem Trend wird's glaube ich nicht funktionieren, da dieser Online aufgezeichnet wird.
Daher wäre dies nur für den Aktuellen Tag verwendbar.

Folgende Vorschläge:
1. Array erstellen [0..287], dann einen Zähler mit 5 min. (z.B. 300 Sek.), wenn dieser überschritten dann Wert in Array speichern, Array hochzählen und Zähler neu starten.:D
2. Alle 24h das Array auf der CF unter einem Dateinamen (z.B. "20152026") speichern, Bibliothek FileIO, so denke ich.
Unbedingt herausfinden wie viele Dateien max. in ein Verzeichnis geschrieben werden können !!!, sonst max. Anzahl definieren.
Anzahl der Files lesen, Filename nach Datum suchen, und das letzte immer wieder löschen. FileIO
3. Das Datum der Auswahl in drei einzelnen Felder eingeben lassen, und mittels String-Befehlen zusammenstellen, Datei auslesen und in Array eintragen.
4. Als Ausgabe in der Visu die Drawbox verwenden, die Visapi durchlesen und mittels VA_Line die Linien (x1,x2,y1,y2) zeichnen. Super Anzeige. :cool:
5. Beim Neueinlesen einer Datei die Drawbox und das Array rücksetzen.

Dies sind Denkanstöße - In der Automation Hilfe sind wirklich gute Beispiele vorhanden ;)
Den Rest kann man sich sicherlich gemütlich durchlesen.

Die Programmierung ist da schon ein bisschen komplizierter - und mit der Visapi hast du hoffentlich genug Ressourcen auf der CPU frei - Sonst ruckelt es ein bisschen.

Habe vergessen:
Wenn du einen Zeitstempel dabei haben willst, brauchst du ja nur das Array mit der Uhrzeit erweitern.
Und mit ein paar Loops, Merkern und Vergleichern kann man sich den höchsten Wert (">=") oder den niedrigsten Wert ("<=") raussuchen.

Hört sich aber nicht so schlecht an was ihr da machen wollt.

Oder mal bei B&R nachfragen ob es da was fertiges gibt. :cool:

SG
invoman2000
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Markus

Wollte invoman schon zustimmen. Aber das Arbeiten mit VA_LINE ist wirklich schon aufwendiger.
Bis auf das Abspeicher pro Tag würde ich einen Monat abspeichern und den entsprechenden Tag laden.

Der Trend kann Online (hier hat man keinen Zugriff auf die einzelnen Trendsamples) und auch Userdefiniert (Trendsamples liegen in einem Array) dargestellt werden.
Am einfachsten geht es mit dem TrendWizard. Hier ein kleines Beispiel. Sinus ist kein Sinus mehr

Einstellungen
Samplerate 1min = 60000ms
Aufzeichungsdauer 24h
Datenmenge/Tag 1440
Y = 0 - 20

_GLOBAL REAL TrendSin[1440],TrendRecht[1440];
_GLOBAL UDINT TrendCount,TrendTime;

VNC.JPGWizard.JPGWizard1.JPGWizard2.JPG
 
Zurück
Oben