Forum: Haus & Smart Home DALI Adressierung: Konfliktbeherrschung bei Antwort mehrerer Slaves


von Hans G. (hg87)


Lesenswert?

Hi.

Ich beschäftige mich gerade ein bisschen mit DALI und verstehe nicht so 
ganz, wie bei der automatischen Adressierung beim Absuchen der 
Zufallsadressen vermieden wird, dass mehrere Slaves gleichzeitig auf den 
BUS quatschen bzw. wie der Master trotzdem eine fehlerfreie Antwort 
erfassen soll.


Wie erkennt der Master, dass mehrere Slaves eine Zufallsadresse kleiner 
gleich der abgefragten Adresse haben, wenn durch das Antworten von 
mehreren Slaves keine gültige Antwort gelesen werden kann?
Oder wie wird verhindert, dass mehrere Slaves antworten?


Grüße, Hans.

von Oliver H. (olitheone)


Lesenswert?

Hallo


Der Master kann den Fall "Trash Paket" ja auch auswerten. Da er ja 
ohnehin auf das "NO" (also kein Antwortpaket) wartet, interpretiert er 
das einfach als "YES".
Wenn dann ein Slave gefunden ist kann er mit dem Withdraw-Kommando für 
die weitere Suche ausgeschlossen werden (also er schickt auf das 
Vergleichskommando keine Antwort mehr). Es werden dann immer weniger und 
irgendwann hat man alle.




lg

von Hans G. (hg87)


Lesenswert?

Vielen Dank,


so sollte es natürlich klappen.
Ich hatte angenommen, dass es eine "sauberere" Lösung gäbe. Aber der 
Standard gibt in dieser hinsicht anscheinend nichts her.


Beste Grüße.

von Guido Körber (Gast)


Lesenswert?

Na ja, DALI ist protokolltechnisch doch sehr laienhaft gelöst. Bei der 
niedrigen Datenrate sollte man eigentlich ein intelligentes Protokoll 
verwenden, das möglichst wenige Datenpakete benötigt. Bei DALI hat man 
eher das Gegenteil gemacht...

von Uwe R. (aisnmann)


Lesenswert?

Guido Körber schrieb:
> Na ja, DALI ist protokolltechnisch doch sehr laienhaft gelöst. Bei der
> niedrigen Datenrate sollte man eigentlich ein intelligentes Protokoll
> verwenden, das möglichst wenige Datenpakete benötigt. Bei DALI hat man
> eher das Gegenteil gemacht...

Interessanter Einwurf, könntest du das etwas vertiefen? Ich kann mir 
nicht recht vorstellen was du meinst, vielleicht mit 2-3 Beispielen und 
für nicht-Informatiker verständlich ;o))
(Alles für Betriebszustand, nicht Parametrierung, die dauert halt kommt 
aber nur selten vor)

THX, bye uwe, der das als Anwender halt so hinnimmt, aber auch mal über 
den Tellerrand gucken will ;o))

von Guido Körber (Gast)


Lesenswert?

Aus Anwendersicht kann man da nichts dran machen. DALI hätte eine andere 
Spezifikation benötigt. Da hat man offensichtlich aus etwas aufgebaut 
das schon existierte und nicht für die Anwendung geeignet war.

Grundsätzlich sollte man so eine langsame Kommunikation mit einer 
konstruktiven Kollisionserkennung aufbauen, also so, dass eine Kollision 
auf dem Bus durch zwei gleichzeitig sendende Knoten nicht dazu führt, 
dass das ganze Paket kaputt geht, sondern, dass Knoten als unterlegen 
aus der Kommunikation ausscheiden.

Dazu gehört dann eine Datensicherung, also CRC für 
Übertragungsfehlererkennung und längere Pakete als nur zwei Bytes um 
komplexere Dinge in einem Datenpaket machen zu können.

Das Gefrickel beim DALI führt dazu, dass für viele Funktionen etliche 
Pakete gesendet werden müssen, obwohl ein einzelnes, längeres ausreichen 
würde. Durch die Pausen zwischen zwei Paketen wird das dann noch 
langsamer.

von Oliver H. (olitheone)


Lesenswert?

@Guido: Für Multimaster Betrieb bzw. Master->Master Kommunikation ist 
meines Wissens eine Kollisionsvermeidung auch in der Norm drin. Für die 
Pakete Slave->Master aber halt nicht.


-Oli

von Guido Körber (Gast)


Lesenswert?

Nur die Kommunikation die von den Mastern ausgeht ist etwas besser gegen 
Kollisionen ausgelegt, aber es ist nach wie vor ein destruktives 
Kollisionsverfahren. Wenn also zwei Master gleichzeitig auf den Bus 
gehen, dann sorgt der unterlegene dafür, dass das Datenpaket definitiv 
zerstört wird.

von Oliver H. (olitheone)


Lesenswert?

Ist schon etwas her aber meines Wissens ist die 
Master-Master/Multimaster Kommunikation bei DALI nach einem ähnlichen 
Prinzip wie z.B. CAN Bus genormt - also CSMA/CR. Wenn einer ein Bus-LOW 
detektiert das nicht von ihm war muss er aufhören zu senden. Also da 
zerstört sich nichts.
Ich finde jetzt nur dieses 2004er NEMA Dokument dazu wo das so 
drinsteht, aber ich meine das in einer der EN62386 Normen damals auch 
schon so gefunden zu haben (zu denen ich leider seit meinem 
Firmenwechsel keinen Zugang mehr habe)

-Oli

von Guido Körber (Gast)


Lesenswert?

Hab gerade noch mal in der DIN EN62386-103 nachgesehen, ist leider nicht 
so. Eine Kollisionserkennung zieht immer eine Kollisionserzwingung nach 
sich, damit alle mitbekommen, dass was schief läuft.

Da DALI typischerweise in Software implementiert wird, macht das auch 
einen gewissen Sinn, da der Sender nicht unbedingt schnell genug ist um 
sich vom Bus zu nehmen wenn er eine Kollision erkennt. Da ja die 
Übertragungssicherung fehlt, können durch Kollision entstehende Fehler 
nicht erkannt werden.

von Oliver H. (olitheone)


Lesenswert?

@Guido: Ok dann hab ich mich da wohl getäuscht. Schade eigentlich das es 
nicht so funktioniert.

Was ich mich damals bezüglich DALI Normung (weil die EN 62386-103 ja 
noch Entwurf ist) immer gefragt habe ist wie Hersteller (laut Homepage 
z.B.) kompatibel zu DALI Normen sein können wo noch nicht einmal der 
Entwurf bei Beuth&Co zu haben ist (z.B. die -30x Teile). Mein damliger 
AG ist DALI AG Mitglied - auch das hat uns nicht in die Lage versetzt 
irgendwie zu solchen Vorabinfos zu kommen.


-Oli

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.