LabVIEWForum.de - Signalverlauf darstellen

LabVIEWForum.de

Normale Version: Signalverlauf darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Sicher ist dies für einen alten Hasen eine Standard-Aufgabe, aber ich finde einfach nicht den richtigen Ansatz, mein Vorhaben umzusetzen:

Ein Meßgerät liefert mir jeweils einen Satz von 10 Temperaturmeßwerten, im Abstand von einer Minute. Diese Meßwerte möchte ich grafisch auf dem Bildschirm darstellen.
Die Meßreihe wird lange dauern, ich möchte die Messungen der letzten Zeit darstellen, dabei soll die Anzeige mit fortlaufender Zeit weiterschrollen.

Offensichtlich muß ich die Meßwerte sammeln, um anschließend den Signalverlauf darzustellen. So, wie ich das sehe, ist das Ziel, ein zweidimensionales Array zu erstellen.

Bitte um Hinweise, wo ich Informationen finde, wie ich das aufstelle. Ich finde nur Beispiele, um etwa einen Sinus, oder dergleichen darzustellen. Ich zeige hier die Ausgangsfunktion der Schleife, die mir die Meßwerte liefert.

Wolfgang


Lv85_img
' schrieb:Sicher ist dies für einen alten Hasen eine Standard-Aufgabe, aber ich finde einfach nicht den richtigen Ansatz, mein Vorhaben umzusetzen:

Ein Meßgerät liefert mir jeweils einen Satz von 10 Temperaturmeßwerten, im Abstand von einer Minute. Diese Meßwerte möchte ich grafisch auf dem Bildschirm darstellen.
Die Meßreihe wird lange dauern, ich möchte die Messungen der letzten Zeit darstellen, dabei soll die Anzeige mit fortlaufender Zeit weiterschrollen.

Offensichtlich muß ich die Meßwerte sammeln, um anschließend den Signalverlauf darzustellen. So, wie ich das sehe, ist das Ziel, ein zweidimensionales Array zu erstellen.

Bitte um Hinweise, wo ich Informationen finde, wie ich das aufstelle. Ich finde nur Beispiele, um etwa einen Sinus, oder dergleichen darzustellen. Ich zeige hier die Ausgangsfunktion der Schleife, die mir die Meßwerte liefert.

Wolfgang
Lv85_img


Hallo Wolfgang,

ich habe dir da mal etwas gebastelt! Vielleicht kannst du damit etwas anfangen!Wink
(Signalverlaufsgraph mit Schieberegistern verbunden)
Lv85_img

MitchWink2
' schrieb:Hallo Wolfgang,

ich habe dir da mal etwas gebastelt! Vielleicht kannst du damit etwas anfangen!Wink
(Signalverlaufsgraph mit Schieberegistern verbunden)
Lv85_img

MitchWink2

Vielen Dank, das ist interessant. Das Diagramm gibt auch etwas aus, aber ich bin sehr stark gefordert in der Interpretation vom Ganzen.

Ich beschreibe mal, wie ich das sehe, da ist es wohl am Besten, meine Irrwege beim Denken gerade zu biegen.

Links ist eine Konstante angegeben, was macht die?
Der Wert dieser Konstanten geht in ein Schieberegister in die WHILE-Schleife, dann über ein Schieberegister in die FOR-Schleife. Als Hardware-Mensch kenne ich Scieberegister mit einem Daten-Eingang und einem Takt-Eingang, sowie eventuell Set- und Reset-Eingang. Davon sehe ich hier nichts. Außerdem, warum wird eine Konstante über ein Schieberegister eingeschleift?
In der FOR-Schleife wird der Ausgang des Schieberegisters mit den gelesenen Zahlenwerten zu einem Array zusammengefügt. Wobei, wenn ich die dazugehörige Hilfe in LabVIEW ansehe, der Wert aus der Konstanten über zwei Schieberegister in die FOR-Schleife geschleift wird, als Array angesehen wird.
Am Ende bekomme ich eine Anzeige, in der versucht wird, die Meßwerte aus einer Messung in Verbindung zueinander zu bringen.

Meine Idee ist, die 8 Meßwerte aus einer Messung parallel darzustellen, und mit fortschreitender Zeit einen Graph zu erstellen, der die 8 Meßwerte als 8 Linien darstellt, am besten in unterschiedlicher Farbe.

Ich hänge mal an, was ich aus Dem Vorschlag gebastelt habe, leider bin ich kaum klüger.

Für weitere Ideen, Hinweise, oder Beispiele bin ich sehr dankbar.

Wolfgang Lv85_img
' schrieb:Vielen Dank, das ist interessant. Das Diagramm gibt auch etwas aus, aber ich bin sehr stark gefordert in der Interpretation vom Ganzen.

Ich beschreibe mal, wie ich das sehe, da ist es wohl am Besten, meine Irrwege beim Denken gerade zu biegen.

Links ist eine Konstante angegeben, was macht die?
Der Wert dieser Konstanten geht in ein Schieberegister in die WHILE-Schleife, dann über ein Schieberegister in die FOR-Schleife. Als Hardware-Mensch kenne ich Scieberegister mit einem Daten-Eingang und einem Takt-Eingang, sowie eventuell Set- und Reset-Eingang. Davon sehe ich hier nichts. Außerdem, warum wird eine Konstante über ein Schieberegister eingeschleift?
In der FOR-Schleife wird der Ausgang des Schieberegisters mit den gelesenen Zahlenwerten zu einem Array zusammengefügt. Wobei, wenn ich die dazugehörige Hilfe in LabVIEW ansehe, der Wert aus der Konstanten über zwei Schieberegister in die FOR-Schleife geschleift wird, als Array angesehen wird.
Am Ende bekomme ich eine Anzeige, in der versucht wird, die Meßwerte aus einer Messung in Verbindung zueinander zu bringen.

Meine Idee ist, die 8 Meßwerte aus einer Messung parallel darzustellen, und mit fortschreitender Zeit einen Graph zu erstellen, der die 8 Meßwerte als 8 Linien darstellt, am besten in unterschiedlicher Farbe.

Ich hänge mal an, was ich aus Dem Vorschlag gebastelt habe, leider bin ich kaum klüger.

Für weitere Ideen, Hinweise, oder Beispiele bin ich sehr dankbar.

Wolfgang Lv85_img


Hallo Wolfgang,

Die Konstante legt nur ein leeres Array an, dass dann in den Schleifen aufgefüllt wird. Mit dem VI "Build Array" fügst du in jedem Schleifendurchlauf den neuen Messwert zu dem Array hinzu. Mit dem Schieberegister übergibst du den Inhalt des Arrays von einer Schleifenausführung zur nächsten. Dadurch werden alle Messwerte gespeichert. Das musst du so machen, da der Graph ein reines Anzeigeinstrument ist, der sich nichts merkt. Wenn du immer nur den aktuellen Messwert an den Graph übergibst, wird auch nur dieser angezeigt. Der Graph wird also bei jedem Aufruf komplett neu gezeichnet.
Ich hoffe, ich konnte dir damit ein bißchen weiter helfen.
Vielen Dank!

Ich sehe.
Um die Sache zu vereinfachen, will ich zunächst eine Meßstelle auf dem Diagramm darstellen.

Wenn ich das richtig interpretiere, müßte ich den Graph gemäß dem Bild "Anzeige1.PNG" darstellen können. Entsprechend müßten dann auch die Werte in dem Array "Angehängtes Array" erscheinen, wenn die Messung läuft.

Nach dem, wie ich es verstehe, ist die Anzeige "Signalverlauf" nichts Anderes, als die grafische Darstellung der Tabelle "Angehängtes Array".

Nur kommen keine Zahlenwerte in dieser Tabelle hinzu, und entsprechend keine Anzeigepunkte. Auch, wenn ich das Array außerhalb der WILE-Schleife erstelle.

Was habe ich hier falsch verstanden?

Wolfgang
Richtig. Der Graph und das Array stellen im Prinzip das Gleiche dar.
Wenn du die Darstellung außerhalb der while-Schleife durchführst, wird das Array wie zuvor zwar erstellt, aber erst angezeigt wenn die Schleife beendet wird.
Das in der Tabelle keine Zahlenwerte hinzugefügt werden, kann einfach an der Darstellung liegen. Schau dir das angehängte VI mal an.
' schrieb:Richtig. Der Graph und das Array stellen im Prinzip das Gleiche dar.
Wenn du die Darstellung außerhalb der while-Schleife durchführst, wird das Array wie zuvor zwar erstellt, aber erst angezeigt wenn die Schleife beendet wird.
Das in der Tabelle keine Zahlenwerte hinzugefügt werden, kann einfach an der Darstellung liegen. Schau dir das angehängte VI mal an.

Es ist wie verhext,

das vi von Dir funktioniert, ich habe entsprechendes in mein vi eingefügt, und es läuft nicht. Am Ende habe ich die ankommenden Daten durch Zufallszahlen ersetzt, und ich bekomme kein Diagramm! Anschließend meine Schaltung komplett rausgeschmissen, und ich bekomme kein Diagramm angezeigt! Ebenso wird das Array nicht größer.

Da steckt das Problem wohl etwas tiefer.

Wolfgang

Lv85_img
Hallo, nochmals:

Jetzt habe ich das Test-vi genommen, und alle Komponenten von meinem vi hineinkopiert. Siehe da: die grafische Anzeige funktioniert!

Da muß ich wohl zu dem Schluß kommen, daß mein Computer einen Schuß hat, oder die LabVIEW-Installation. jetzt wäre ich nur neugierig, ob das vi, das ich schickte, auch bei anderen Computern keine Anzeige bringt.

Gruß

Wolfgang
In deinem VI ist ein kleiner Fehler. Habs beim ersten hinschauen auch nicht gleich gesehen. Du hast die Shift Register einfach durchverbunden. Auf den Shift-Reg Ausgang musst du den Ausgang vom VI Build Array legen. Dann wird beim nächsten Schleifendurchlauf mit dem veränderten Array weiter gearbeitet. In deinem Fall hast du immer mit dem mit Null initialisierten Array gearbeitet.
Ich würde sagen, du sitzt schon zu lange vor dem Problem, dass du den Wald vor lauter Bäumen nicht siehst. Da hilft nur Pause machen oder Kaffee trinkenBig Grin
' schrieb:In deinem VI ist ein kleiner Fehler. Habs beim ersten hinschauen auch nicht gleich gesehen. Du hast die Shift Register einfach durchverbunden. Auf den Shift-Reg Ausgang musst du den Ausgang vom VI Build Array legen. Dann wird beim nächsten Schleifendurchlauf mit dem veränderten Array weiter gearbeitet. In deinem Fall hast du immer mit dem mit Null initialisierten Array gearbeitet.
Ich würde sagen, du sitzt schon zu lange vor dem Problem, dass du den Wald vor lauter Bäumen nicht siehst. Da hilft nur Pause machen oder Kaffee trinkenBig Grin

Im Ernst, ich glaubte es richtig gemacht zu haben. Ich kenne Shiftrerister als kleine schwarze Dinger mit acht so spitzen Anschlüssen. Wenn sie verkehrt rum auf dem Sitz liegen, und man setzt sich drauf, ist das ein Effekt als hätte man viele Reisnägel auf dem Stuhl :-[

O.K. ich habe das kapiert, aber ich bin ja noch nicht fertig. Ich habe 8 Werte, die ich als viele bunte Striche dargestellt haben möchte. Dazu habe ich am vi "angehängtes array" die Eigenschaft "Eingänge verknüpfen weggeklickt. Jetzt hat die Verbindung zum Waveform Graph eine weiße Seele. Und ich kann diese Verbindung nicht mehr an das Ausgangs-Shiftregister anlegen.

Was nu?

Jetzt ist wohl mehr als nur ein Kaffe fällig ...

Wolfgang
Seiten: 1 2
Referenz-URLs