# eCockpit und DALI - Rückmeldung beim schalten von Gruppen



## Otwin (20 September 2019)

Moin,

ich hätte mal eine Frage zum Thema DALI.

Wenn ich über den Baustein FbSendDimmValue eine einzelne DALI-Adresse steuer, erhalte ich am Ausgang rActualLevel des Bausteins
den aktuellen Dimmwert und habe eine Rückmeldung ob die Leuchte an ist.

Wenn ich aber eine Gruppe schalte, erhalte ich keine Rückmeldung über den aktuellen Zustand.

Ich habe den Baustein FbDaliActualLevelControlGears probiert, dieser scheint aber keine Werte aus den DALI-Teilnehmern zu lesen,
sondern ändert sich nur, wenn ich eine einzelne Adresse ansteuer, nicht aber bei Gruppen.

Wie löst ihr sowas, irgendwoher möchte ich ja eine Rückmeldung für die VISU über den Schaltzustand meiner Leuchten.
Und alle Gruppen in eCockpit nachbauen und dann alle Adressen einzeln ansteuern ist halt sehr viel mehr Aufwand.

Gruß
Otwin


----------



## Blockmove (20 September 2019)

Ich frage zyklisch einfach jedes EVG ab.
In einem Array hab ich die Adressen aller Dali-Teilnehmer.
In einem zeitlichen Raster Zähl ich den Index hoch und frage den Teilnehmer ab.
Wenn ich einen Dimmbefehl starte, setze ich den Index mit einer Verzögerung (Fadetime) auf den entsprechenden Teilnehmer.
So bekomme ich zeitnah die passenden Werte.

Gruß 
Blockmove


----------



## .:WAGO::0100272:. (20 September 2019)

Hallo Otwin,

wenn das Modul startet, wird ein Netzwerk Scan auf der Dali Linie gestartet. Alle zu diesem Zeitpunkt aktiven EVGs werden dann ausgelesen (Gruppen Adresse, Scenenwerte, Konfiguration, etc...)
Die Gruppenadressen werden im Modul gespeichert. 
Wird nun der FbDaliSendDimmValue Baustein verwendet, wird das Entsprechende EVG, oder die Gruppe angesprochen und der Wert auf den Bus gelegt. Ein Feedback von der Gruppe gibt es nicht. Daher rechnet das Dali Module intern die Dimmwerte mit und gibt diese am Baustein unter "rActualLevel" aus. 
Sollte hier kein Wert ausgegeben werden, oder aber ein Wert "101" ausgegeben werden, dann kann es sein, dass während der Initialisierungsphase nicht alle EVGs am Bus erkannt wurden.
Da der Dimmwert meistens recht zügig angezeigt werden soll, ist es nicht ratsam jedes EVG zyklisch abzufragen, zumindest nicht in einer schnellen Frequenz. Das kann je nach Buslast zu einem zu hohen Traffic auf der Dali Linie führen, und somit auch zu verlorenen Telegrammen.

Sollten die Dimmwerte bei Ihnen, auch mit angeschlossenen EVGs während des Controller Start, weiterhin nicht ausgegeben werden, dann muss man sich das Projekt einmal im Detail angucken. 

Hier kann es dann an verschiedenen Faktoren liegen.


----------



## Otwin (20 September 2019)

Auch das Abfragen der Dali-Teilnehmer liefert keine bzw. falsche Werte.
Die Betriebsstunden werden aber richtig ausgelesen.
Das DALI Programm ist recht überschaubar, ich habe mal einen Screenshot angehängt.
Die EVGs werden alle 8 erkannt, schalten funktioniert problemlos.
Nur die Werte für DimmLevel und PowerON sind falsch.
Nach einem Warmstart dauert es einige Sekunden, dann stehen wieder falsche Werte im ARRAY obwohl nichts geschalten wurde.


----------



## .:WAGO::0100272:. (20 September 2019)

Hallo Otwin,

dann kann ich nur Vermuten, dass diese Werte auf einen anderen Wege irgendwie in das Array geschrieben werden. Dies kann zum Beispiel durch eine unkorrekte Steuerungskonfiguration hervorgerufen werden. Wenn Module auf Prozess Adressen Schreiben für die Sie eigentlich nicht geeignet sind. 
Sind in Ihrem Knotenaufbau Serielle Modul z.B. 750-652 verbaut? Wenn ja sollte hier über das e!cockpit die Einstellung geprüft werden (Prozessabbildbreite 24 byte).
Weiter sollte vermieden Werden Prozessabbildadressen direkt anzusprechen.

Hier würde sich ein genauerer Blick in das Programm lohnen. Wenn Sie dies wünschen, bitte ich Sie sich einmal direkt beim Wago Support zu melden.


----------



## NicoociN (4 Dezember 2019)

Hallo zusammen,
ist es wahrscheinlich zu spät, aber falls jemand noch Problem damit hat. Die aktuelle Werte kann man sofort sehen (auch wenn die Änderung nicht von Kontroller vorgenommen wurden sonder von jenem Sensor o.ä) indem I_Port von Dali Master  abgelesen wird.
IO_Config_XXX.DALI_Multi_Master_XXX.aActualLevel[0] // EVG 0 
IO_Config_XXX.DALI_Multi_Master_XXX.aActualLevel[1] // EVG 1

Die Werte sind sofort ohne eine Verzögerung da. Am Anfang könnte ich auch nur Betriebsstunden sehen. Nachdem SPS Reset (Strom aus/an) war alles OK.


----------

