FB_DALI102ChangeAddresses

Mit diesem Funktionsbaustein können die Kurzadressen mehrerer DALI-Vorschaltgeräte geändert werden.
In dem Array aChangeAddressList vom Typ ST_DALIChangeAddressList wird eine Liste mit den DALI-Vorschaltgeräten übergeben, bei denen die Kurzadresse geändert werden soll. Die Liste hat 64 Einträge von 0 bis 63. Jeder Eintrag enthält eine Variable nOldAddress und nNewAddress mit dem die Adresszuordnung parametriert wird. Das Listenende wird mit einem 255-Eintrag bei nOldAddress programmiert, sodass nicht unbedingt die ganze Liste ausgefüllt werden muss. Fehlt dieser Eintrag jedoch, so werden alle Einträge angenommen. Beim Start des Bausteins (positive Flanke an bStart) wird zunächst das Listen-Ende anhand des beschriebenen Eintrags ermittelt und danach der gültige Listenbereich auf folgende Fehleinträge hin untersucht:
- Adresseinträge > 63
- doppelter Adress-Eintrag auf der Ursprungsseite nOldAddress
- doppelter Adress-Eintrag auf der Zielseite nNewAddress (führt zu Doppelvergabe einer Adresse und damit zu Fehlern)
Der Baustein ermittelt dann anhand der Kurzadressen die internen Langadressen der DALI-Geräte und trägt diese jeweils in den Parameter nRandomAddress der Liste ein.
Tritt bei Abfragen oder bei der Neuprogrammierung ein Fehler auf, so führt das zu einem Fehlereintrag für das jeweilige Gerät in dem Listenelement nErrors (siehe ST_DALIChangeAddressList).
Die einzelnen Bits im Listenelement nErrors haben folgende Bedeutung:
Bit | Fehler |
---|---|
0 | Fehler beim Lesen der Langadresse |
1 | - |
2 | - |
3 | - |
4 | - |
5 | Fehler beim Programmieren der neuen Kurzadresse |
6 | nOldAddress und nNewAddress haben die gleichen Werte |
Eingänge
VAR_INPUT
bStart : BOOL;
nOptions : DWORD := 0;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bStart | BOOL | Über eine positive Flanke an diesem Eingang wird die Ausführung der DALI-Befehle gestartet. |
nOptions | DWORD | Reserviert für zukünftige Erweiterungen. |
Ein-/Ausgänge
VAR_IN_OUT
aChangeAddressList : ARRAY [0..63] OF ST_DALIChangeAddressList;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
aChangeAddressList | ARRAY OF ST_DALIChangeAddressList | Liste mit den Kurzadressen, die geändert werden sollen. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bBusy : BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bError | BOOL | Der Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Weitere Informationen zu dem Fehler können über die Variable ipResultMessage abgefragt werden. Der Ausgang wird wieder auf FALSE gesetzt, sobald bBusy auf TRUE geht. |
ipResultMessage | I_TcMessage | Interface-Pointer (siehe Fehlerauswertung) mit dem detaillierte Informationen über die Abarbeitung des Bausteins abgefragt werden können (siehe Laufzeitmeldungen). Der Interface-Pointer ist gültig, nachdem bBusy von TRUE auf FALSE gewechselt hat. |
bBusy | BOOL | Der Ausgang wird gesetzt, sobald die Ausführung der DALI-Befehle gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden. |
Eigenschaften
Name | Typ | Zugriff | Initialwert | Beschreibung |
---|---|---|---|---|
ipDALICommunication | I_DALICommunication | Get,Set | 0 | Interface-Pointer auf den Kommunikationsbaustein (siehe Übergabe der Referenz auf den Kommunikationsbaustein). |
Voraussetzungen
Entwicklungsumgebung | erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4022.29 | Tc3_DALI ab v3.1.4.0 |