Empfangen von jeweils 64 Byte Daten an zwei DMX-Slaves (EL6851-0010)
Abb. 3: 8 Arrays zu je 64 Byte im Vollausbau (alle PDO angewählt)
Eine EL6851-0010 kann max. 512 Byte lesen (jeweils 64 Byte in acht Arrays, siehe Abb. 3). Die Arrays können im TwinCAT System Manger (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
Abb. 4: DMX Channel 1 - 64 (default) durch Anwahl PDO 0x1A01
Abb. 5: DMX Channel 65 - 128 durch Anwahl PDO 0x1A02
Im Beispiel-Programm empfängt der erste DMX-Slave die ersten gesendeten 64 Byte und der zweite die nächsten 64 Byte (Abb. 4 + 5; der Empfang von den gesamten 128 Byte mit einer EL6851-0010 ist auch möglich, im Beispiel ist die Aufteilung bewusst gewählt).
Abb. 6: DMX Status Objekt
Im DMX Status Objekt (Index 0x6000, "DMX-Status", Abb. 6) 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) betragt der Wert ebenfalls 128dez.
Abb. 6: Visualisierung Beispiel 3 in der TwinCAT PLC
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 "fb_Monitor_ToggleBit" ausgewertet und angezeigt (Watchdog DMX Slave).