FB_DMXDiscUniqueBranch

FB_DMXDiscUniqueBranch 1:

Dieser Funktionsbaustein fragt ab, ob sich innerhalb eines bestimmten Adressbereichs DMX-Geräte befinden. Dieser Befehl findet Verwendung beim Ermitteln (Discovery) der angeschlossenen DMX-Geräte.

Durch eine positive Flanke am Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wLowerBoundManufacturerId, dwLowerBoundDeviceId, wUpperBoundManufacturerId und dwUpperBoundDeviceId definieren den Adressbereich, in dem DMX-Geräte gesucht werden. 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, wReceivedManufacturerId und dwReceivedDeviceId können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

Liegt im definierten Adressbereich nur ein DMX-Gerät, so werden über die Ausgänge wReceivedManufacturerId und dwReceivedDeviceId die 48-Bit UID des DMX-Gerätes zurückgegeben. Liegen in diesem Bereich keine DMX-Geräte, so ist der Ausgang bError auf TRUE und udiErrorId ist auf 0x8002 (keine Antwort vom DMX-Gerät). Befinden sich in dem Adressbereich zwei oder mehr DMX-Geräte, so ist bError auf TRUE und udiError enthält eine 0x8006 (Checksummenfehler).

FB_DMXDiscUniqueBranch 2: Eingänge

VAR_INPUT
  bStart                    : BOOL;
  byPortId                  : BYTE;
  wLowerBoundManufacturerId : WORD;
  dwLowerBoundDeviceId      : DWORD;
  wUpperBoundManufacturerId : WORD;
  dwUpperBoundDeviceId      : DWORD;
  dwOptions                 : DWORD := 0;
END_VAR

Name

Typ

Beschreibung

bStart

BOOL

Über eine positive Flanke an diesem Eingang wird der Baustein gestartet.

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.

wLowerBoundManufacturerId

WORD

Eindeutige Hersteller-Id vom unteren Adressbereich.

dwLowerBoundDeviceId

DWORD

Eindeutige Geräte-Id vom unteren Adressbereich.

wUpperBoundManufacturerId

WORD

Eindeutige Hersteller-Id vom oberen Adressbereich.

dwUpperBoundDeviceId

DWORD

Eindeutige Geräte-Id vom oberen Adressbereich.

dwOptions

DWORD

Optionen (wird derzeit nicht benutzt).

FB_DMXDiscUniqueBranch 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_DMXDiscUniqueBranch 4: Ausgänge

VAR_OUTPUT
  bBusy                   : BOOL;
  bError                  : BOOL;
  udiErrorId              : UDINT;
  wReceivedManufacturerId : WORD;
  dwReceivedDeviceId      : DWORD;
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).

wReceivedManufacturerId

WORD

Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang der Zustand der Identifizierung von dem DMX-Gerät angezeigt.

dwReceivedDeviceId

DWORD

Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang der Zustand der Identifizierung von dem DMX-Gerät angezeigt.

Voraussetzungen

Entwicklungsumgebung

erforderliche TC3 SPS-Bibliothek

TwinCAT ab v3.1.4020.14

Tc2_DMX ab v3.5.3.0