LabVIEWForum.de - keine Kommunukation mit rs485 konverterkabel mögl.

LabVIEWForum.de

Normale Version: keine Kommunukation mit rs485 konverterkabel mögl.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
jetzt bin ich auch dabei. Habe folgendes Problem. Will einen Nanotec Schrittmotor (st2818) mit Schrittmotorsteuerung SMCI21-1 und rs485 Konverterkabel nicht mit der mitgelieferten Software ansteuern sondern mit LabVIEW. Habe versucht mit dem Beispiel Basic serial write and read auf die Schrittmotorsteueung zuzugreifen, leider funktioniet das gar nicht. Mit einem rs232 kabel kann ich ganz normal befehle Empfangen und senden aber mit diesem sxx Kabel geht gar nix. Habe versucht einen loopback zu machen, geht aber auch nicht. Weiß jemand was der fehler sein kann. Will einfach nur Befehle senden und empfangen. Das ist doch nicht schwer...
' schrieb:rs485 Konverterkabel
Hast du zu diesem Kabel einen RS232-RS485 Konverter (PC-seitig)? Oder ist der im Stecker des Kabels integriert? Oder hast du eine solche Karte im PC stecken? Möglicherweise braucht der Konverter ein Handshakesignal um die Richtung umzuschalten.
' schrieb:Hast du zu diesem Kabel einen RS232-RS485 Konverter (PC-seitig)? Oder ist der im Stecker des Kabels integriert? Oder hast du eine solche Karte im PC stecken? Möglicherweise braucht der Konverter ein Handshakesignal um die Richtung umzuschalten.
Das ging ja schnell..Danke. Der Konverter steckt im Kabel. Leider weiss ich nicht was ein Handshake bedeutet.
' schrieb:Das ging ja schnell..Danke. Der Konverter steckt im Kabel. Leider weiss ich nicht was ein Handshake bedeutet.
Mach dich mal schlau über RS485 im allgemeinen.

Eine RS485 ist eine Zwei-Draht-Verbindung. Über diesen einen physikalischen Kanal können zwei logische Kanäle übertragen werden: Der Sendekanal TxD und der Empfangskanal RxD. Es kommt jetzt hier auf den Konvertertyp an. Manche Konverter verlangen ein DTR/RTS-Signal um quasi den logischen Kanal auszuwählen. Hast du so einen Konverter, dann musst du z.B. die DTR-Leitung auf low setzten um empfagen zu können und auf high setzten um senden zu können. Konvertertypen RS232<=>RS485 gibt es einige. Möglicherweise benutzt du ja auch nur den RS422-Typ.

Ich würde zuerst einmal prüfen, ob die rein physikalische Seite der Schnittstelle passt - muss an dem Konverter ein bestimmtes Signal anliegen um zu senden/empfangen oder nicht. Das sollte aus der Beschreibung der Kabels respektive des Endgerätes hervor gehen.

Hinweis:
Diese meine Ausführungen sind nur Vermutungen. Ob sie dein Problem an sich treffen, kann ich natürlich nicht entscheiden.
' schrieb:Mach dich mal schlau über RS485 im allgemeinen.

Eine RS485 ist eine Zwei-Draht-Verbindung. Über diesen einen physikalischen Kanal können zwei logische Kanäle übertragen werden: Der Sendekanal TxD und der Empfangskanal RxD. Es kommt jetzt hier auf den Konvertertyp an. Manche Konverter verlangen ein DTR/RTS-Signal um quasi den logischen Kanal auszuwählen. Hast du so einen Konverter, dann musst du z.B. die DTR-Leitung auf low setzten um empfagen zu können und auf high setzten um senden zu können. Konvertertypen RS232<=>RS485 gibt es einige. Möglicherweise benutzt du ja auch nur den RS422-Typ.

Ich würde zuerst einmal prüfen, ob die rein physikalische Seite der Schnittstelle passt - muss an dem Konverter ein bestimmtes Signal anliegen um zu senden/empfangen oder nicht. Das sollte aus der Beschreibung der Kabels respektive des Endgerätes hervor gehen.

Hinweis:
Diese meine Ausführungen sind nur Vermutungen. Ob sie dein Problem an sich treffen, kann ich natürlich nicht entscheiden.
Leider komm ich irgendwie nicht weiter. Hab noch ein paar Infos. Der RS485 von Nanotec ist ein 4-Draht-Bus(Rx+, Rx-, Tx-, Tx+) und wird als reine master-slave anwendung benutzt. Vielleicht hat ja jemand noch ein Tipp für mich.
' schrieb:Der RS485 von Nanotec ist ein 4-Draht-Bus(Rx+, Rx-, Tx-, Tx+)
... und wird deswegen auch als RS422 bezeichnet.

Erstens:
Deinem ersten Post ganz oben entnehme ich, dass du dich mittels einem ganz normalen RS232-Kabel mit dem Schrittmoter unter Benutzung von LV unterhalten kannst. Stimmt das?

Zweitens:
Und das Programm vom Hersteller kann sich auf dem selben PC (!) mit dem RS485-Kabel mit dem Schrittmotor unterhalten. Stimmt das auch?

Fazit:
Wenn beides stimmt - muss es eigentlich funktionieren.
' schrieb:... und wird deswegen auch als RS422 bezeichnet.

Erstens:
Deinem ersten Post ganz oben entnehme ich, dass du dich mittels einem ganz normalen RS232-Kabel mit dem Schrittmoter unter Benutzung von LV unterhalten kannst. Stimmt das?

Zweitens:
Und das Programm vom Hersteller kann sich auf dem selben PC (!) mit dem RS485-Kabel mit dem Schrittmotor unterhalten. Stimmt das auch?

Fazit:
Wenn beides stimmt - muss es eigentlich funktionieren.
Nicht ganz, ich kann nicht mit der RS232 den Motor steuern. Ich habe nur mit einem Backloop bei der rs232 (Pins überbrückt und daten geschrieben/gelesen) um zu überprüfen ob LV überhaupt was zu Schnittstelle schickt. Der 2.Punkt ist volkommen richtig. Übertragungsrate/Parität stimmt auch. Ich weiß nur nicht ob ich irgendeine flow control brauche. Ein Backloop laut der Hilfe in LV schaffe ich mit dem RS485 Konverter Kabel nicht. Ich bin am verrückt werden..
' schrieb:Ich habe nur mit einem Backloop bei der rs232 (Pins überbrückt und daten geschrieben/gelesen) um zu überprüfen ob LV überhaupt was zu Schnittstelle schickt.
Genau das solltest du auch mit dem RS485-Kabel schaffen - dieses Vorgehen finde ich richtig.

Zitat:Ich weiß nur nicht ob ich irgendeine flow control brauche. Ein Backloop laut der Hilfe in LV schaffe ich mit dem RS485 Konverter Kabel nicht.
"flow control" im Sinne der normalen DÜ brauchst du wohl eher nicht (Das wird durch das Master/Slave-Verfahren gemanagert). Aber, mir ist noch was eingefallen: Eine RS422/RS485 ist ja eine Busschnittstelle. D.h. die Sendeleitung ist abschaltbar respektive auf tristate schaltbar! Und das wird über eine Handschake-Leitung gemacht!

Du hast zwei Möglichkeiten. Nachmessen. Miss nach, ob das Herstellerprogramm die Leitung DSR (Pin4) oder CTS (Pin7) umschaltet respektive benutzt. Diese Leitung musst du dann von LV aus explizit (logisch) setzen. Oder du probierst es einfach aus. Der Reihe DSR und/oder CTS setzen und den LoopBack probieren.
' schrieb:Genau das solltest du auch mit dem RS485-Kabel schaffen - dieses Vorgehen finde ich richtig.

"flow control" im Sinne der normalen DÜ brauchst du wohl eher nicht (Das wird durch das Master/Slave-Verfahren gemanagert). Aber, mir ist noch was eingefallen: Eine RS422/RS485 ist ja eine Busschnittstelle. D.h. die Sendeleitung ist abschaltbar respektive auf tristate schaltbar! Und das wird über eine Handschake-Leitung gemacht!

Du hast zwei Möglichkeiten. Nachmessen. Miss nach, ob das Herstellerprogramm die Leitung DSR (Pin4) oder CTS (Pin7) umschaltet respektive benutzt. Diese Leitung musst du dann von LV aus explizit (logisch) setzen. Oder du probierst es einfach aus. Der Reihe DSR und/oder CTS setzen und den LoopBack probieren.
Vielen Dank, leider schaff ichs nicht. Hab es jetzt durch probieren versucht aber bekomme immer noch keine Antwort. Bin gerade so am verzweifeln. Versuchs noch bis nachmittag dann fahr ich in Urlaub. Wenn jemanden noch was einfällt freue ich mich ...
Referenz-URLs