FB_DMXSendRDMCommand
Dieser Funktionsbaustein dient zum allgemeinen Senden eines RDM-Kommandos, definiert per Befehlsnummer und, falls erforderlich, Übergabeparameter.
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;
bStart: Über eine positive Flanke an diesem Eingang wird der Baustein gestartet.
wDestinationManufacturerId: Eindeutige Hersteller-Id vom DMX-Gerät.
dwDestinationDeviceId: Eindeutige Geräte-Id vom DMX-Gerät.
byPortId: 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: 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.
eParameterId: Parameter Id ist eine 16-Bit Nummer, die einen bestimmten Typ von Parameterdaten identifiziert.
byParameterDataLength: Die Datenlänge der Parameter (PDL) ist die vorausgegangene Anzahl an Slots enthalten im Parameterdatenbereich. Ist dieser Eingang 0x00, so folgen keine Parameterdaten.
arrParameterData: Parameterdaten von variabler Länge. Das Format vom Inhalt ist PID abhängig.
dwOptions: Optionen (wird derzeit nicht benutzt).
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
udiErrorId : UDINT;
byResponseMessageCount : BYTE;
byResponseDataLength : BYTE;
arrResponseData : ARRAY[0..255] OF BYTE;
bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv bis der Befehl abgearbeitet wurde.
bError: 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: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.
byResponseMessageCount: 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: Enhält die Anzahl der Bytes, die durch den RDM-Befehl zurückgegeben werden.
arrResponseData: Dieser Ausgang enthält die Daten der Rückantwort vom RDM-Befehl. Die Länge is variabel und das Format der Daten ist abhängig vom RDM-Befehl.
VAR_IN_OUT
stCommandBuffer : ST_DMXCommandBuffer;
stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851CommunicationEx()-Baustein.
Voraussetzungen
Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken |
---|---|---|
TwinCAT 2.11 R3/x64 ab Build 2256 | PC/CX | TcDMX-Bibliothek ab V1.3.0 |