Hallo, ich bin dabei ein Modbus RTU Slave zu entwickeln. Zum einstellen der Adresse kann ich keine DIP-Schalter einplanen, da dafür kein Platz ist. Nun ist mir die Idee gekommen dafür die Broadcast-Adresse zu verwenden. Also alle Slaves haben vom Werk aus eine voreingestellte Adresse, z.B. 10. Nun schick der Master eine Nachricht mit der Adresse 0, also Broadcast und dem Inhalt, dass in ein Holding-Register z.B. eine 42 eingetragen wird. Wenn die Nachricht bei den Slaves ankommt, schaltet das Slave intern um in den Adressiermodus und signalisiert es durch blinken. Um nun die Adresse, die im Holding-Register steht als feste Adresse zu übernehmen muss man nur einen Taster für z.B. 2 Sekunden drücken. Wenn man nix drückt geht nach 10 Sekunden das Blinken wieder aus und das Slave geht wieder in den Normalzustand über, mit der alten Adresse. Kann man das so machen, also dafür Broadcast ausnutzen oder ist das für andere Sachen gedacht?
Mathias O. schrieb: > Kann man das so machen, also dafür Broadcast ausnutzen Natürlich, es ist sogar in vielen Protokollstacks ein recht übliches Verfahren, Adressierungen per Broadcast vorzunehmen. Wie sollte das auch anders gehen, da es ja noch keine Adresse gibt, unter dem man die Targets gezielt ansprechen könnte? Reine Frage der Logik...
Mathias O. schrieb: > Also alle Slaves haben vom Werk aus eine voreingestellte Adresse, z.B. > 10. Aber halt alle dann im Bus, deswegen über Broadcast, weil man ja sonst auch Antworten zurückbekommen würde. Und das ist blöd, wenn alle mit der selben Adresse amtworten. Dann lieber nicht Antworten lassen.
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.