INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Signalverlaufsgraph über die letzten 24h



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

24.04.2013, 10:22
Beitrag #1

derkukla Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Apr 2013

2009
2013
DE



Signalverlaufsgraph über die letzten 24h
Hallo liebe LabView Gemeinde,

ich wurde im Rahmen einer Tätigkeit als Hiwi ins kalte Wasser geworfen und muss jetzt mit LabView arbeiten. Ich bin eigentlich Maschinenbauer und entsprechend viel Ahnung habe ich von Informatik. Also bitte entschuldigt wenn ich ein bisschen unbeholfen wirke.
Nun zu meinem Problem, es geht darum bei einem Versuch, der mehrere Tage am Stück läuft, eine Temperaturüberwachung durchzuführen. Dazu gibt es Tempsensoren die an einen analogen Messverstärker angeschlossen sind, dieser wird von LabView ausgelesen. Diese Daten werden in Paketen à 200 Eintragen pro Sensor gebündelt und dann weitergegeben. Wenn ich jetzt also ein Graph einbaue geht die Zeitachse immer nur bis 200 und der Graph aktualisiert sich ständig (siehe Anhang). Um jetzt die letzten 24h darstellen zu können müsste also irgendwie eine Schlange eingebaut werden die z.B. alle 5min für jeden Sensor einen Wert speichert und dann folglich für jeden Sensor 288 Einträge hätte und dann immer den ältesten Wert rauswirft. Diese Schlange muss dann noch als Graph dargestellt werden. Jetzt meine Frage: Wie mache ich das in Labview?

Das vi darf ich hier leider nicht hochladen, habe aber ein Screenshot der entsprechenden Stelle gemacht (siehe Anhang). Signalverlaufsgraph 2 soll der 24h Graph werden.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.04.2013, 12:24 (Dieser Beitrag wurde zuletzt bearbeitet: 24.04.2013 12:38 von eb.)
Beitrag #2

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Signalverlaufsgraph über die letzten 24h
Hallo,

statt eines Graphen kannst du einfach ein Signalverlaufsdiagramm verwenden. Dann mit Rechtsklick auf das Diagramm und unter Historienlänge die Anzahl der Datenpunkte einstellen. Fertig.
Das wäre das einfachste...

Gruß
Und wenn du schon am Quellcode arbeitest, hier noch ein paar VorschlägeFragen:
- müssen die ganzen Lokalen Variablen sein? (sie bergen die Gefahr der "Race Conditions")
- Bitte richte die Elemente ein wenig aneinander aus (oft als "Aufräumen" bezeichnet); es gibt auch eine Funktion dazu, die man ausprobieren kann (dieser Besen mit dem LabVIEW-Addierer oben rechts)
- Wenn du ein Array indizieren willst, und dabei sowieso von Index 0 bis n gehst, brauchst du keine Konstanten anschließen, siehe Snippet
   

Übrigens, bin auch Maschinenbauer, und komme halbwegs mit LV klar. Also keine Scheu Smile
Bei Fragen einfach Fragen.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.04.2013, 17:49
Beitrag #3

derkukla Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Apr 2013

2009
2013
DE



RE: Signalverlaufsgraph über die letzten 24h
Danke schon mal für deinen Tipp, aber habe ich da nicht unendlich große Datenmengen? Die Abtastrate der Messkarte sind 25 Microsekunden, da kommt in 24h ja schon einiges zusammen. Oder kann ich bei dem Diagramm auch einstellen das er alle 5 min ein wert nimmt und mir entsprechend 288 anzeigt?

Die lokalen Variablen müssen sein, da es einen solchen Filmstreifen für den Hinweg und einen für den Rückweg gibt, man aber logischer Weise nicht jede Anzeige doppelt haben möchte. Die Variablen stellen nur Anzeigeelemente dar.

Das mit dem Array muss glaube ich doch so sein, da ich ja von der Messkarte die Werte für alle Sensoren bekomme und die dann in ein Array schreibe welches dann jeden Sensor an einer Position speichert. Und dann muss ich doch wenn ich die einzelnen Sensoren separat anzeigen möchte die Position des Array mit dem entsprechenden Wert anzeigen lassen, oder habe ich da was falsch verstanden?

Das mit dem aufräumen ist ein guter Tipp so was habe ich schon gesucht, sah vorher noch schlimmer ausWink aber von Hand das ganze ohne Einrasten zu machen ist doch sehr langwierig.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.04.2013, 08:49
Beitrag #4

eb Offline
LVF-Lernwilliger
***


Beiträge: 292
Registriert seit: Mar 2008

2014
2008
EN

12xxx
Deutschland
RE: Signalverlaufsgraph über die letzten 24h
Guten Morgen,

also ich hab nicht alles verstanden, von dem was du geschrieben hast, aber ich antworte mal so gut ich kann:
25µs entspricht ja 40kHz. Das sind eindeutig zu viele Daten für ein Plot, wenn dieser 24h anzeigen soll. Sind ja immerhin ca. 3,5Milliarden Werte! Ein Dbl hat 8Byte, also wären das ca. 27,5GB an Daten für einen Kanal (unkomprimiert).
Die Frage ist doch, wofür brauchst du diese hohe Abtastrate. Wenn du sie z.B. nur für eine OnlineAnalyse brauchst, dann würde ich sie zum Speichern verringern, so, wie du selbst schon vorgeschlagen hast: Indem man einfach X Werte zu einem Wert mittelt. Oder kannst du sogar einfach die Abtastrate herunter setzen?

In einem Diagramm sind eh nie mehr Datenpunkte sichtbar, als es Pixel breit ist. Daher würde ich entweder:
- die gemittelten Datenpunkte (1Wert/Minute z.B.) ODER
- die letze "hochgenaue" Analyse (sofern es sowas bei dir gibt) in hoher Auflösung darstellen.
Zu dem Signalverlaufsdiagramm noch ein Satz: Die Historienlänge sagt, wie viele Werte in den "Puffer" des Diagramms passen und dargestellt werden können. Wenn der Puffer voll ist, dann wird der älteste Wert entfernt, um Platz für den neuen zu machen.

Zu dem Snippet von mir mit dem einfachen Indexieren von Arrays: Probier es doch einfach mal aus! Die drei dargstellten Varianten machen alle das gleiche! Du musst die "Adresse" im Array nicht angeben, wenn du eh von 0..n-1 Anschlüsse aufziehst.
Zum Aufräumen: Ich glaube in neuen LabVIEW-Versionen kann man auch Teilbereiche aufräumen lassen, indem man vorher die Elemente markiert und dann erst den Button klickt.
Es wäre außerdem immernoch hilfreich, deinen Quellcode zu sehen. Du könntest deine hochgeheimen SubVI's ja einfach nicht hochladen oder entsprechende Bereiche aus dem Blockdiagramm entfernen.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.04.2013, 13:57
Beitrag #5

derkukla Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Apr 2013

2009
2013
DE



RE: Signalverlaufsgraph über die letzten 24h
Das das zu viele Daten sind ist mir auch klar, deshalb will ich ja alle 5min einen Wert abgreifen und im Diagramm darstellen. Das sind dann pro Sensor 288 Daten in 24h, das sollte im Rahmen liegen. Dazu brauche ich eine Schleife mit 5min Wartezeit. Die ein Wert pro Sensor abgreift und in eine Schlange mit 288 Einträgen speichert. Diese Schlangen müsste ich dann zusammenführen und als Diagramm, am besten mit der Uhrzeit zu der der Wert erfasst wurde, darstellen. Aber wie ich das genau umsetzten soll erschließt sich mir nicht wirklich. Das VI darf ich nicht hochladen. Aber das Bild zeigt den Interessanten Bereich, der Rest ist uninteressant für mein Problem.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.04.2013, 08:20 (Dieser Beitrag wurde zuletzt bearbeitet: 30.04.2013 08:21 von Schwand.)
Beitrag #6

Schwand Offline
LVF-Stammgast
***


Beiträge: 276
Registriert seit: Nov 2007

2014
2006
DE

31789
Deutschland
RE: Signalverlaufsgraph über die letzten 24h
Moin,

könntest du nicht eine Abfrage einbauen, die nur alle 5min (wenn deine Schleife zB 100mS läuft, bei jedem 300. Durchlauf) ausgeführt wird und dann den aktuellen Wert in einen Graphen schreibt?


Grüßle
S.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.05.2013, 12:17
Beitrag #7

derkukla Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Apr 2013

2009
2013
DE



RE: Signalverlaufsgraph über die letzten 24h
Der Versuchsstand wird zur Zeit umgebaut, deshalb kann ich nichts ausprobieren.

@Schwand: habe ich bei deiner Lösung nicht immer nur einen Wert im Graph?

Ich wollte auch erst mal abklären ob man das was ich brauche realisieren kann, bevor ich mich da ewig einarbeite und es am ende so gar nicht geht.

Also nochmals die Anforderungen:
von 10 Sensoren deren Werte über eine Messkarte eingelesen werden. Soll im 5min Takt pro Sensor ein Wert ausgelesen werden. Dieser Wert soll dann für 24h gespeichert werden. So dass ich nach 24h Laufzeit immer die Werte der letzten 24h von jedem der 10 Sensoren in einem Diagramm sehe. Also 10 Kurven in einem Graph. Am besten mit der jeweiligen Uhrzeit zu der der Wert ausgelesen wurde.

Mein Ansatz:

Ich habe ja für jeden der 10 Werte schon eine Anzeige. Dieses Signal will ich abgreifen und in eine Schleife "leiten". Die Schleife speichert im 5min Takt 1 Wert in eine Schlange mit 288 Einträgen. Am besten wäre wenn jedem Wert dann noch Datum und Uhrzeit zugeordnet werden würde, dann müssten aber alle 10 Schleifen exakt Zeitgleich laufen. Dann sollte ich 10 Schlangen mit je maximal 288 Werten haben. Und diese 10 Schlangen sollen dann in ein Diagramm.

Wenn das einfacher geht nur raus damit. Ich hab von Informatik echt soviel Ahnung wie die Kuh vom Eierlegen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.05.2013, 20:13
Beitrag #8

Holy Offline
LVF-Stammgast
***


Beiträge: 339
Registriert seit: Sep 2008

2014
2007
EN

09XXX
Deutschland
RE: Signalverlaufsgraph über die letzten 24h
Für die Anzeige würde ich einen Art Ringpuffer verwenden der alle anzuzeigenden Datenpunkte und Zeitwerte enthält. Hierbei lässt sich die Besonderheit das NaN nicht geplottet wird sehr gut nutzen um permanente Speicherallokierungen zu vermeiden. Im Anhang findest eine mögliche Implementierung für sowas.


Angehängte Datei(en)
9.0 .vi  Graph Buffer Example.vi (Größe: 25,83 KB / Downloads: 271)

9.0 .vi  Add new Data.vi (Größe: 30,96 KB / Downloads: 245)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.05.2013, 14:24 (Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2013 15:11 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Signalverlaufsgraph über die letzten 24h
Hier mal ein Vorschlag mit dem schon erwähnten Signalverlaufsdiagramm. Hat den Vorteil, dass man den internen Ringpuffer des SV.-Diag. direkt als Speicher hat und sich nicht mit Eigenbastelei eines solchigen herumschlagen muss.


9.0 .vi  24Std.vi (Größe: 14,81 KB / Downloads: 328)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Signalverlaufsgraph PatrickF1706 1 3.573 02.08.2018 08:35
Letzter Beitrag: GerdW
  Signalverlaufsgraph zoomen Start und Endpunkt ermitteln Flore 5 5.816 24.06.2015 15:05
Letzter Beitrag: Flore
  Starre Skalierung Signalverlaufsgraph TobSTAR 6 6.307 20.04.2015 14:01
Letzter Beitrag: TobSTAR
  Signalverlaufsgraph - X Achse abgelaufene Sekunden TobSTAR 7 5.949 20.03.2015 10:54
Letzter Beitrag: Lucki
  Punkt in Signalverlaufsgraph Emitter- 9 8.003 11.12.2014 09:43
Letzter Beitrag: Emitter-
  Signalverlaufsgraph durch Button Reset bzw. auf Null setzen M4st3r M M 5 5.379 24.11.2014 13:52
Letzter Beitrag: M4st3r M M

Gehe zu: