FB_DMXGetDeviceInfo

FB_DMXGetDeviceInfo 1:

Dieser Funktionsbaustein fragt alle relevanten Informationen von einem DMX-Gerät ab.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und stDMXDeviceInfo können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                      : BOOL;
wDestinationManufacturerId  : WORD;
dwDestinationDeviceId       : DWORD;
byPortId                    : BYTE;
dwOptions                   : DWORD := 0;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl 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.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                : BOOL;
bError               : BOOL;
udiErrorId           : UDINT;
stDMXDeviceInfo      : ST_DMXDeviceInfo;

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.

stDMXDeviceInfo: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so werden an diesem Ausgang in einer Struktur alle relevanten Informationen des DMX-Gerätes ausgegeben. Siehe auch Beschreibung der Struktur ST_DMXDeviceInfo.

uliUID: Eindeutige 48-Bit Adresse des DMX-Gerätes. Die unteren 32 Bit definieren die Geräte-Id und die oberen 16 Bit die Hersteller-Id.

tRDMProtocolVersion: Versionsnummer des unterstützen RDM-Standard.

uiDeviceModelId: Die Gerätemodel-Id wird von dem Gerätehersteller definiert.

stProductCategory: Gerätetyp des DMX-Gerätes. Die Gerätetypen sind in der RDM-Norm definiert.

udiSoftwareVersionId: Versionsnummer der Software (Firmware) in dem DMX-Gerät.

uiDMX512Footprint: Anzahl der DMX512-Slots, die das Gerät belegt. Jedes Untergerät (Sub-Device) und das Hauptgerät (Root-Device) belegen eigene DMX512-Slots.

stDMX512Personality: DMX-Geräte können verschiedene Personalities (Persönlichkeiten) besitzen. Personalities sind mit Profilen vergleichbar. Das aktuelle Profil und die Anzahl der Profile wird in diesem Element angezeigt.

uiDMX512StartAddress: Die DMX512-Startadresse. Diese liegt im Bereich von 1 bis 512. Ist der Parameter uiDMX512Footprint 0, so ist die DMX512-Startadresse 0xFFFF (65535). Jedes Untergerät (Sub-Device) und das Hauptgerät (Root-Device) belegen unterschiedliche DMX512-Startadressen.

uiSubDeviceCount: Anzahl der Untergeräte (Sub-Devices).

bySensorCount: Anzahl der Sensoren, die in dem Untergerät (Sub-Device) oder dem Hauptgerät (Root-Device) enthalten sind.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851CommunicationEx()-Baustein.