Forum: Mikrocontroller und Digitale Elektronik RS485 abhören


von Rol (Gast)


Lesenswert?

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?

von Purzel H. (hacky)


Lesenswert?

> RX und TX .. ????

Du meinst Data+ & Data-, es gibt kein Rx und kein Tx. Du musst selbst 
wissen in welche Richtung der Verkehr laeuft.

von Stefan P. (form)


Lesenswert?

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.

von Rol (Gast)


Lesenswert?

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?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von A. F. (artur-f) Benutzerseite


Lesenswert?

Wird nicht schaden, solange du nur zuhörst.

von A. F. (artur-f) Benutzerseite


Lesenswert?

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 :)

von Bernd K. (prof7bit)


Lesenswert?

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.

von Bastler (Gast)


Lesenswert?

Evtl. das hier: https://www.ebay.de/itm/253970707913

Hat mir bei Profibus geholfen.

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Lesenswert?

Mit dem RS485 Adapter aus meinem Shop kannst du ohne Probleme mit 
loggen.
Habe ich selbst schon öfters gemacht. (Bei Modbus)

: Wiederhergestellt durch Admin
von Rol (Gast)


Lesenswert?

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.
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.
von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Lesenswert?

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
von Rol (Gast)


Lesenswert?

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)?

von Jim M. (turboj)


Lesenswert?

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.

von A. S. (Gast)


Lesenswert?

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)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von A. S. (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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?

von Bernd K. (prof7bit)


Lesenswert?

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
Noch kein Account? Hier anmelden.