LabVIEWForum.de
Visa Fehlermeldung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Visa Fehlermeldung (/Thread-Visa-Fehlermeldung)



Visa Fehlermeldung - Amina - 05.04.2014 02:24

Hallo zusammen,
hat Jemand hier Erfahrung mit Nanotec Motoren und Steuerung, ich hab hier einen Motor ST8918 von Nanotec und eine Steuerung SMCI-47S und die Treiber habe ich bereits installiert, sodass die COM Schnittstelle sowohl im MAX als auch im Geräte Mnager aufgelistet ist. Mit Software von Nanotec kann ich die Steuerung ansprechen und den Motor steueren, aber mit LabView Programm von Nanotec kommt immer eine Fehlermeldung (−1073807339==Zeitüberschreitung, bevor der Vorgang abgeschlossen werden konnte.) dann hab ich versucht, die Visa Schreiben und lesen in einer Flachen Sequenz und dazwischen eine warte Zeit, aber hat auch nicht geholfen. Im Anhang ist ein kleines Programm, mit dem ich versucht, die Befehle zu schreiben und die Antwort zu lesen.
Hat vielleicht jemand eine Idee oder schon Erfahrung mit Nanotec Produkte. Das Thema wurde schon im Forum besprochen.
Gruß Amina


RE: Visa Fehlermeldung - cb - 05.04.2014 07:27

Hallo Amina,

versuchs mal mit dem angehängten VI:

1. das Messgerät wird nicht ständigig mit dem Befehl "zugespammt" sondern nur wenn du auf "senden" drückst
2. zwischen VISA Write und VISA Read ist eine Wartezeit, die dem µC des Geräts etwas Zeit gibt den empfangenen Befehl zu verarbeiten und eine Antwort zu senden. Fang mal mit 50 ms an und geh dann runter, bis die Antwort "verkrüppelt" ist. Dann gibst du wieder ein paar ms zu bis die Kommunikation "stabil" ist
3. mit "Bytes at Port" wird ausgelesen wieviel Bytes das Messgerät als Antwort geschickt hat und nur diese Anzahl Bytes wird dann auch von VISA Read gelesen

viele Grüße
cb


RE: Visa Fehlermeldung - Lucki - 05.04.2014 09:59

Vide-Read liest entweder sofort oder wartet. Warten tut es so lange, bis eine der der folgenden drei Bedingungen gegeben ist:
  • Im Empfangspuffer kommt ein Zeilenendezeichen an
  • Die per Eingansbelegung geforderte Bytezahl befindet sich im Puffer
  • Timeout wird erreicht
Du hast alles richtig gemacht. Der Modus "Serielle Kommunikation mit Zeileendeerkennung" ist wunderber einfach und stabil und braucht keine Wartezeit vor Read und nachfolgende Abfrage der Bytes. Das VI von CB ist aber für Testzwecke, ob vom Gerät überhaupt etwas kommt und wenn ja, was, sehr gut.
Bei Dir liegt Timeout vor. Diagnose: 3 Möglichkeiten: a) Es kommt vom Sender überhaupt nichts an, b) es kommt kein Zeilenendezeichen oder c) es kommt nicht das erwartete Zeilenendezeichen. Finde es mit dem VI von CB heraus!
Wenn vom Sender nichts ankommt, kann das u.a. daran liegen, dass Du nach dort das falsche Zeienendezeichen schickst.
(Vorverdacht: Standard für Zeilendeerkennung ist eher xA (10) als xD (13)

Habe mal Dein VI, bei unveränderter Funktion, etwas vereinfacht.
[attachment=49237]
Edit: Habe im Programmierhandbuch von Nanotec mal nachgescheut, deine Zeilenendeerkennung stimmt. Wenn das nanotec-Testprogramm funktioniert, verwendest Du da das gleiche Kabel, den gleichen Rechner? Und wird die Schnittstelle vom Nanotek-Programm wieder freigegeben, bevor du mit Labview experimentierst? Stimmt die Geräteadresse "1" ? Stimmen die Schnittstellenparameter?


RE: Visa Fehlermeldung - Amina - 06.04.2014 12:33

Hallo Lucki und cb,
danke euch für die Hilfe genau das war die Lösung für mein Problem, jetzt kann ich die Befehle schicken und die Antwort lesen und mit COM Port funktioniert jetzt super. Ich habe SubVis Schreiben, Lesen und Schreiben/Lesen gebastelt.
Die Aufgabe ist:
Motor dreht sich
Rotationsgeschwindigkeit varrieren
Drehrichtung varrieren
Drehgeber auslesen
Motor für eine bestimmte Zeit stoppen und wieder drehen.
weiss Jemand wie die Reihenfolge aussehen sollte um diese zu realisieren.
liebe Grüße Amina


RE: Visa Fehlermeldung - cb - 07.04.2014 07:11

(06.04.2014 12:33 )Amina schrieb:  Die Aufgabe ist:
Motor dreht sich
Rotationsgeschwindigkeit varrieren
Drehrichtung varrieren
Drehgeber auslesen
Motor für eine bestimmte Zeit stoppen und wieder drehen.
weiss Jemand wie die Reihenfolge aussehen sollte um diese zu realisieren.
liebe Grüße Amina

Bahn

äh ja äh, nimm doch einfach die Reihenfolge von Oben oder wie meinst das jetzt?

allgemeiner Tip: verschiedene Betriebs-zustände eines Gerätes steuert man am besten mit einer "State Machine" an ==> Forum Suche bemühen ...

viele Grüße
cb