Hi,
wenn alles Slaves gleich sind werden auch alle zur gleichen Zeit antworten . Bei Ethernet wird IMO aus der MAC eine Zeit berechnet. Nach einer Kollision warten alle beteiligten ihre Zeit ab und antworten erst dann. Da jede mac weltweit nur einmal vergeben wurde kommt es dann zu keiner kollision.
Aber wenn du erst unterschiedliche macs in die Slaves programmieren musst kannst du auch gleich Slave Adressen Programmieren

Ich würde die Slaves einfach eine zufällige Zeit warten lassen bis sie an den Master antworten. Wenn in dieser Zeit ein anderer Slave aktiv wird muss der mit der längeren Zeit halt warten.

Allerdings kannn dabei auch eine kollision auftreten wenn zufällig zwei Slaves die gleiche Zeit wählen ( passiert genau dann wenn du das Ding deinem Chef vorführst).

Darf bei rs485 keine Kollision auftreten weil dann Bus kaputt, oder nur weil dann Daten kaputt? Im zweiten Fall müsste man nur die Kollision erkennen, und die Slaves wieder eine zufällige Zeit warten lassen. Der schnellere gewinnt dann. Werd mir mal bei Gelegenheit den Bus anschauen, das Projekt wird mitlerweile Recht interessant (Auch für andere Protokolle wie I²C).

mfg
Thorsten