KingHelmer
Level-1
- Beiträge
- 1.076
- Reaktionspunkte
- 139
-> Hier kostenlos registrieren
Hallo liebe Forenmitglieder,
wenn man mit der Programmierung von DALI-Netzwerken zu tun hat, so findet man kaum bis wenige Informationen darüber, wie man es praktisch umsetzt.
Ich will mit diesem Thread jedem, der Probleme mit DALI hat, die Gelegenheit bieten im "Workaround" innerhalb dieses Threads eine Lösung für die Probleme zu finden.
Ich habe mir gedacht, dass ich ein paar meiner zufriedenstellenden Lösungen hier hineinstelle, um anderen das Leben zu erleichtern oder eben Hinweise auf die "Schlechtigkeit" der Lösung zu bekommen.
Die folgenden Lösungen und Beispiele basieren auf der DALI_02.lib der Firma WAGO. In meinem Fall kombiniert mit folgenden Controllern: 750-881, 750-841, 750-830.
Ich benutze den DALI Master 750-641. Bisher habe ich noch nicht auf den 753-647 gewechselt, da hier anscheinend NUR noch mit der Extra DALI-Software ein Netzwerk inbetrieb genommen werden kann.
So, nun fange ich mal langsam an. Da ich natürlich schreibfaul bin, vergesse ich viel absichtlich und schreibe auch nicht sofort an einem Tag in einem Post, daher bitte etwas Nachsicht. DANKE!
Problem 1:
Zunächst ein Wort zu dem FbDALI_Master und FbDALI_Master_Adv Baustein.
In den Anwendungshinweisen von WAGO stolpert man über diesen Baustein und ich fand ihn sehr "sexy", da ich hiermit unabhängig alle Befehle absenden kann, die ich brauche, ABER:
Vorsicht bei mehrfacher Instanzierung des Bausteins, denn dieser wird nicht mit dem FbDALI_Joblist verwaltet, sondern arbeitet unabhängig.
Das merkt man anfangs nicht besonders, gerade bei der Simulation ist alles normalschnell, auch die Zykluszeiten stimmen. Sobald aber eine reale DALI-Klemme damit "gefüttert" wird, hängt sich die Software komplett auf, je mehr Instanzen des FbDALI_Masters / FbDALI_Master_Adv, desto stärker.
Erklärung:
Der Masterbaustein umgeht die Joblist und sendet die Befehle direkt an die Klemme.
Schafft man mehrere Instanzen, in meinem Fall waren es ganze 128 davon, dann kämpfen diese natürlich um Befehlsausführung. Das kann man im laufenden Betrieb auch ganz gut hören (klickklickklickklickklick).
Abhilfe:
Man sollte entweder die vorgefertigten Bausteine von WAGO verwenden (z.B. FbDALI_DimmDoubleButton) oder eben den Master so verwenden, dass nur über eine Instanz die Befehle abgearbeitet werden.
Ich habe mich in meinem Fall für die erste Option entschieden, denn diese Bausteine können mit entsprechender Logik vor den Inputs so ziemlich alle Befehle ausführen, die man sich wünscht.
Fazit:
Meine Lösung ist natürlich nicht die eleganteste, sehr wohl aber eine einfach zu verstehende Lösung, ich bin bisher zufrieden damit und auch in langzeittests lief alles reibungslos und vor allem SCHNELL (Bei DALI-manchmal problematisch).
Problem 2:
Meine nächste kleine Aufgabe war das Dokumentieren der Szenenwerte.
Nach meiner Erfahrung haben viele EVGs (auch von renomierten Herstellern) das Problem, früher zu "verecken" als gedacht/gehofft. Bei einem DALI-Netzwerk gibt es hier das Problem, dass man dann sofort das neue EVG programmieren muss.
Je nach Standort ist das natürlich schwierig, da ein Inder oder Taiwanese nicht unbedingt DALI kennen muss, geschwiege denn, das DALI-EVG konfigurieren können muss.
Erklärung:
Das Dokumentieren der Szenenwerte kann sich in so fern als schwierig gestalten, als dass es immer Menschen geben wird, die im Netzwerk manche Werte verändern.
Man kann diesem zuvorkommen, in dem man die möglichkeit der Szenenspeicherung so leicht wie möglich und Kundenfreundlich bedienbar macht.
Beispiel: Speichern einer Szene durch langen Tastendruck auf die entsprechende Szenentaste (dieses Beispiel ist meine Lösung).
Abhilfe:
Es gibt den netten Baustein FbDALI_ConfigScene, welcher dem Nutzer erlaubt, aktuelle Werte als Szene zu speichern.
Dem geübten Programmierer sollte es dann nicht schwer fallen, globale retain/persistent Variablen anzulegen, welche die gerade eben abgespeicherten Szenenwerte parallel in ein (in meinem Fall)
zweidimensionales Array speichern.
Damit kann man dann natürlich anstellen, was man will. Mann kann zum beispiel in der Visu die Farbwerte in der Theorie auswerten und den Szenentaster entsprechend einfärben oder man kann die Daten eben in einer Datei abspeichern und zu Dokumentationszwecken nutzen.
Fazit:
Hat man alle Szenenwerte zu einem EVG und alle Gruppenzugehörigkeiten, sowie die EInstellungen sauber dokumentiert, kann man jederzeit manuell ein EVG so vorbereiten, dass es nur noch das defekte EVG
ersetzen muss und ohne weitere Inbetriebnahme funktioniert.
**** Weitere Posts / Erweiterungen /Ergänzungen folgen **** HINWEISE erwünscht, Beleidigungen aufgrund schlechter Lösungswege erwünscht ****
Dies soll nicht zuletzt auch für mich selbst eine kleinen Erinnerungshilfe darstellen.
wenn man mit der Programmierung von DALI-Netzwerken zu tun hat, so findet man kaum bis wenige Informationen darüber, wie man es praktisch umsetzt.
Ich will mit diesem Thread jedem, der Probleme mit DALI hat, die Gelegenheit bieten im "Workaround" innerhalb dieses Threads eine Lösung für die Probleme zu finden.
Ich habe mir gedacht, dass ich ein paar meiner zufriedenstellenden Lösungen hier hineinstelle, um anderen das Leben zu erleichtern oder eben Hinweise auf die "Schlechtigkeit" der Lösung zu bekommen.
Die folgenden Lösungen und Beispiele basieren auf der DALI_02.lib der Firma WAGO. In meinem Fall kombiniert mit folgenden Controllern: 750-881, 750-841, 750-830.
Ich benutze den DALI Master 750-641. Bisher habe ich noch nicht auf den 753-647 gewechselt, da hier anscheinend NUR noch mit der Extra DALI-Software ein Netzwerk inbetrieb genommen werden kann.
So, nun fange ich mal langsam an. Da ich natürlich schreibfaul bin, vergesse ich viel absichtlich und schreibe auch nicht sofort an einem Tag in einem Post, daher bitte etwas Nachsicht. DANKE!
Problem 1:
Zunächst ein Wort zu dem FbDALI_Master und FbDALI_Master_Adv Baustein.
In den Anwendungshinweisen von WAGO stolpert man über diesen Baustein und ich fand ihn sehr "sexy", da ich hiermit unabhängig alle Befehle absenden kann, die ich brauche, ABER:
Vorsicht bei mehrfacher Instanzierung des Bausteins, denn dieser wird nicht mit dem FbDALI_Joblist verwaltet, sondern arbeitet unabhängig.
Das merkt man anfangs nicht besonders, gerade bei der Simulation ist alles normalschnell, auch die Zykluszeiten stimmen. Sobald aber eine reale DALI-Klemme damit "gefüttert" wird, hängt sich die Software komplett auf, je mehr Instanzen des FbDALI_Masters / FbDALI_Master_Adv, desto stärker.
Erklärung:
Der Masterbaustein umgeht die Joblist und sendet die Befehle direkt an die Klemme.
Schafft man mehrere Instanzen, in meinem Fall waren es ganze 128 davon, dann kämpfen diese natürlich um Befehlsausführung. Das kann man im laufenden Betrieb auch ganz gut hören (klickklickklickklickklick).
Abhilfe:
Man sollte entweder die vorgefertigten Bausteine von WAGO verwenden (z.B. FbDALI_DimmDoubleButton) oder eben den Master so verwenden, dass nur über eine Instanz die Befehle abgearbeitet werden.
Ich habe mich in meinem Fall für die erste Option entschieden, denn diese Bausteine können mit entsprechender Logik vor den Inputs so ziemlich alle Befehle ausführen, die man sich wünscht.
Fazit:
Meine Lösung ist natürlich nicht die eleganteste, sehr wohl aber eine einfach zu verstehende Lösung, ich bin bisher zufrieden damit und auch in langzeittests lief alles reibungslos und vor allem SCHNELL (Bei DALI-manchmal problematisch).
Problem 2:
Meine nächste kleine Aufgabe war das Dokumentieren der Szenenwerte.
Nach meiner Erfahrung haben viele EVGs (auch von renomierten Herstellern) das Problem, früher zu "verecken" als gedacht/gehofft. Bei einem DALI-Netzwerk gibt es hier das Problem, dass man dann sofort das neue EVG programmieren muss.
Je nach Standort ist das natürlich schwierig, da ein Inder oder Taiwanese nicht unbedingt DALI kennen muss, geschwiege denn, das DALI-EVG konfigurieren können muss.
Erklärung:
Das Dokumentieren der Szenenwerte kann sich in so fern als schwierig gestalten, als dass es immer Menschen geben wird, die im Netzwerk manche Werte verändern.
Man kann diesem zuvorkommen, in dem man die möglichkeit der Szenenspeicherung so leicht wie möglich und Kundenfreundlich bedienbar macht.
Beispiel: Speichern einer Szene durch langen Tastendruck auf die entsprechende Szenentaste (dieses Beispiel ist meine Lösung).
Abhilfe:
Es gibt den netten Baustein FbDALI_ConfigScene, welcher dem Nutzer erlaubt, aktuelle Werte als Szene zu speichern.
Dem geübten Programmierer sollte es dann nicht schwer fallen, globale retain/persistent Variablen anzulegen, welche die gerade eben abgespeicherten Szenenwerte parallel in ein (in meinem Fall)
zweidimensionales Array speichern.
Damit kann man dann natürlich anstellen, was man will. Mann kann zum beispiel in der Visu die Farbwerte in der Theorie auswerten und den Szenentaster entsprechend einfärben oder man kann die Daten eben in einer Datei abspeichern und zu Dokumentationszwecken nutzen.
Fazit:
Hat man alle Szenenwerte zu einem EVG und alle Gruppenzugehörigkeiten, sowie die EInstellungen sauber dokumentiert, kann man jederzeit manuell ein EVG so vorbereiten, dass es nur noch das defekte EVG
ersetzen muss und ohne weitere Inbetriebnahme funktioniert.
**** Weitere Posts / Erweiterungen /Ergänzungen folgen **** HINWEISE erwünscht, Beleidigungen aufgrund schlechter Lösungswege erwünscht ****
Dies soll nicht zuletzt auch für mich selbst eine kleinen Erinnerungshilfe darstellen.