Hallo, Ich hätte eine Frage und zwar: was heißt bei einer RS485 Schnittstelle mit Modbusprotokoll "Man hört sicch selber" bzw. "Man hört sein Echo mit". Wie geht das oder wie ikann man sich das technisch vorstellen. Vielen Dank und lg
Man kann sich das so vorstellen, dass TX (serieller Ausgang) und RX (serieller Eingang) miteinander verbunden sind (im übertragenen Sinne). Jedes Zeichen, das über TX gesendet wird, wird gleichzeitig von RX empfangen. So kann man im Prinzip auch feststellen, ob eine Kollision auf dem Bus vorgekommen ist, nämlich dann, wenn die empfangenen Daten nicht identisch mit den gesendeten sind.
Das bedeutet, das das gesendete Byte (gesendet von Controller A) ein Interrupt im Controller A auslöst (also nicht nur in Controller B, C..., sondern auch im eigenen. Dieses ist von der HW abhängig. Allerdings weiß ich nur, dass bei den Max-Treibern sicher ein Echo zurückgesendet wird. Ob das bei Typen anderer Hersteller auch ist, kann ich nicht genau sagen. Ich vermute mal, dass das immer so ist Vorteil bei den Echos: Man kann feststellen, ob das, was gesendet wurde, auch tatsächlich so auf das Netzwerk rausgegangen ist (Man kann dadurch zum Beispiel Datenkollisionen erkennen. Gruß Detlef
Normalerweise besitzen RS485-Treiber (auch Transceiver genannt) jeweils einen Pin mit dem man das Senden oder das Empfangen unterdruecken kann. Wenn man nun nur den fuer das Senden steuert, weil man einen Multimaster-Bus hat, dann empfaengt man seine eigenen Daten als Echo. Wie thkais schon bemerkte ist es damit prinyipiell moeglich, Kollisionen zu erkennen. Allerdings sind die Treiber so niederohmig, dass das recht schwierig ist. CAN ist da dann etwas besser. Im Regelfall, also wenn man das Echo unterdruecken will, werden die beiden Pins zusammengeschlossen - interessanterweise ist der eine naemlich High-aktiv und der andere Low-aktiv - dadurch schaltet man zwischen Senden und Empfangen um. Uebrigens gilt das nur fuer den 2-Wire-RS485-Bus, da es beim 4-Wire-Bus ein Paar Sendeleitungen und ein Paar Empfangsleitungen gibt.
"Wie thkais schon bemerkte ist es damit prinyipiell moeglich, Kollisionen zu erkennen. Allerdings sind die Treiber so niederohmig, dass das recht schwierig ist. CAN ist da dann etwas besser." CAN ist nicht nur etwas, sondern bei weitem besser: Wenn auch nur ein CAN-Gerät der Meinung ist, die Daten nicht richtig verstanden zu haben, fügt es einen Errorframe an und damit wissen alle (auch der Sender), daß diese Nachricht ungültig ist. Außerdem gibt es keine Kollisionen bei CAN in der Arbitrierungsphase (Adressierung), sondern nur im Datenpaket. Bei RS485 dagegen reichen schon 10 Ohm Leitungswiderstand aus, daß beide kollidierenden Sender nichts davon mitkriegen. Deshalb muß bei Multimaster RS-485 grundsätzlich mit Empfangsquittungen gearbeitet werden. Peter
"mit Modbusprotokoll" ist - wie schon der Name vermuten lässt - einfach ein Protokoll, das u.a. auf der Hardwarebasis RS485 verschiedene Master und Slaves mit einander verbindet. Dieses Protokoll wird u.a. in der Automatisierungstechnik verwendet und ist ein sog. Feldbus-Protokoll. Siehe auch: http://www.modbus.org/ Man muss also unterscheiden zwischen Hardware: 'RS485' und Software: in dem Falle 'Modbus-Protokoll'. Auf der Hardwarebasis RS485 können jedoch (fast) beliebig andere Protokolle benutzt werden.
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.