23.10.2015, 14:18
Moin,
ich möchte gerne einen Motorcontroller über LabVIEW und RS232 ansteuern. Bis jetzt gab es auch noch keine Probleme, die ich nicht über Google oder LabVIEW Beispiele selber lösen konnte. Allerdings stehe ich jetzt vor einem mir unverständlichem Problem. Aber kurz zu dem Projekt und wie ich mir den Ablauf geplant habe:
- Port wird geöffnet
- Kommunikation wird überprüft
- Motorcontroller wird initilisiert
- ab in die While-Schleife und den Status abfragen, da von dem ja die möglichen Aktionen abhängen
- dann kann eine Referenzfahrt (Der Motor treibt einen Schlitten auf einer Lineareinheit bis an den Endlagentaster) durchgeführt werden, was sich auch im Motorcontroller-Status niederschlägt, da es ein Bit gibt welches dann auf High gesetzt wird sobald eine Referenzfahrt erfolgreich ausgeführt wurde
- Sobald der MC referenziert wurde kann man in den Positionierbetrieb wechseln (welchen ich in diesem Beispiel noch nicht eingebaut habe)
- Wenn man das Programm beendet wird noch der Port geschloßen und das wars dann
Ich würde mir gerne den aktuellen Motorcontroller-Status anzeigen lassen, was auch alles funktioniert, allerdings nur im High-Light Modus, welchen ich zur Überprüfung immer benutze. Sobald ich im "normalem" Modus das Programm betreibe wird mir nichts angezeigt und ich habe auch den Eindruck dass die Auswertung der Statusabfrage am Anfang der While-Schleife überhaupt nicht arbeitet.
Das komische ist nun mein Statusauswerter: Hier wird die Antwort vom MC aufgedröhselt und die einzelnen Bits ausgewertet. Wie gesagt, mein Eindruck ist, dass der nur im High-Light Modus arbeitet oder ist das ein Anzeige Problem? Was dafür spricht dass die Auswertung gar nicht stattfindet ist: Im normalen Betrieb fährt der MC den Schlitten immer wieder gegen den Endlagentaster (wenn man den Referenzfahrtschalter gedrückt lässt), was jedoch durch die Abfrage des MC-Status verhindert werden sollte da der MC nach einmaliger Referenzfahrt den Status "referenziert" erhält und die Referenzfahrt dann geblockt sein sollte. Was wiederum im High-Light Modus funktioniert.
Bei der Suche im Forum bin ich leider auf nichts gestoßen was mir tatsächlich hilft, deshalb hoffe ich auf diesem Weg auf eine kleine Hilfestellung.
Achja, ich benutze übrigens LabVIEW 2014
Grüße und Danke im Vorraus
Ben
ich möchte gerne einen Motorcontroller über LabVIEW und RS232 ansteuern. Bis jetzt gab es auch noch keine Probleme, die ich nicht über Google oder LabVIEW Beispiele selber lösen konnte. Allerdings stehe ich jetzt vor einem mir unverständlichem Problem. Aber kurz zu dem Projekt und wie ich mir den Ablauf geplant habe:
- Port wird geöffnet
- Kommunikation wird überprüft
- Motorcontroller wird initilisiert
- ab in die While-Schleife und den Status abfragen, da von dem ja die möglichen Aktionen abhängen
- dann kann eine Referenzfahrt (Der Motor treibt einen Schlitten auf einer Lineareinheit bis an den Endlagentaster) durchgeführt werden, was sich auch im Motorcontroller-Status niederschlägt, da es ein Bit gibt welches dann auf High gesetzt wird sobald eine Referenzfahrt erfolgreich ausgeführt wurde
- Sobald der MC referenziert wurde kann man in den Positionierbetrieb wechseln (welchen ich in diesem Beispiel noch nicht eingebaut habe)
- Wenn man das Programm beendet wird noch der Port geschloßen und das wars dann
Ich würde mir gerne den aktuellen Motorcontroller-Status anzeigen lassen, was auch alles funktioniert, allerdings nur im High-Light Modus, welchen ich zur Überprüfung immer benutze. Sobald ich im "normalem" Modus das Programm betreibe wird mir nichts angezeigt und ich habe auch den Eindruck dass die Auswertung der Statusabfrage am Anfang der While-Schleife überhaupt nicht arbeitet.
Das komische ist nun mein Statusauswerter: Hier wird die Antwort vom MC aufgedröhselt und die einzelnen Bits ausgewertet. Wie gesagt, mein Eindruck ist, dass der nur im High-Light Modus arbeitet oder ist das ein Anzeige Problem? Was dafür spricht dass die Auswertung gar nicht stattfindet ist: Im normalen Betrieb fährt der MC den Schlitten immer wieder gegen den Endlagentaster (wenn man den Referenzfahrtschalter gedrückt lässt), was jedoch durch die Abfrage des MC-Status verhindert werden sollte da der MC nach einmaliger Referenzfahrt den Status "referenziert" erhält und die Referenzfahrt dann geblockt sein sollte. Was wiederum im High-Light Modus funktioniert.
Bei der Suche im Forum bin ich leider auf nichts gestoßen was mir tatsächlich hilft, deshalb hoffe ich auf diesem Weg auf eine kleine Hilfestellung.
Achja, ich benutze übrigens LabVIEW 2014
Grüße und Danke im Vorraus
Ben