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.
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
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.
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...
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))
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.
@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
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.
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
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.
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.