![]() |
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, ![]() 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 Code: p os 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 ![]() 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 ![]() ![]() 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 ![]() 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 |