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!
Vorweg erstmal vielen Dank im Vorraus. Ich bin neu hier und kenne daher noch nicht alle Gepflogenheiten im Forum, verzeiht mir bitte, wenn ich etwas vergesse.
Zu meinem Problem. Ich habe einen Tachometer (Monarch ACT3X), der die Drehzahl ausgibt. Diesen kann ich über Ethernet mit dem Messrechner verbinden und mit dem mitgelieferten Programm (PM-Remote) auch ansteuern.
Die Ansteuerung klappt auch über das VISA Testpanel von NI MAX problemlos. Wenn ich den Tachometer allerdings über ein Labview VI ansteuere habe ich das Problem, dass Kommandos scheinbar erst mit dem schließen der VISA-Verbindung abgeschickt werden.
Konkret ist der Befehl im Puffer, sobald der Write Baustein aktiv wurde, aber ausgeführt wird erst mit dem Schließen. Ich muss mehrere Befehle absetzen, und auch Werte auslesen und kann die Verbindung natürlich nicht ständig öffnen und schließen.
Über das NI I/O Trace Programm konnte ich bereits einige kleine Unterschiede zwischen dem Testpanel und Labview erkennen. Zum einen scheint das Testpanel zwei Open und Close befehle hinter einander auszuführen, von denen einer die Session und der andere die Verbindung öffnet/schließt. Außerdem werden viWritee/viRead statt VISAWrite/VISARead ausgeführt. In den viWrite/viRead befehlen werden im Eingang 4 Paramter übergeben, in den VISAWrite/VISARead keine.
Kennt von euch jemand dieses Problem und kann mir dabei ein bisschen unter die Arme greifen?
Hallo Gerd,
Vielen Dank für deine Antwort. Ich konnte das Problem gerade lösen. Mehr oder weniger mit Hilfe des von dir geposteten Themas.
Für Interessierte: Der Fehler befand sich scheinbar im FrontPanel im Schreibepuffer. Und zwar sah ich, nachdem ich die Anzeige des Schreibepuffers von "Normale Anzeige" auf "'\'-Code-Anzeige" umgeschalten habe, dass beim Einfügen eines CR (\r) ein doppelter Backslash eingefügt wird. Nachdem ich diesen entfernt habe hat es plötzlich funktioniert.
Möglicherweise hört ihr noch öfter von mir
Beste Grüße
Enrico
Zitat:sah ich, nachdem ich die Anzeige des Schreibepuffers von "Normale Anzeige" auf "'\'-Code-Anzeige" umgeschalten habe, dass beim Einfügen eines CR (\r) ein doppelter Backslash eingefügt wird. Nachdem ich diesen entfernt habe hat es plötzlich funktioniert.
Du verkehrst hier Ursache und Wirkung…
- Der Backslash ist das Excape-Zeichen für die \-Code-Anzeige. Wenn du in der normalen Ansicht ein "\" eintippst, wird es in der \-Code-Anzeige immer als "\\" angezeigt.
- Dein Gerät erwartet aber eben das Zeichen CR aka "\r" (in \-Code-Anzeige) aka 13 (ASCII-Wert) aka 0D (Wert in Hexanzeige): das musst du explizit in der \-Code-Anzeige so eingeben!
auch ich habe mehrere Fragen. Ich habe ein Messgerät (TPG366) über Ethernet mit meinem PC über eine Switch verbunden. Ich kann das Messgerät anpingen und habe einen virtuellen COM Port erstellt. Im MAX wird mir die Schnittstelle angezeigt. Wenn ich nun über das VISA-Testpanel versuchen das Messgerät anzusprechen, "hängt" er sich beim lesen auf, bzw. bleibt beim "Read Operation In Progress..." stehen und gibt mir nichts aus. Ich habe schon alle drei Möglichkeiten, den Befehl mit "\r\n", nur "\r" und nur "\n" zu beenden durchprobiert, doch kommt überall das gleiche Problem auf. Hat jemand eine Idee was das Problem sein könnte?
Danke schonmal für die Hilfe,
jahu
diese Fehlermeldung erhalte ich, wenn ich nur die Write Funktion im Testpanel verwende.
Ich habe das oben beschriebene Problem lösen können. Das Messgerät lässt sich nun über das MAX ansprechen.
Wenn ich nun aber ein einfaches VI schreibe, indem genau das gleiche ausgemacht werden soll, bekomme ich folgende Fehlermeldung: " Fehler -1073807298 bei VISA: Schreiben , VISA: (Hex 0xBFFF003E) Operation konnte aufgrund eines I/O-Fehlers nicht ausgeführt werden. " .
Kann mir jemand sagen, wie ich dieses Problem beheben kann?
tausche bitte einmal das "VISA: Öffnen" und das "VISA: seriellen Port konfigurieren" von der Reihenfolge aus (Also erst Konfigurieren und dann Öffnen). Ansonsten öffnest du den COM-Port mit irgendwelchen Standardeinstellungen und nicht mit den von dir konfigurierten Parametern (falls diese abweichen). Das nach dem Öffnen zu tun ändert nichts an den Parametern des schon geöffneten Ports. Daher könnte denke ich auch der Fehler kommen, wenn beispielsweise die Baud-Rate nicht passt.
Vielleicht hilft es ja, probiere es einfahc mal aus.
Viele Grüße,
Ralf
22.10.2019, 07:12 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2019 07:15 von GerdW.)
lass das VISAOpen einfach weg, das wird vom ConfigurePort automatisch mit erledigt:
Außerdem:
1. Bitte bei Stringkonstanten immer den Display-Style sichtbar machen, insbesondere wenn man nicht die Defaulteinstellung verwendet! (Das gilt auch für Zahlenwerte…)
2. VIs bitte nicht mit maximiertem Frontpanel und/oder Blockdiagramm speichern. Ist wirklich lästig, wenn VIs nur 1/16 des Bildschirms wirklich benötigen, aber zweimal die volle Bildschirmfläche belegen…
Das Problem befand sich wohl bei der Ethernet Einstellung. Ich habe das Gerät über USB angeschlossen und noch ein wenig den Feinschliff gemacht. Jetzt funktioniert es Einwandfrei. Daher vermute ich, dass das Problem bei den Ethernet Einstellungen lag.