LabVIEWForum.de - VISA über MAX geht, im VI nicht mehr

LabVIEWForum.de

Normale Version: VISA über MAX geht, im VI nicht mehr
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen,

ich habe ein Laborgerät welches ich über RS232 in mein LabVIEW-Programm einbinden möchte.
Nun kann ich das Gerät über den MAX(Version14.5.0f0) sehen und mit dem VISA Testpanel kann ich auch die Befehle senden und das Gerät tut wie es soll.
Wenn ich nun aber in meinem eigenem VI oder dem "Kontinuierliches Lesen und Schreiben von seriellen Daten"-VI aus der Beispielbibliothek versuche die Befehle zu senden regiert das Gerät leider nicht. (LV Version 14.0.1 32bit)

Eingestellt habe ich sowie im MAX als auch im VI den COM Port, die Baudrate, die Datenbits, die Parität, die Stoppbits. Die Befehle habe ich 1 zu 1 eingegeben.
Ich habe auch schon versucht den MAX zu schließen und das Gerät an einen anderen Port anzuschließen um auszuschließen das der MAX die Verbindung noch blockiert..

Hat jemand eine Idee wo mein Fehler liegt? Was macht das Beispiel-VI anders als das VISA-Testpanel?

Beste Grüße
Stefan
Was erzählt der Error-Cluster?

Gruß, Jens
Beim schreiben kommt kein Fehler (aber das Gerät reagiert nicht)

Beim lesen kommt folgender Fehler:

Fehler -1073807339
VISA: (Hex 0xBFFF0015) Zeitüberschreitung, bevor der Vorgang abgeschlossen werden konnte.
Hallo Stefan,

Zitat:Hat jemand eine Idee wo mein Fehler liegt?
Hast du im VI das korrekte TermChar an den Befehl angehangen?
Laut Anleitung von dem Gerät soll ich "Befehlxyz"\r\n schreiben. Genau so habe ich es im MAX VISA Testpanel reingeschrieben und so ist es beim Gerät angekommen.
Im VI ist Abschlusszeichen TRUE eingestellt und an TermChar ist 0xA (also dezimal 10 --> sollte \n entsprechen) angeschlossen.
Den Befehl habe ich jetzt so wie oben geschrieben und auch versucht das \n wegzulassen (weil das vllt VISA nun automatisch macht?)
Leider ging es auf beide Arten nicht..
Wie soll ich es mit dem TermChar richtig machen?
Du schreibst, dass das Gerät nicht reagiert. Meinst du damit, dass du über den Lesebefehl nichts vom Gerät auslesen kannst oder dass sich am Gerät nichts tut? Im ersten Schritt wäre es sinnvoll, herauszubekommen ob der eingegebene Befehl überhaupt am Gerät ankommt?
Ich weiß jetzt nicht, um welches Gerät es sich konkret handelt, aber hast du Befehle bei denen du direkt am Gerät erkennen kannst ob der Befehl auch angekommen ist? Was passiert, wenn du dem Gerät nur verschiedene Befehle nacheinander sendest, ohne zwischenzeitlich zu versuchen Daten auszulesen? Reagiert das Gerät darauf?
Hallo Stefan,

Zitat:Im VI ist Abschlusszeichen TRUE eingestellt und an TermChar ist 0xA (also dezimal 10 --> sollte \n entsprechen) angeschlossen.
Den Befehl habe ich jetzt so wie oben geschrieben und auch versucht das \n wegzulassen
1. Das TermChar wird per Default nur beim Lesen verwendet, aber nicht beim Schreiben.
2. ein "\n" ist nicht immer das Gleiche wie ein "\n": Du hast hoffentlich den Anzeigemodus deines Strings auf "\-Code" gestellt!?

Wo ist dein VI?
Wie soll man dir helfen, wenn du kein VI zeigst?
(29.06.2018 11:31 )GerdW schrieb: [ -> ]Hallo Stefan,

Zitat:Im VI ist Abschlusszeichen TRUE eingestellt und an TermChar ist 0xA (also dezimal 10 --> sollte \n entsprechen) angeschlossen.
Den Befehl habe ich jetzt so wie oben geschrieben und auch versucht das \n wegzulassen
1. Das TermChar wird per Default nur beim Lesen verwendet, aber nicht beim Schreiben.
2. ein "\n" ist nicht immer das Gleiche wie ein "\n": Du hast hoffentlich den Anzeigemodus deines Strings auf "\-Code" gestellt!?
Der String von "Befehl" war in diesem Beispiel-VI leider auf "normale Anzeige" statt auf "\-Code Anzeige" eingestellt. Nachdem ich das umgestellt hatte stand hinter meinem Befehl auf einmal ..xyz..\\r\\n
Die beiden Backslash die zuviel waren gelöscht und schon ging es! Vielen Dank!!!Dais



Wo ist dein VI?
Das Beispiel-VI "Kontinuierliches Lesen und Schreiben von seriellen Daten"
Wie soll man dir helfen, wenn du kein VI zeigst?
Referenz-URLs