LabVIEWForum.de - Serielle Datenkommunikation

LabVIEWForum.de

Normale Version: Serielle Datenkommunikation
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich bin dabei mir die Sachen in LabView selber ein bisschen näher zu bringen. Hierzu wollte ich mal eine Serielle Datenübertragung mit der RS-232 ausprobieren. Hierzu habe ich folgendes Beispiel erstellt.

[Bild: attachment.php?aid=46785]
EDIT Y-P: Externer Bilderlink entfernt
http://imageshack.us/a/img22/6489/q0sb.jpg

Funktioniert eigentlich ganz gut, ich kann in dem String 2 die Ausgabe der RS-232 sehen. Was ich jetzt komisch finde, oder vielleicht ist es ja auch normal. Sterte ich das Programm mit dem drehenden Pfeil, sodass es immer wieder von vorne beginnt, so aktuallisiert sich mein String 2 immer mit dem aktuellen Wert der RS-232. Drücke ich nun auf den Stopp-Button, warte 30min (lasse den PC und LabView offen, die Ausführung des Programmes ist aber nicht gestartet) so sehe ich wenn ich danach wieder auf den rotierenden Pfeil zum ausführen des Programmes klicke alle zustände die während dieser 30min an der RS-232 anlagen in rasender Geschwindigkeit durchrauschen. Ist dies vorbei so sehe ich im String 2 die RS-232 wieder in Echtzeit.

Ist das gewollt so, dass wenn das Programm steht die RS-232 trotzdem gelesen und beim Starten des Programmes die Daten dann verarbeitet werden?

Danke für eure Hilfe.
Hallo quiddi,

Zitat:Ist das gewollt so, dass wenn das Programm steht die RS-232 trotzdem gelesen und beim Starten des Programmes die Daten dann verarbeitet werden?
Ja - du hast es doch so programmiert!

Dein Fehler ist, dass du zwar eine RS232-Verbindung aufbaust, diese aber nicht beendest (VISAClose). Dadurch werden weiter Daten im Empfangsbuffer angesammelt...
Außerdem hast du SerialInit mit Standardwerten aufgerufen und das bewirkt die Nutzung von LF als TermChar. Deshalb bekommst du die Werte auch immer "zeilenweise" angezeigt.

Außerdem:
- LabVIEW liefert so viele Beispiel-VIs mit, schau doch dort einfach mal nach. Ich empfehle dir "Advanced Serial Read and Write"...
- Passende Indicators erzeugt man mittels Rechtsklick auf den entsprechenden Funktionsausgang. So müsstest du keinen String-Indicator als Anzeige für die VISA-Referenz missbrauchen...

Zitat:Sterte ich das Programm mit dem drehenden Pfeil
Sowas macht man nur zum Debugging. Wenn ein Programm mehrfach ablaufen soll, nutzt man eine Schleife!
@quiddi: Bitte keine externen Bilderlinks. Rulez

Gruß Markus
Referenz-URLs