FB_DMXSendRDMCommand

FB_DMXSendRDMCommand 1:

Dieser Funktionsbaustein dient zum allgemeinen Senden eines RDM-Kommandos, definiert per Befehlsnummer und, falls erforderlich, Übergabeparameter.

FB_DMXSendRDMCommand 2: 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

E_DMXCommandClass

Command Class (CC) gibt die Aktion der Nachricht an (siehe E_DMXCommandClass).

eParameterId

E_DMXParameterId

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).

FB_DMXSendRDMCommand 3: Ein-/Ausgänge

VAR_IN_OUT
  stCommandBuffer : ST_DMXCommandBuffer;
END_VAR

Name

Typ

Beschreibung

stCommandBuffer

ST_DMXCommandBuffer

Verweis auf die Struktur zur Kommunikation (Puffer) mit dem Baustein FB_EL6851Communication()

FB_DMXSendRDMCommand 4: 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