Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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?
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?
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?
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!!!
Wo ist dein VI? Das Beispiel-VI "Kontinuierliches Lesen und Schreiben von seriellen Daten"
Wie soll man dir helfen, wenn du kein VI zeigst?