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_VARName | 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_VARName | 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_VARName | Typ | Beschreibung |
|---|---|---|
bBusy | BOOL | Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde. Bei einigen Fehlern (z.B. fehlerhafte Parameter) wird bError unmittelbar nach der positiven Flanke an bStart gesetzt, ohne dass bBusy auf TRUE geht. |
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 | Einzubindende SPS-Bibliothek |
|---|---|
TwinCAT ab v3.1.4020.14 | Tc2_DMX ab v3.5.3.0 |