Extended Mode

Für hohe Update-Raten und Animationen kann das erweiterte Prozessabbild verwendet werden. Diese Daten müssen im Tab „Prozessdaten“ pro Kanal hinzukonfiguriert werden (Outputs ‑ 0x16n1).

Extended Mode 1:Abb.137: EL2574 - Prozessdatenanzeige im TwinCAT-Baum „Extended Channel 1“

Hierbei werden die LEDs in Segmente zu acht LEDs, benannt als Elemente, eingeteilt. Für jede der acht LEDs stehen 4 Byte Ausgangsdaten zur Verfügung. So können Farbe und Helligkeit jeder einzelnen LEDs vorgegeben werden. Jedes Byte entspricht dabei einer Farbkomponente mit der Reihenfolge rot, grün, blau, weiß (0xWWBBGGRR).

Dadurch, dass acht LEDs immer einem Segment entsprechen und die Nummerierung bei 0 beginnt, ergibt sich die erste LED eines Segments durch:

Index * 8.

Anschließend können über die acht Elemente im Segment die einzelnen LEDs definiert werden. Somit können pro Zyklus acht LEDs im Pixelbuffer neu beschrieben werden.

Ablauf

Zur Vorgabe der Daten und Veränderung der angeschlossenen Pixel ist folgender Ablauf erforderlich:

1. Vorgabe der Segmentnummer über „Index“
2. Vorgabe der Sollwerte für die acht LEDs im ausgewählten Segment über die acht zur Verfügung stehenden Elemente
3. Schreiben der Daten in den Pixelbuffer über „Write“‑Bit das togglen des „Execute“‑Bits
4. ggf. wiederholen von Schritt 1 und 2 bis alle benötigten Segmente vollständig vorbereitet sind
5. Updaten der Daten aus dem Pixelbuffer in den Framebuffer, indem das „Update“‑Bit auf 1 gesetzt wird
6. Togglen des „Execute“‑Bits um das Update auszuführen
7. Daten übertragen:
Wenn im CoE das Objekt 0x80p0:02 Enable Cyclic Frame Output aktiviert ist werden die Daten aus dem Framebuffer automatisch an die angeschlossenen LEDs übertragen.
Alternativ kann das Senden manuell angestoßen werden, indem das „Send“‑Bit auf 1 gesetzt wird.
8. Togglen des „Execute“‑Bits, um das Senden auszuführen
9. Die Änderungen an den angeschlossenen LEDs ist sichtbar.

Die Übertragung an die Buffer bzw. zwischen den Buffern und an den Streifen können auch in einem Zyklus angestoßen werden. Dazu müssen die gewünschten Befehle „Write“, „Update“ und „Send“ auf 1 gesetzt werden. Mit dem togglen des „Execute“‑Bits werden die Befehle ausgelöst.

Hinweis

Verlust von Daten möglich

Beachten Sie den Status des Busy‑ und Transmit‑Bits vor der Übertragung neuer Daten.

  • Busy‑Bit = FALSE
    Achten Sie immer darauf, dass das Busy-Bit im Statusobjekt FALSE ist, da sonst keine Befehle ausgeführt werden.
  • Transmit‑Bit = FALSE
    Beim Senden der Daten an die LEDs wird der Famebuffer gelesen. Dies wird über das Transmit‑Bit angezeigt.
    Um die Datenkonsistenz zu gewährleisten, ist ein gleichzeitiges Schreiben und Lesen nicht möglich.
    Während der Übertragung von Daten aus dem Framebuffer, ist das Transmit‑Bit TRUE, sodass hier gewartet werden muss, bis das Bit wieder FALSE ist, um neue Daten zu schreiben.