Hallo, ich möchte die Kommunikation, die zwischen einem Sensor und einer Steuerung die über RS485 (NMEA 0183) abläuft, abhören. Kann ich dort einfach einen RS485 zu USB Konverter (z.B. https://www.amazon.de/USB-RS485-Adapter-mit-Geh%C3%A4use/dp/B00I9H5J02/ref=pd_sim_147_1?_encoding=UTF8&pd_rd_i=B00I9H5J02&pd_rd_r=3ad75ecb-e746-11e8-b3ca-35e5b4e40520&pd_rd_w=L4zO0&pd_rd_wg=Qvfz3&pf_rd_i=desktop-dp-sims&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_p=b38829c9-e6e5-4da7-8615-59e5c0de7783&pf_rd_r=GQ3X4Z1MJFGE65795GHQ&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=GQ3X4Z1MJFGE65795GHQ ) parallel auf RX und TX klemmen und z.B. mit HyperTerminal den Datenfluss ansehen?
> RX und TX .. ????
Du meinst Data+ & Data-, es gibt kein Rx und kein Tx. Du musst selbst
wissen in welche Richtung der Verkehr laeuft.
Rol schrieb: > parallel auf RX und TX klemmen Nein, aber auf A, B und GND darfst Du dich dranklemmen :-) Das Mäuseklavier für die Abschlusswiderstände auf "Off" stellen.
Vielen Dank. Noch eine Frage: An der gegebene Hardware kann ich A und B nicht eindeutig zuordnen (ich denke GND schon). Kann ich das einfach ausprobieren oder kann es da Schaden geben?
Rol schrieb: > Kann ich das einfach ausprobieren Ja, Du musst nur sicherstellen, daß Dein Mithörer auf keinen Fall sendet. Wenn Du die Leitungen vertauschst, empfängst Du halt Müll.
Rufus Τ. F. schrieb: > Wenn Du die Leitungen vertauschst, empfängst Du halt Müll. Nö, dann empfängt er die Daten eher invertiert, aber kein Müll :)
A. F. schrieb: > Rufus Τ. F. schrieb: >> Wenn Du die Leitungen vertauschst, empfängst Du halt Müll. > > Nö, dann empfängt er die Daten eher invertiert, aber kein Müll :) Nein er empfängt Müll weil er die vordere Flanke des Startbit nicht mehr detektieren kann, es wird also nicht nur invertiert sondern auch wild verschoben sein, mal mehr mal weniger, je nach Bitmuster, manche Datenbits wird er komplett verpassen und dafür Start- und Stopbits anderer Bytes in den Datenbereich rutschen.
Mit dem RS485 Adapter aus meinem Shop kannst du ohne Probleme mit loggen. Habe ich selbst schon öfters gemacht. (Bei Modbus)
:
Wiederhergestellt durch Admin
Ich habe nun das Teil: https://www.amazon.de/USB-RS485-Adapter-mit-Geh%C3%A4use/dp/B00I9H5J02/ref=pd_sim_147_1?_encoding=UTF8&pd_rd_i=B00I9H5J02&pd_rd_r=3ad75ecb-e746-11e8-b3ca-35e5b4e40520&pd_rd_w=L4zO0&pd_rd_wg=Qvfz3&pf_rd_i=desktop-dp-sims&pf_rd_m=A3JWKAKR8XB7XF&pf_rd_p=b38829c9-e6e5-4da7-8615-59e5c0de7783&pf_rd_r=GQ3X4Z1MJFGE65795GHQ&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=GQ3X4Z1MJFGE65795GHQ parallel zur bestehenden RS485 verbindung geklemmt, in meinen Laptop gestöpselt, Treiber instaliert und einen Verbindung mit Hyper Terminal hergestellt. Die Verbindungsparameter (9600 baud etc.) habe ich richtig eingestelt. Das Ergebnis ist nun, dass die LEDs am RS485 / USB Adapter munter blinken (wenn ich die Verbindung im Hyper Terminal unterbreche, gehen sie aus), ich aber im Fenster von Hyper Terminal nichts angezeigt bekomme. Könnte es sein, dass das daran liegt, dass ich mich im laufenden Betrieb ranhänge? Kann das Hyper Terminal nur dann, wenn ich einen komplette Datei (also insbesonerer mit Anfang und Ende) übertrage? Wie kann ich den "laufenden Datenstrom" abhören?
Beitrag #5622989 wurde von einem Moderator gelöscht.
Hyperterminal ist ein Terminalprogramm, das nur Klartext anzeigt (und ein paar Binärdaten als ESC-Sequenzen interpretiert). Irgendwelche Binärdaten (d.h. mit Zeichencode < 0x20) werden entweder gar nicht dargestellt oder eben als Steuerzeichen interpretiert. Du brauchst kein Terminalprogramm, sondern einen Schnittstellenanalysator. Das gerne fälschlicherweise als Terminalprogramm bezeichnet "HTerm" ist so einer, dieses Programm stellt alle empfangenen Daten ohne Interpretation dar, wahlweise in hex-, dezimal oder auch als ASCII-Zeichen (sofern darstellbar).
Beitrag #5623013 wurde von einem Moderator gelöscht.
Habe meinen RS485 Wandler einfach verbunden und mit Hterm alles mitgelesen. Wenn A&B vertauscht ist, kommt das gleiche an, wie wenn die Baudrate nicht stimmt: Müll PS: Hast du dich auch verbunden?
:
Bearbeitet durch User
Ich höre jetzt mit HTerm ab und empfange zumindest erst einma Mist ;-). Im Manual des Sensors steht: Baud rate = 9600 Data bits = 8 Start bits = 1 Stop bits = 1 Parity = none Flow control = none Nun finde ich leider keine Möglichkeit, in HTerm ein Startbit einzustellen... Wie geht das in HTerm? Oder welches Programm könnte ich zum Abhören nochverwenden (bei dem man ein Startbit einstellen kann)?
Rol schrieb: > Nun finde ich leider keine Möglichkeit, in HTerm ein Startbit > einzustellen... Das macht die Hardware selber, und Werte <> 1 sind absolut unüblich. Wenn Du da Mist empfängst, müsstest Du mal A und B am Empfänger vertauschen.
Startbit UND Stoppbit ist keine Einstellung für den Empfänger. Wenn baudraten und parity stimmen, dann vergleiche noch den Ruhepegel (@Sendepause) RX am PC-Eingang: der muss 0V oder negativ sein. Und wenn Du kein Oszilloskop oder LSA hast, dann wechsle halt AB oder schließ eine LED mit 5k davor an RX (gegen GND)
Achim S. schrieb: > Startbit UND Stoppbit ist keine Einstellung für den Empfänger. Stopbits sind eine Einstellung auch für den Empfänger. Wird mit einem Stopbit gesendet, ist beim Empfänger aber zwei Stopbits angegeben, so kommt es beim Empfänger zu framing errors, wenn der Sender lückenlos sendet. Andersherum passiert das nicht; wird mit zwei Stopbits gesendet, ist beim Empfänger nur eines konfiguriert, gibt es keinen framing error, denn das Verhalten entspricht dem Senden mit einer Pause zwischen den einzelnen Zeichen.
Rufus Τ. F. schrieb: > Wird mit einem Stopbit gesendet, ist beim Empfänger aber zwei Stopbits > angegeben, so kommt es beim Empfänger zu framing errors, wenn der Sender > lückenlos sendet. Wegen dieses Mythos schrieb ich es extra. 2 Stoppbits gibt's nur senderseitig, der Empfänger hat immer weniger als 1 (d.h.: das nächste startbit darf auch ein wenig früher kommen) Das dient dem Ausgleich von Taktabweichungen.
Rol schrieb: > Nun finde ich leider keine Möglichkeit, in HTerm ein Startbit > einzustellen... Was willst am Startbit einstellen? Und weil so eine Funktion unsinnig wäre, gibt es sie in HTerm nicht.
Rufus Τ. F. schrieb: > Hyperterminal ist ein Terminalprogramm, das nur Klartext anzeigt (und > ein paar Binärdaten als ESC-Sequenzen interpretiert). > > Irgendwelche Binärdaten (d.h. mit Zeichencode < 0x20) werden entweder > gar nicht dargestellt oder eben als Steuerzeichen interpretiert. NMEA183 mit 9600Bd verwendet gewöhnlich nur Klartext. Die NMEA Datensätze werden dabei durch ein "$" eingeleitet. NMEA Binärdaten werden gewöhnlich mit 38k4Bd übertragen und mit "!" eingeleitet. Insofern spricht vieles dafür, dass der unbekannte Sensor reine Klartextdaten sendet - also keine Sorge. In der Doku zu Sensor und Steuerung sollte sich zumindest eine Auflistung der verwendeten NMEA-Sentences finden.
Achim S. schrieb: > Wegen dieses Mythos schrieb ich es extra. Wie kommst Du auf die interessante Idee, daß das ein "Mythos" sein soll? Magst Du das mit etwas mehr ... "Futter" unterlegen?
Rufus Τ. F. schrieb: > Achim S. schrieb: >> Wegen dieses Mythos schrieb ich es extra. > > Wie kommst Du auf die interessante Idee, daß das ein "Mythos" sein soll? Weil noch kein solcher UART jemals in freier Wildbahn gesichtet wurde. So wie ein Einhorn oder ein Wolpertinger. Wäre auch reichlich sinnfrei so einen zu konstruieren und wahrscheinlich auch gar nicht lebensfähig weil fehlerhaft by design.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.