Forum: Mikrocontroller und Digitale Elektronik RS 485 Kommunikationsproblem


von Höpke (Gast)


Angehängte Dateien:

Lesenswert?

Moin Leute,
in Zuge einer  Abschlussarbeit muss ich mich mit einem RS485 Bus 
beschäftigen. Der Bus verbindet eine RC Regler mit einem Laptop. Ziel 
ist es, einzelne Parameter abzufragen. Laut Hersteller arbeitet der 
Regler nach dem Query-Answer  Prinzip. Ich schicke also eine Anfrage und 
bekomme eine Antwort. Das Funktioniert aber leider nicht. Der Hersteller 
hat mir ein Bild geschickt, bei dem eine Antwort kommt (unteres 
Oszibild). Jetzt zu meiner Frage. Wieso antwortet der Regler bei Ihm und 
bei mir leider nicht?
Herstellervorgaben sind: 1 Startbit, 1 Stoppbit, kein Parität-Bit und 
eine Baudrate von 38400
Gesendet wird: Fe 00 01 01 in Hex
Ich verwende einen Digitus Rs485 to USB. Laut gilt Hersteller A+485 und 
B-485
Im direkten Vergleich zwischen meinem Bild (oben) und dem Bild des 
Herstellers, ist ein Unterschied beim Startbit zu erkennen. Kann das der 
Grund sein?
 Des Weiteren ist Kanal A und B vertauscht. Ich habe alles in Absprachen 
mit dem Hersteller angeschlossen. Ein Wechsel der Leitungen erbrachte 
auch keinen Erfolg.
Ich hoffe Ihr könnt mir helfen.

Gruß

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und wie löst der Digitus-Wandler das Thema 
Sender-/Empfänger-Umschaltung?

Damit Du etwas empfangen kannst, musst Du den RS485-Sender so schnell 
wie möglich nach dem Senden des letzten Bits abschalten.

Geschieht das nicht, wird vom Sender aktiv der RS485-Bus belegt, was das 
Empfangen erfolgreich verhindert.

Es gibt RS485-Adapter, die das in Hardware selbst erledigen (so z.B. die 
Kombination eines FT232 mit einem RS485-Treiber laut Musterbeschaltung 
im Datenblatt), aber es gibt auch welche, bei denen das der PC per 
Software machen muss.

Vielleicht musst Du diese Hardware-Ansteuerung bei Deinem Adapter auch 
eigens einschalten?

Nimm Dein Oszillogramm mal auf, wenn die Gegenstelle nicht mit Deinem 
Adapter verbunden ist. Nach dem letzten gesendeten Bit muss sich der 
Zustand gegenüber dem Stopbitpegel verändern. Tut er das nicht, hast Du 
o.g. Problem.

von Mathias O. (m-obi)


Lesenswert?

Terminierung ist beidseitig vorhanden?

von Tcf K. (tcfkao)


Lesenswert?

Du weißt ja dass bei RS485 immer nur einer senden darf, und alle anderen 
Busteilnehmer müssen empfangen? Wie schaltest Du die Senderichtung ein 
bei dem Schnittstellenwandler? Beim Request muss der auf Senden gehen, 
und direkt danach auf Receive -- sonst kannst Du die Antwort nicht 
hören.

von Höpke (Gast)


Angehängte Dateien:

Lesenswert?

Wie der Konverter zwischen Senden und Empfangen umschaltet, konnte ich 
leider noch nicht herausfinden. Anbei ein Bild von der internen 
Beschaltung.

von Michael K. (Gast)


Lesenswert?

Wieso, Du bekommst Doch eine Antwort ?
Man sieht deutlich das Dein Wandler den Bus freigibt und der Slave seine 
Antwort absetzt.

Dein Problem ist wohl eher die PC Seite.
Aktuelle Treiber und Docklight verwenden.

von Stephan (Gast)


Lesenswert?

das was Rufus sagte hätte ich auch vermutet, aber der Adapter hat eine 
FT232RL, der sollte laufen. Es sei denn der Adapter kommt aus 
Asien.(Nachbau)

Kannst du deine Messung zum Org. mal gleich machen?
Deine Messung ist etwas anders(kürzer?), aber es kann auch an der 
Auflösung liegen.

von Michael K. (Gast)


Lesenswert?

Höpke schrieb:
> Wie der Konverter zwischen Senden und Empfangen umschaltet, konnte ich
> leider noch nicht herausfinden.

TXDEN !
Macht der FTDI in Hardware, wenn richtig konfiguriert.

von Höpke (Gast)


Lesenswert?

Terminierung ist vorhanden.

von Höpke (Gast)


Lesenswert?

Das schwarze Oszibild ist vom Hersteller. Bei Ihm antwortet der Regler.

von Höpke (Gast)


Angehängte Dateien:

Lesenswert?

Dieses Bild zeigt den Bus ohne weitere Teilnehmer

von Marc H. (marchorby)


Lesenswert?

Höpke schrieb:
> Das schwarze Oszibild ist vom Hersteller. Bei Ihm antwortet der
> Regler.

Die Signale des Reglers scheinen mir unterhalb der Hysterese des MAX zu 
sein! Auch wenn der Bus differentiell ist, so benötigt man doch eine 
Mindestspannung...

Ich sehe bei Dir vom Hersteller 1V und der MAX485 braucht 2V min für 
High

: Bearbeitet durch User
von mse2 (Gast)


Lesenswert?

Marc H. schrieb:
> Die Signale des Reglers scheinen mir unterhalb der Hysterese des MAX zu
> sein! Auch wenn der Bus differentiell ist, so benötigt man doch eine
> Mindestspannung...
...und die liegt bei 200mV.
Nun sehe ich hier zwar keine Achsenbeschriftung, wenn das Querry-Signal 
jedoch ordentlich groß ist (mehrere Volt), dann reicht auch der 
Antwort-Pegel.

von Bernd K. (prof7bit)


Lesenswert?

Rufus Τ. F. schrieb:
> Damit Du etwas empfangen kannst, musst Du den RS485-Sender so schnell
> wie möglich nach dem Senden des letzten Bits abschalten.

Macht er doch, siehe oberes oszi-Bild.

Ich tippe auf:

* a/b vertauscht
* Failsafe vertauscht

Obiges gibt genau 4 mögliche Kombinationen nur eine davon wird 
funktionieren. Die gilt es herauszufinden.

a und b sind oft nicht der Norm entsprechend bezeichnet (vertauscht), 
irgendein schlampiger Transceiverhersteller hat das vor langer Zeit mal 
in seinem Datenblatt versehentlich verbockt, ein paar andere habens 
blind nachgemacht und seitdem herrscht Chaos. Die Buchstaben kannst Du 
also getrost vergessen.

Manche Gerätehersteller bezeichnen die Anschlüsse daher auch mit D+ und 
D-, das ist schon unmissverständlicher. Notfalls messen wo invertierter 
und nicht-invertierter Anschluss ist und/oder ausprobieren.

von Tcf K. (tcfkao)


Lesenswert?

Bist Du sicher dass Du mit 38400 sendest? Wenn ich mir Dein Startbit 
ansehe sieht das eher nach 9600 Baud aus...

von Höpke (Gast)


Lesenswert?

Bernd K. schrieb:
> a und b sind oft nicht der Norm entsprechend bezeichnet (vertauscht),
> irgendein schlampiger Transceiverhersteller hat das vor langer Zeit mal
> in seinem Datenblatt versehentlich verbockt, ein paar andere habens
> blind nachgemacht und seitdem herrscht Chaos. Die Buchstaben kannst Du
> also getrost vergessen.

Im Datenblatt kann man die Beschaltung sehen. A-->+485 und B-->-485

Wenn ich die Leitungen tausche sehe ich in meinem Programm eine 00 als 
Antwort

von mse2 (Gast)


Lesenswert?

Tcf K. schrieb:
> Bist Du sicher dass Du mit 38400 sendest? Wenn ich mir Dein
> Startbit
> ansehe sieht das eher nach 9600 Baud aus...
Wie kommst Du denn darauf? Bei 9600 wäre ein Bit über 100us lang, das 
ist hier definitiv nicht der Fall.

von mse2 (Gast)


Lesenswert?

Höpke schrieb:
> Im Datenblatt kann man die Beschaltung sehen. A-->+485 und B-->-485
Das ist auch üblich.

> Wenn ich die Leitungen tausche sehe ich in meinem Programm eine 00 als
> Antwort
Aber im Oszillogramm ist immer noch keine Antwort zu sehen?! (Oder doch 
oder was?)

von Bernd K. (prof7bit)


Lesenswert?

Höpke schrieb:
> Dieses Bild zeigt den Bus ohne weitere Teilnehmer

Da fehlen eindeutig die Failsafe-Pullups/Pulldowns um die Vorspannung im 
Leerlauf herzustellen. Die braucht man nur einmal im ganzen Bus und sind 
oft nicht im Gerät sondern werden kurzerhand als bereits vorhanden zu 
seiender Teil der installierten Bus-Infrastruktur angesehen. Manchmal 
gibts auch Jumper an den Geräten um bei Bedarf welche zuzuschalten, 
manchmal wird auch lapidar darauf hingewiesen dafür Sorge zu tragen dass 
am Bus diese Komponenten bereits vorhanden zu sein haben.

Also: Googlen wie so ein Bus vorgespannt und abgeschlossen sein muss.

von Christian B. (casandro)


Lesenswert?

Vermutlich schaltet der erste Teilnehmer seinen Sender nicht aus, 
deshalb treiben beide Sender gegeneinander, was bei gleichen Sendern 
dazu führt, dass Du ungefähr halbe Pegel bekommst.

von Höpke (Gast)


Lesenswert?

38400 Baud ist Herstellervorgabe und in meinem Programm eingestellt. 
Pegel müssten auch passen. 2-2,5 Volt in Idel und dann gehen A und B auf 
ca 3,5 und 1,5 Volt. Differnez > 200mv

von Bernd K. (prof7bit)


Lesenswert?

Christian B. schrieb:
> Vermutlich schaltet der erste Teilnehmer seinen Sender nicht aus,

Nein, schau aufs Oszillogramm, da siehst Du dass er sofort abschaltet.

Der Fehler ist daß ganz offensichtlich deutlich zu sehen ist daß 
Failsafe und Terminierung vergessen wurden.

von Michael K. (Gast)


Lesenswert?

Christian B. schrieb:
> Vermutlich schaltet der erste Teilnehmer seinen Sender nicht aus,

Nee, das sieht anders aus. Da sieht man die Einbrüche der Signale.
Der Sender gibt hier den Bus frei und da keine failsafe Rs geht der auf 
Mitte.

Höpke schrieb:
> Dieses Bild zeigt den Bus ohne weitere Teilnehmer
Ich habe mich schon gefragt was diese komische Strichzeichnung da oben 
soll auf der rein garnichts zu erkennen ist.

Jetzt klär mich mal auf was die zwei Messungen sollen.
Es geht doch gerade um einen Bus. Klemm einen Tastkopf zwischen AB und 
zeig uns das.
Hast Du den GND von Sender und Empfänger verbunden ?
Wenn nein dann mach das mal.

von Michael K. (Gast)


Lesenswert?

Bernd K. schrieb:
> Der Fehler ist daß ganz offensichtlich deutlich zu sehen ist daß
> Failsafe und Terminierung vergessen wurden.

Ja, aber das macht bei kurzen Strecken nicht viel aus.
Das müsste ein sehr empfindlicher Slave sein das der deterministisch 
immer Fehler erkennt und nicht antwortet.

von mse2 (Gast)


Lesenswert?

Bernd K. schrieb:
> Der Fehler ist daß ganz offensichtlich deutlich zu sehen ist daß
> Failsafe ... vergessen wurden.
Das Oszillogramm spricht dafür, trotzdem im Schaltplan des Konverters 
welche eingezeichnet sind.

von Peter (Gast)


Lesenswert?

> Herstellervorgaben sind: 1 Startbit, 1 Stoppbit, kein Parität-Bit und
eine Baudrate von 38400

Ist das safe bei dir so konfiguriert?

von Höpke (Gast)


Angehängte Dateien:

Lesenswert?

mse2 schrieb:
> Bernd K. schrieb:
>> Der Fehler ist daß ganz offensichtlich deutlich zu sehen ist daß
>> Failsafe ... vergessen wurden.
> Das Oszillogramm spricht dafür, trotzdem im Schaltplan des Konverters
> welche eingezeichnet sind.

Im Schaltplan sehe ich Failsafe-Pullups/Pulldowns oder seh ich das nicht 
richtig?

von Tcf K. (tcfkao)


Lesenswert?

Bernd K. schrieb:
> Da fehlen eindeutig die Failsafe-Pullups/Pulldowns um die Vorspannung im
> Leerlauf herzustellen. Die braucht man nur einmal im ganzen Bus und sind
> oft nicht im Gerät sondern werden kurzerhand als bereits vorhanden zu
> seiender Teil der installierten Bus-Infrastruktur angesehen. Manchmal
> gibts auch Jumper an den Geräten um bei Bedarf welche zuzuschalten,
> manchmal wird auch lapidar darauf hingewiesen dafür Sorge zu tragen dass
> am Bus diese Komponenten bereits vorhanden zu sein haben.

Die "Failsafe" und Terminierung sind im Konverter, siehe Schaltplan vom 
Posting um 18:31.

von Höpke (Gast)


Angehängte Dateien:

Lesenswert?

Bernd K. schrieb:
> Da fehlen eindeutig die Failsafe-Pullups/Pulldowns um die Vorspannung im
> Leerlauf herzustellen. Die braucht man nur einmal im ganzen Bus und sind
> oft nicht im Gerät sondern werden kurzerhand als bereits vorhanden zu
> seiender Teil der installierten Bus-Infrastruktur angesehen. Manchmal
> gibts auch Jumper an den Geräten um bei Bedarf welche zuzuschalten,
> manchmal wird auch lapidar darauf hingewiesen dafür Sorge zu tragen dass
> am Bus diese Komponenten bereits vorhanden zu sein haben.

Ich hab die Failsafe Widerstände makiert. oder sind das keine 
Failsafe-Widerstände???

von Höpke (Gast)


Lesenswert?

Wenn mit der Hardware alles okay ist, wo liegt dann der Fehler??? Ich 
benutze zum Test Awavo Com Port Monitor. Muss ich den Bus über die 
Software freischalten, um die Antwort zu bekommen????

von Bernd K. (prof7bit)


Lesenswert?

Höpke schrieb:
> Ich hab die Failsafe Widerstände makiert. oder sind das keine
> Failsafe-Widerstände???

Doch, eindeutig, das sind welche. Aber im Oszillogramm ist nichts davon 
zu sehen. Geht das Oszillogramm auch mit dünneren Linien, da sollten 
schon mindestens 300mV oder mehr Differenz zu sehen sein, wenn Du keinen 
zweiten Abschluss auf der anderen Seite hast sogar eher mehr als ein 
halbes Volt, sollte also deutlich zu sehen sein.

Sind da vielleicht noch Jumper oder Lötbrücken um die einzuschalten oder 
sind sie nur vorgesehen und in diesem Exemplar nicht bestückt?

: Bearbeitet durch User
von Höpke (Gast)


Lesenswert?

Michael K. schrieb:
> Jetzt klär mich mal auf was die zwei Messungen sollen.
> Es geht doch gerade um einen Bus. Klemm einen Tastkopf zwischen AB und
> zeig uns das.
> Hast Du den GND von Sender und Empfänger verbunden ?
> Wenn nein dann mach das mal.

Ich weiß nicht was ich schicken soll. Ich habe GND verbunden und an 
Busleitung A Kanal A des Oszis gelegt und an Busleitung B Kanal B 
gelegt.

Der Sinn ist es eine Antwort zu bekommen. Die leider nicht kommt

von Bernd K. (prof7bit)


Lesenswert?

Höpke schrieb:
> Ich weiß nicht was ich schicken soll. Ich habe GND verbunden und an
> Busleitung A Kanal A des Oszis gelegt und an Busleitung B Kanal B
> gelegt.

Du kannst die "MATH"-Funktion des Oszi nehmen um bequem die Differenz zu 
messen, dann musst Du nicht wie Michael K vorgeschlagen einen fetten 
Kurzschluss mit GND bauen sondern kannst differentiell mit 2 Tastköpfen 
messen.

von Tcf K. (tcfkao)


Lesenswert?

Wenn die Widerstände alle drin sind muss ohne dass einer sendet die 
Spannungsdifferenz zwischen beiden Leitung größer 0,5V sein.
Das kannst Du auch mit dem DVM nachmessen.

von Höpke (Gast)


Lesenswert?

Ich bin jetzt leider nicht mehr im Labor, aber wenn ich nichts send 
(idel)ist keine Differenz zwischen Leitung A und B. Werd aber morgen 
nochmal Bilder mit einer besseren Auflösung machen. Vielleicht sind die 
Widerstände doch nicht integriert???

von Tcf K. (tcfkao)


Lesenswert?

Höpke schrieb:
> Ich bin jetzt leider nicht mehr im Labor, aber wenn ich nichts send
> (idel)ist keine Differenz zwischen Leitung A und B. Werd aber morgen
> nochmal Bilder mit einer besseren Auflösung machen. Vielleicht sind die
> Widerstände doch nicht integriert???

Ja, so sieht es aus... falls Du den Konverter öffnen kannst sieh nach, 
ansonsten extern die beiden 470R anklemmen. Wie gesagt, ohne dass einer 
sendet und ohne dass am Konverter noch etwas angeschlossen ist (also 
keine zweite Terminierung) sollte eine Differenz von >0,5V anstehen, 
einfach mit dem DVM nachzumessen.

von Bastian W. (jackfrost)


Lesenswert?

Hi,

Mit was hast du das Programm geschrieben ?
Ich hab mit C# ein Programm geschrieben welches über RS485 mit einem
Coriolismassenflussmesser kommuniziert. Hier hab ich nach der Anfrage 
den FTDI aktiv auf empfangen umgeschalten. Ob es ohne auch geh hab ich
nicht probiert.

Gruß JackFrost

von Michael K. (Gast)


Lesenswert?

Bernd K. schrieb:
> einen fetten
> Kurzschluss mit GND bauen

Ja wenn das Oszi nicht GND frei ist stimmt das natürlich.
Habe dabei etwas in der Klasse meines Tek vorraus gesetzt.
Die Math Methode ist bei einfacheres Oszis sicher die bessere Wahl.

Höpke schrieb:
> Der Sinn ist es eine Antwort zu bekommen. Die leider nicht kommt

Ich bin ja bereit zu helfen, aber in dem was Du derzeit an Infos gegeben 
hast habe ich da einfach Schwierigkeiten den Fehler zu sehen.

Offensichtlich fühlt sich der Slave nicht angesprochen oder verwirft die 
Daten wg. CRC Error.
Was weiß ich, wenn Du AB Vertauschung schon probiert hast, die Bitzeiten 
laut Oszi für 38.400 Bps passen und auch eine gemeinsame Masseverbindung 
nicht hilft kann man nur noch mit einem ausgefuchsten Program 
(Docklight) und einem weiteren RS485 Monitor suchen.

Bist Du sicher das der Slave nicht mitlerweile eine Macke hat ?
Häng doch mal einen RS485 Treiberbaustein auf RX an den Bus und schau 
Dir den RO an. Ist es das was du erwartest, oder erkennt der auch nichts 
?

von Höpke (Gast)


Lesenswert?

Moin,
erstmals vielen Dank für die ganzen Ratschläge. Ich habe mich gestern 
nochmal mit meinem Hersteller in Verbindung gesetzt und den Regler nach 
dem Gespräch eingeschickt. Wahrscheinlich ist was in dem Regler kaputt 
gegangen.
Nichts desto trotz möchte ich die Zeit sinnvoll verwenden und mich 
weiter vorbereiten. Die Informationsdichte zum RS485 Bus ist ja eher 
dünn. Kennt jemand ein paar zitierfähige Quellen?

Beste Grüße

von Tcf K. (tcfkao)


Lesenswert?

Höpke schrieb:
> Nichts desto trotz möchte ich die Zeit sinnvoll verwenden und mich
> weiter vorbereiten. Die Informationsdichte zum RS485 Bus ist ja eher
> dünn. Kennt jemand ein paar zitierfähige Quellen?

Kann man eigentlich nicht sagen, das Ding ist schon ziemlich alt und 
eine Norm. Gucke mal im englischen Wiki:
https://en.wikipedia.org/wiki/RS-485


In Deinem Fall glaube ich nicht an einem Defekt des Gerätes. Du hast 
noch immer nicht nachgemessen ob die Failsafe-Widerstände (Pullup und 
Pulldown) irgendwo im System genau einmal vorhanden sind, also entweder 
am Konverter oder am Regler.
Ohne diese Widerstände gibt bei einem Idle-Bus keine 
Spannungsdifferenz zwischen den beiden Signalleitern. Die Receiver sind 
dann nicht definiert ob sie auf TTL-Seite eine 1 oder 0 liefern. Wenn 
die UART im Idle-Zustand nicht ein Stop-Bit sieht kann das nicht 
funktionieren...

https://www.maximintegrated.com/en/app-notes/index.mvp/id/763
Weiter unten:
"Failsafe Bias Resistors
When inputs are between -200mV and +200mV, receiver output is 
'undefined'. [...]
Fail-safe biasing is used to keep the receiver's output in a defined 
state when one of these conditions occurs. The fail-safe biasing 
consists of a pull-up resistor on the noninverting line and a pull-down 
resistor on the inverting line. With proper biasing, the receiver will 
output a valid high when any one of the fault conditions occurs. These 
fail-safe bias resistors should be placed at the receiver end of the 
transmission line."


Edit: Es lässt sich übrigens extrem einfach nachmessen: Im 
Idle-Zustand DVM an beide Leitungen halten und sehen ob es eine 
Spannungsdifferenz gibt... dafür braucht es dann kein Scope mit 
Differenzmessung et. al.

: Bearbeitet durch User
von Höpke (Gast)


Lesenswert?

Danke für die Infos.  Ich denke Anfang nächster Woche werde ich mein 
Spielzeug wieder haben. Werde dann mal die Diffenzspannung messen.
So weit ich weiß, gibt die RS485 Norm nur die physikalischen Pegel vor 
(+/- 200mV). Mich interessieren eher die Protokolle. Master Slave, 
Multimaster usw...

von mse2 (Gast)


Lesenswert?

Höpke schrieb:
> So weit ich weiß, gibt die RS485 Norm nur die physikalischen Pegel vor
> (+/- 200mV).
Das weißt Du ganz richtig.

> Mich interessieren eher die Protokolle. Master Slave,
> Multimaster usw...
Wie Du oben selber schon schreibst ist das eine Sache zwischen dem 
Hersteller Deines Reglers und Dir. Dafür gibt es keine Norm oder "das 
RS485-Protokoll".

von Tcf K. (tcfkao)


Lesenswert?

Höpke schrieb:
> Mich interessieren eher die Protokolle. Master Slave,
> Multimaster usw...

Genau das ist eben nicht Teil der Norm: "RS-485 only specifies 
electrical characteristics of the generator and the receiver. It does 
not specify or recommend any communications protocol, only the physical 
layer. Other standards define the protocols for communication over an 
RS-485 link."

Zum physikalischen könnte das noch interessant sein:
http://www2.htw-dresden.de/~huhle/ArtScienceRS485.pdf
http://e2e.ti.com/cfs-file/__key/telligent-evolution-components-attachments/00-142-00-00-00-33-63-91/TSB_2D00_89_2D00_A.pdf


Ein Master, (viele) Slaves ist der einfache Fall, den hast Du hier.
Multimaster braucht abgesicherte Protokolle mit Kollisionserkennung und 
Zuteilungsverfahren, davon würde ich die Finger lassen; deutlich 
anspruchsvoller.

von Dirk (Gast)


Lesenswert?

Mit dem gleichen USB -> RS485 hatte ich ähnliche Probleme.
Es war nicht möglich mit dem Wandler ein RS485 Device über Modbus RTU 
anzusprechen.
Mit einem RS232-RS485 Wandler hat es sofort funktioniert.
Das RS232 Interface war der COM Port des Motherboards, kein USB.
Scheinbar ist das Timing über USB völlig daneben.

von Bastian W. (jackfrost)


Lesenswert?

Dirk schrieb:
> Mit dem gleichen USB -> RS485 hatte ich ähnliche Probleme.
> Es war nicht möglich mit dem Wandler ein RS485 Device über Modbus RTU
> anzusprechen.
> Mit einem RS232-RS485 Wandler hat es sofort funktioniert.
> Das RS232 Interface war der COM Port des Motherboards, kein USB.
> Scheinbar ist das Timing über USB völlig daneben.

Bei uns gibts da keine Probleme. Wir haben einen USB<->RS 485 Adapter 
mit einem FTDI Chip im Einsatz ( 
http://de.rs-online.com/web/p/kvm-kabel-konfektioniert/6877834/ )

Sowohl mit Software vom Hersteller für die Kommunikation von Regler geht 
das über Modbus mit 19200 Baud super, als auch mit selbst geschriebener 
Software für eine Modbus Kommunikation.

Von den Stecker her haben wir an die offnen Enden einfach nen 
Hartingstecker montiert. Haupsache robust.

Es geht auch über ein virtuelles XP ( Windows XP Mode ) ohne Probleme.

Vom Timing her hab ich alle 0,2s ein Datenpaket vom 
Coriolismassenflusssensor geholt und da war keines mit nem CRC Fehler 
dabei.

Gruß JackFrost

von Bastian W. (jackfrost)


Lesenswert?

Sendest du und der Herstelle die gleiche Bitfolge oder hat dein Regler 
eine andere Einstellungen ?

Es ist auf den beiden Oszillogrammen schwer zu erkennen, aber wenn man 
den grünen Kanal vom Hersteller und deinen Kanal A vergleicht, fällt mir 
auf das die Highpegel 3/4 und 5/6 ( ich habe das Startbit mitgezählt ) 
ungleich lang sind, bei deinem wirken sie aber gleich lang.

Nochmal bezüglich deiner Baudrate, auf deinem zweiten Oszillogramm sieht 
es so aus als sein das Startbit ~ 1/5 DIV lang. Was bei 200 us/DIV rund 
40 us sind. Das dürften dann doch eher 28800 sein, oder täusch ich mich 
da ?

Gruß JackFrost

: Bearbeitet durch User
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.