LabVIEWForum.de
XY Graph aus String mit X-Achse aus Samplecount - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Signaldarstellung (/Forum-Signaldarstellung)
+---- Thema: XY Graph aus String mit X-Achse aus Samplecount (/Thread-XY-Graph-aus-String-mit-X-Achse-aus-Samplecount)



XY Graph aus String mit X-Achse aus Samplecount - shoal - 23.12.2012 18:55

Hallo Zusammen,

ich bin gerade dabei, mich in Labview einzuarbeiten und bin auf ein vermutlich triviales Problem gestoßen wozu ich im www leider noch keine Lösung gefunden habe.

Es geht darum, eine Rausch-Messung mit einem DMM durchzuführen. Dazu wird ein Keithley 2010 über RS232 an den PC angeschlossen und über ein funktionierende Serial-VI angesteuert.

Mein Problem: Ich teile meinem DMM mit wieviel Messwerte in welcher Zeit ich haben möchte. Beispiel: 1000 Messwerte (Sample-Count) in 1 Sekunde (Trigger-Count).
Als "Antwort" bekomme ich dann einen String mit 1000 Messwerten, die so aussehen;

-3.41731012E-01,-3.42035221E-01,-3.42136624E-01....

Diese Werte möchte ich nun als y-Achse des Graphs ausgeben. Als X-Achse soll die Skalierung aus den Sample-Count und Trigger-Count errechnet werden und jeweils einem (in aufsteigender Reihenfolge) Spannungswert zugeordnet werden.

Im Anhang findet Ihr meinen bisherigen Versuch.
(Die ganzen VISA-Write Befehle müssen mit einer Verzögerung gesendet werden, da sonst der Buffer des DMMs überläuft, deshalb die recht fragwürdige FLAT-Struktur. Falls hier jemand eine bessere Lösung hat wie ich das machen könnte wäre ich sehr dankbar).

Schon jetzt vielen Dank für Eure Bemühungen!!
Ich verwende Labview 2012 und Win7

Gruß
Frank


RE: XY Graph aus String mit X-Achse aus Samplecount - GerdW - 23.12.2012 19:07

Hallo Frank,

siehe Anhang:
- Umwandlung per SpreadsheetStringToArray korrigiert und besseren Formatstring angegeben...
- statt XY-Graph einen Signalverlaufsgraph verwendet...
Du musst noch den dt-Parameter korrekt bedrahten (und evtl. t0 korrigieren!).

- Wenn du dir ein Wait-subVI mit ErrorIn/Out-Anschlüssen erstellst, kannst du alles durchverdrahten, ohne eine Sequenz nutzen zu müssen!
- Du brauchst kein "BytesAtPort", da du ja ein TermChar verwendet. Wurde hier im Forum schon oft genug erläutert!


RE: XY Graph aus String mit X-Achse aus Samplecount - shoal - 23.12.2012 20:37

Hallo Gerd,

vielen Dank für Deine Mühe, genauso habe ich es mir vorgestellt!

Mit den "BytesAtPort" wollte ich nachprüfen, ob das Messgerät wirklich 1000 Messwerte schickt. (Ist mir klar, dass ein Messwert mehrere Bytes hat).

Danke für den Tip mit dem Wait-Sub-VI. Gibt es dann eine Möglichkeit, die ganze Visa-Writes "aufeinander" zu legen (dass es nicht ewig in die Breite geht)? Bei der Stacked-Sequence hatte ich das Problem, dass LV dann nicht mehr weiß, was Source- und Sink ist.

Schönen Abend und Gruß,
Frank


RE: XY Graph aus String mit X-Achse aus Samplecount - Lucki - 24.12.2012 00:04

(23.12.2012 20:37 )shoal schrieb:  Gibt es dann eine Möglichkeit, die ganze Visa-Writes "aufeinander" zu legen (dass es nicht ewig in die Breite geht)?
Klar geht das.
(Und für Visa Write mit anschießendem Wait braucht man nicht 2 verschiedene Sequenzen)
[attachment=42814]
Dass der Empfangsbuffer des Keithley so klein sein soll, dass man Waits nach jedem Komando einbauen muß, mag ich kaum glauben. Keithley schreibt, dass bei mehreren Kommandos auf einmal Semikolons dazwischen sein müssen. Vielleicht hattest Du das nicht beachtet?


RE: XY Graph aus String mit X-Achse aus Samplecount - shoal - 24.12.2012 10:39

Hey, Danke für die Lösung.
Wie "baue" ich denn so ein Array mit zwei verschiedenen Datentypen?
Stimmt die Lösung, dass ich erst ein Array-Constant brauche, in das ich dann ein Cluster-Constant setze und in dieses dann meine verschiedenen Datentypen?

Gruß
Frank


RE: XY Graph aus String mit X-Achse aus Samplecount - GerdW - 24.12.2012 12:11

Hallo Frank,

Zitat:Stimmt die Lösung, dass ich erst ein Array-Constant brauche, in das ich dann ein Cluster-Constant setze und in dieses dann meine verschiedenen Datentypen?
Wenn du ein Array of Cluster of (String und U32) haben willst: Ja!