LabVIEWForum.de - VISA, Serielle Schnittstelle und I/O-Assistent

LabVIEWForum.de

Normale Version: VISA, Serielle Schnittstelle und I/O-Assistent
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe ein VISA-Problem (serielle Schnittstelle).
Das Messgerät sendet kontinuierlich Werte an die Serielle Schnittstelle.
Ich möchte die Werte ohne Verzögerung mit LabVIEW auslesen. Ich frage die Messwerte in einer While-Schleife ab.
Ich hatte die ganze Zeit eine zeitliche Verzögerung von mehreren Sekunden. Dieses Problem habe ich mit Hilfe des I/O-Assistenten gelöst. Die Werte kommen jetzt nicht mehr verzört an.

Jetzt zu meinem eigentlichen Problem:

Ich habe immer unregelmäßige Aussetzer, als ob kein Messwert an der Schnittstelle liegen würde. LabVIEW bleibt am VISA-read-VI "stehen".
Ich lasse mir den Schleifenzähler anzeigen, dadurch sehe ich auch, dass die Schleife nicht weiter verarbeitet wird. Nach mehreren Sekunden gibt LabVIEW wieder die aktuellen Werte aus -bis zum nächsten Aussetzer.... Die Werte während des Aussetzers gehen verloren, aber warum??? Sad

Ich kann ausschließen, dass das Messgerät zeitliche Aussetzer hat (mit einem COM-Test-Programm getestet)

Gruß
Sausewind
So, ich glaube ich kann jetzt besser als bei meinem 1.Hilferuf (den ich gerade aus dem Forum gelöscht habe) beschreiben was mein Problem ist:
Beide angehangenen VI's greifen auf RS232 zu und sind eigentlich gleich, nur dass ich beim testvisa 2 mal eine Spannung abfrage, nämlich vf,3,1 und die Spannung vf,3,2. Aber aus irgendeinem Grund kommt bei der 2.Abfrage nicht wie bei der 1.Spannungsabfrage direkt die Antwort, sondern gar keine und irgendwann eine Timeout-Fehlermeldung von LabVIEW. In dem VI testvisa1anzeige lasse ich mir nur 1 mal vf anzeigen, und das geht.
Ich habe auch schon versucht ob ich vielleicht nach jedem VisaRead die VisaSession schliessen und wieder neu öffnen muss, aber immer kommt Timeout-Fehlermeldung. Ich hab schon versucht ob es evtl. daran liegt dass der Lesepuffer voll ist, und ihn geleert (glaube ich zumindest). ICH BRAUCHE DRINGEND HIIIILFE,Bitteeee!
Lg Michael
Hallo Michael,

versuche mal dein "sereillen Port konfigurieren" vor die Schleife zu
setzen und danach ein VISA-Öffnen (auch noch vor die Schleife).
Setze das Visa-Schließen hinter die Schleife.
Die Initialisierungen brauchen unnötig Zeit in der Schleife.

Der Assistent für Instrumenten-I/O löscht den Puffer und gibt den akt.
Wert aus (so habe ich das jedenfalls erklärt bekommen)
findest du unter:Instrumenten-I/O--> Assistent für Instrumenten-I/O.
Den kannst du auch als als Blockdiagramm dir anschauen: rechte
Maustaste-->Frontpanel öffnen-->konvertieren

Gruß
Sausewind
Vielen Dank Sausewind,
ich glaube jetzt geht es!!! Bin ich frohBig Grin
noch einen kleinen Tipp fuer dein Programm
Nimm anstatt der Funktion "Wait" die Funktion "Wait until next multiple" -> mit dem Wait laeufst Gefahr, dass das Warten vor dem Schreiben ausgefuehrt wird und somit kann passieren, dass beim Lesen der RS232 ein Fehler auftritt...
Referenz-URLs