LabVIEWForum.de
Probleme bei der Kommunikation mit Faulhaber Motoren - 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: Probleme bei der Kommunikation mit Faulhaber Motoren (/Thread-Probleme-bei-der-Kommunikation-mit-Faulhaber-Motoren)



Probleme bei der Kommunikation mit Faulhaber Motoren - Allyoucaneat - 08.09.2011 10:54

Hallo,

schon ein bisschen alt der Thread aber ich versuchs trotzdem mal Smile
EDIT jg: Thread geteilt. Beitrag ursprünglich in diesem Thread, aus dem auch das Terminal-Programm stammt.

Ich habe mir mal dieses nette Terminal runtergeladen und direkt ausprobiert, weil ich gerade selbst nen Motor über die Schnittstelle programmieren möchte. Allerdings scheint es nicht so zu tun wie es sollte... Der Motor ist von Faulhaber und die mitgelieferte Software funktioniert, auch ein anderes (in Delphi programmiertes) Terminal funktioniert einwandfrei! Die LVTerminals (und auch die NI Beispiele!) funktionieren aber leider nicht!
Der Port wird zwar erkannt (und auch das kleine "angeschlossen"-Symbol erscheint) aber irgendwie reagiert das Ding auf gar nichts!
Wenn ich z.B. irgendwas aus dem Property Node auslesen will bleibt einfach alles leer, beim Schreiben und Lesen passiert einfach garnichts, usw.

Edit: Hatte noch was vergessen:
Wenn ich in dem Terminal "Connect" einschalte und dann im Textfeld einen Befehl eintippe, dann macht er mir immer komische Leerzeichen rein.
Also unconnectet sieht der Befehl so aus:
Code:
pos
und connectet dann so:
Code:
p     os
oder so ähnlich.
Und das ist bei fast allen Befehlen so also es liegt nicht nur am p

Die Einstellungen müssten soweit passen (Baud-Rate, Parity, usw.) 1. hab ich das Handbuch gelesen Wink und 2. funktionierts mit genau denselben Einstellungen ja im Faulhaber und im Delphi Terminal.
Kann es sein, dass da in LV noch irgendwas einzustellen ist?
Woran kann das sonst liegen?
Was könnte ich noch machen um der Sache näher auf den Grund zu gehn?
Gibts noch alternative LV-Terminals, die man empfehlen kann?

Bitte um Hilfe, komme echt nicht weiter...

Gruß
Allyoucaneat


RE: Probleme bei der Kommunikation mit Faulhaber Motoren - jg - 08.09.2011 20:15

Die einfachsten Bsp zur RS232-Kommunikation findest du im NI-Example Finder.

Weitere einfache Bsps:
http://www.labviewforum.de/Thread-RS-232-Problem?pid=40126#pid40126
http://www.labviewforum.de/Thread-RS232-Kommunikation--3460?pid=90170#pid90170

Das generelle Problem dürfte aber sein, dass dein Faulhaber Motor/Controller eben nicht nur einen String "pos" erwartet, sondern bestimmt noch ein CR oder ein LF oder auch beides. Das musst du mal im Handbuch nachlesen.
So ein Abschluss-Sendezeichen fügt dir LabVIEW nicht hinzu (außer du konfigurierst es).
Im Bsp "Advanced Serial Write and Read.vi" aus dem NI-Examplefinder kann man sich anschauen, wie es geht.

Gruß, Jens


RE: Probleme bei der Kommunikation mit Faulhaber Motoren - Allyoucaneat - 12.09.2011 12:29

Danke für die Antwort,

Habs hinbekommen! Hatte wohl übersehen, dass bei dem Terminal von eg, die Baudrate beim Starten immer auf 18k-irgendwas gestellt wird und somit wohl 1-2mal mit der falschen Baudrate rumprobiert Confused Blush
Jetzt funktionierts auf jeden Fall und ich konnte den Motor in mein Program einbinden.
ein CS und LF braucht der Controller aber definitiv! Habe das einfach mit in den Schreibepuffer, der VISA-Write.vi geschrieben klappt wunderbar Smile

Jetzt hätte ich aber noch ne Frage zur asynchronen Rückmeldung:
Ich möchte wissen, wann der Controller/Motor fertig ist mit seiner Bewegung. Bislang habe ich das mit einer "pos"-Abfrage ("pos" schreiben -> Port lesen) alle 100ms realisiert. Habe nun entdeckt, dass der Controller "asynchrone Abfragen" beherrscht und ein "p" zurück gibt, wenn die gefragte Position überfahren wurde, allerdings ist das ja im Prinzip dasselbe: Ich lese alle paar ms, ob ein "p" kommt (anstatt die Position zu lesen). Geht das vlt. eleganter?
Gibts ne VISA.vi, die mir nen Interrupt ähnlichen Zustand hervorruft? (den ich vlt sogar in meine Event-Struktur einbauen kann?)

Danke für die Hilfe

Grüße
Allyoucaneat