-
-
Erfahrener Benutzer
Roboter Experte
Wir haben im Betrieb ca. 100 Sensoren die über RS485 verbunden sind, und haben trotzdem keine Probleme. Die Sensoren senden nur dann etwas, wenn sie addressiert werden. Bei uns sieht die Verbindung so aus, dass eine Leitung für RX, eine für TX, und GND von Sensor zu Sensor geführt werden.
Kollision kann ja nur dann auftreten, falls zwei Teilnehmer gleichzeitig senden, wenn man das in der Software ausschliesst, braucht man keine weiteren Massnahmen. Bei uns ist es so gelöst: kein Sensor darf senden, ausser PC. Wenn PC ein ! sendet, warten alle Teilnehmer auf das nächste Byte, was die Adresse ist. 2. B: Adresse 3. B: Befehl. Der Sensor der seine Adresse erkannt hat, kann jetzt den Befehl ausführen, und hat zum sende ein Fenster von 8 Bytes für seine Daten. Er sendet die 8 Bytes (falls die Nutzdaten keine 8B sind, werden noch Paddings hinzugefügt, aber anhand des Befehls ist die Länge der Antwort eindeutig). Damit ist aber die Übertragung nicht abgeschlossen, der PC wartet noch auf ein Abschlusssignal, was ein # ist, erst dann beginnt er mit der nächsten Anfrage. Die Teilnehmer, die nicht adressiert worden sind, hören zu, aber verwerfen die Daten, bis # kommt, und die die Sequenz von neuem anfängt.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen