LabVIEWForum.de
Stringstrang, Serial - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Stringstrang, Serial (/Thread-Stringstrang-Serial)



Stringstrang, Serial - M.Somma - 03.11.2004 12:48

Hallo,

ich habe folgendes Problem: über einen Mikrocontroller sende ich A/D Daten kontinuierlich über COM zum PC. Die Daten gehen von 0 bis 1023 und werden durch das Zeichen "z" getrennt: 8z356z891z765z0z1022z.... diese werte möchte ich graphisch darstellen.

Das Vi-"read visa" funktioniert soweit, nur muss ich die Anzahl der Bytes eingeben die ich lesen möchte (will aber lesen bis ich ich abbrech).
Mit den VI "VISA Bytes at serial Port" liest er zwar kontinuierlich aber zu schnell. dh. anstatt 8z356z891z765z0z1022z zB. 8 35 6 891 7 65, je nachdem wieviel Zeichen im Puffer stehen.

Wie kann man das Anpassen?

Danke, für jede Hilfe


Stringstrang, Serial - Loknar - 03.11.2004 13:51

Hallo M.Somma,

ich bin zwar auch noch nicht so erfahren in LabVIEW hatte aber vor kurzem ein ähnliches Problem.

Ich habe den serial-read in eine Schleife gesetzt, in der kontinuirlich ohne wartezeit immer 8 bites gelesen werde und in eine Datei abgelegt werden.

Nach beenden der Schleife wird die Datei dann in ein array umgeformt und kann graphisch dargestellt werden.

Mein früheres Problem kannst du hier finden:
http://www.LabVIEWforum.de/viewtopic.php?t=109

Dort ist ein vi von Oliver Frank, welches mir sehr gut weitergeholfen hat.


Stringstrang, Serial - Oliver Listing - 03.11.2004 21:52

Hi M.Somma,

Du kannst mehrere Versuche unternehmen:
1. Initialisiere deine Schnittstelle mit dem "termination char" "z" (dez. 122 = Scancode) und aktiviere "Enable Termination Char".
Dann wird dir mit jedem mal "VISA read" nur ein Wert geliefert.
2. Lese einfach 100 oder 1000 Zeichen (je nach Datenstrom) und wandel diesen mit dem VI "Spreadsheet String To Array" in ein Array um. Als Trennzeichen (delimiter) "z" angeben.
Das letzte Arrayelement Trennst Du heraus, sofern der String nicht mit "z" endete und fügst das Ergebnis von VISA read hinzu. (Shift Register der Schleife zum Rückkoppeln benutzen)
Die Schleife läßt du solange laufen, wie du willst.

In beiden Fällen mußt du die Daten noch wandeln im zweiten kann das auch die Funktion "spreadsheet String To Array".
Bei der ersten Möglichkeit empfehle ich einen "Wavform Chart" bei der zweiten einen "Waveform Graph".

Gruß
Oliver