Beispiel: DMX-Slave

Empfangen von jeweils 64 Byte Daten an zwei DMX-Slaves (EL6851-0010)

Dateien für TwinCAT 3.1.

Arrays zu je 64 Byte im Vollausbau (alle PDO angewählt):

Beispiel: DMX-Slave 1:

Eine EL6851-0010 kann max. 512 Byte lesen (jeweils 64 Byte in acht Arrays, siehe Abb. 1). Die Arrays können in der TwinCAT XAE (Reiter Prozessdaten) über das PDO 0x1C13 zugeordnet werden.

Beispiel:

DMX Channel 1 - 64 -- > Index 0x1A01

DMX Channel 65 - 128 --> Index 0x1A02

....

DMX Channel 449 - 512 --> Index 0x1A08

Beispiel: DMX-Slave 3:

Im Beispiel-Programm empfängt der erste DMX-Slave die ersten gesendeten 64 Byte und der zweite die nächsten 64 Byte (Abb. 2 + 3; der Empfang von den gesamten 128 Byte mit einer EL6851-0010 ist auch möglich, im Beispiel ist die Aufteilung bewusst gewählt).

DMX Status Objekt:

Beispiel: DMX-Slave 4:

Im DMX Status Objekt (Index 0x6000, DMX-Status, Abb. 4) ist mit Index 0x6000:11 (Channel length) ein Copy Counter angelegt.

Beispiel:

Bei aktiviertem PDO 0x1A01 beträgt der Wert von Channel length 64dez. Bei aktiviertem PDO 0x1A02 ist der Wert 128dez. Sind beide PDO aktiviert (0x1A01 und 0x1A02) beträgt der Wert ebenfalls 128dez.

Beispiel: DMX-Slave 5:

DMX Slave 1 empfängt 64 Byte Daten auf Kanal 1 des ersten Arrays (DMX Channel 1 - 64)

DMX Slave 2 empfängt 64 Byte Daten auf Kanal 1 des zweiten Arrays (DMX Channel 65 - 128)

Das Receive toggle Bit (Index 0x6000:02) wird jeweils über den FB fbMonitorToggleBit ausgewertet und angezeigt (Watchdog DMX Slave).