FB_DMXSendRDMCommand

Dieser Funktionsbaustein dient zum allgemeinen Senden eines RDM-Kommandos, definiert per Befehlsnummer und, falls erforderlich, Übergabeparameter.
Eingänge
VAR_INPUT
bStart : BOOL;
wDestinationManufacturerId : WORD;
dwDestinationDeviceId : DWORD;
byPortId : BYTE;
wSubDevice : WORD;
eCommandClass : E_DMXCommandClass;
eParameterId : E_DMXParameterId;
byParameterDataLength : BYTE;
arrParameterData : ARRAY [0..255] OF BYTE;
dwOptions : DWORD := 0;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bStart | BOOL | Über eine positive Flanke an diesem Eingang wird der Baustein gestartet. |
wDestinationManufacturerId | WORD | Eindeutige Hersteller-Id vom DMX-Gerät. |
dwDestinationDeviceId | DWORD | Eindeutige Geräte-Id vom DMX-Gerät. |
byPortId | BYTE | Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-Id adressiert. Das Hauptgerät (Root-Device) hat immer die Port-Id 0. |
wSubDevice | WORD | Untergeräte (Sub-Devices) sollten in Geräten mit sich wiederholender Anzahl von Modulen verwendet werden, wie bei einem Dimmer Rack. Der Untergeräte (Sub-Device) Eingang erlaubt es Parameternachrichten an ein bestimmtes Modul innerhalb des Gerätes zu senden, um Eigenschaften von dem Modul zu lesen oder zu setzen. |
eCommandClass | Command Class (CC) gibt die Aktion der Nachricht an (siehe E_DMXCommandClass). | |
eParameterId | Parameter Id ist eine 16-Bit Nummer, die einen bestimmten Typ von Parameterdaten identifiziert (siehe E_DMXParameterId). | |
byParameterDataLength | BYTE | Die Datenlänge der Parameter (PDL) ist die vorausgegangene Anzahl an Slots enthalten im Parameterdatenbereich. Ist dieser Eingang 0x00, so folgen keine Parameterdaten. |
arrParameterData | ARRAY OF BYTE | Parameterdaten von variabler Länge. Das Format vom Inhalt ist PID abhängig. |
dwOptions | DWORD | Optionen (wird derzeit nicht benutzt). |
Ein-/Ausgänge
VAR_IN_OUT
stCommandBuffer : ST_DMXCommandBuffer;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stCommandBuffer | Verweis auf die Struktur zur Kommunikation (Puffer) mit dem Baustein FB_EL6851Communication() |
Ausgänge
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
udiErrorId : UDINT;
byResponseMessageCount : BYTE;
byResponseDataLength : BYTE;
arrResponseData : ARRAY [0..255] OF BYTE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bBusy | BOOL | Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde. |
bError | BOOL | Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist. |
udiErrorId | UDINT | Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist (siehe Fehlercodes). |
byResponseMessageCount | BYTE | Dieser Ausgang zeigt an, dass sich in den DMX-Slave weitere Nachrichten befinden. Mit dem RDM-Befehl Get: QUEUED_MESSAGE werden diese Nachrichten ausgelesen. |
byResponseDataLength | BYTE | Enthält die Anzahl der Bytes, die durch den RDM-Befehl zurückgegeben werden. |
arrResponseData | ARRAY OF BYTE | Dieser Ausgang enthält die Daten der Rückantwort vom RDM-Befehl. Die Länge ist variabel und das Format der Daten ist abhängig vom RDM-Befehl. |
Voraussetzungen
Entwicklungsumgebung | erforderliche TC3 SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4020.14 | Tc2_DMX ab v3.5.3.0 |