DDF-Tutorial LED-Scheinwerfer DMXC3: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
Zur Navigation springen Zur Suche springen
(Diverse Optimierungen an der Formatierung vorgenommen)
 
Zeile 110: Zeile 110:
  
 
=== Dimmer-Kanal ===
 
=== Dimmer-Kanal ===
Der erste DMX-Kanal ist der DMX-Kanal mit der Funktion Dimmer. Das zugehörige Element heißt ebenfalls <code>dimmer</code>. Da man in der Programmierung immer bei 0 mit dem Zählen anfängt, muss für das Attribut <code>dmxchannel</code> der Wert <code>0</code> eingetragen werden. Beim DMX-Wert 0 ist der LED-PAR-Scheinwerfer komplett aus, das heißt 0% Helligkeit. Hieraus ergeben sich die Werte für die Attribute <code>mindmx</code> und <code>minval</code>, nämlich jeweils <code>0</code>. Die maximale Helligkeit (100%) erreicht der LED-PAR-Scheinwerfer beim DMX-Wert 255. Folglich ist bei den Attributen <code>maxdmx</code> der Wert <code>255</code> und bei <code>maxval</code> der Wert <code>100</code> zu hinterlegen. Am Anfang der Zeile müssen wir noch ein fünftes Attribut mit der Bezeichnung <code>type</code> einfügen, welches als Wert den Eintrag <code>linear</code> erhält. Damit weiß die HAL, dass es sich bei dem <code>range</code>-Element um einen Regler handelt, bei dem die Ausgangswerte <code>mindmx</code> und <code>maxdmx</code>) im gleichbleibenden Verhältnis (daher <code>linear</code>) zu den Eingangswerten (<code>minval</code> und <code>maxval</code>) ansteigen.
+
Der erste DMX-Kanal ist der DMX-Kanal mit der Funktion Dimmer. Das zugehörige Element heißt ebenfalls <code>dimmer</code>. Da man in der Programmierung immer bei 0 mit dem Zählen anfängt, muss für das Attribut <code>dmxchannel</code> der Wert {{Manual Value | DMX channel | 0}} eingetragen werden. Beim DMX-Wert {{Manual Value | DMX value | 0}} ist der LED-PAR-Scheinwerfer komplett aus, das heißt {{Manual Value || 0%}} Helligkeit. Hieraus ergeben sich der Wert {{Manual Value | DMX value | 0}} für das Attribut <code>mindmx</code> und ebefalls {{Manual Value || 0}} <code>minval</code>. Die maximale Helligkeit von {{Manual Value || 100%}}) erreicht der LED-PAR-Scheinwerfer beim DMX-Wert {{Manual Value | DMX value | 255}}. Folglich ist bei den Attributen <code>maxdmx</code> der Wert {{Manual Value | DMX value | 255}} und bei <code>maxval</code> der Wert {{Manual Value || 100}} zu hinterlegen. Am Anfang der Zeile müssen wir noch ein fünftes Attribut mit der Bezeichnung <code>type</code> einfügen, welches als Wert den Eintrag <code>linear</code> erhält. Damit weiß die HAL, dass es sich bei dem <code>range</code>-Element um einen Regler handelt, bei dem die Ausgangswerte <code>mindmx</code> und <code>maxdmx</code>) im gleichbleibenden Verhältnis (daher <code>linear</code>) zu den Eingangswerten (<code>minval</code> und <code>maxval</code>) ansteigen.
  
 
Der Teil des XML-Codes sieht damit wie folgt aus:
 
Der Teil des XML-Codes sieht damit wie folgt aus:
Zeile 122: Zeile 122:
 
<br />
 
<br />
  
Allerdings darf man hier nicht unerwähnt, dass dies die umständliche Defintion des Dimmers ist. Verhält der Dimmer sich nämlich wie oben beschrieben (0% Helligkeit bei DMX-Wert 0 und volle Helligkeit bei DMX-Wert 255), können wir auf die interne Standarddefintion der HAL zurückgreifen. Dadurch vereinfacht sich der erste Teil wie folgt:
+
Allerdings darf man hier nicht unerwähnt, dass dies die umständliche Defintion des Dimmers ist. Verhält der Dimmer sich nämlich wie oben beschrieben (0% Helligkeit bei DMX-Wert {{Manual Value | DMX value | 0}} und volle Helligkeit bei DMX-Wert {{Manual Value | DMX value | 255}}), können wir auf die interne Standarddefintion der HAL zurückgreifen. Dadurch vereinfacht sich der erste Teil wie folgt:
  
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
Zeile 131: Zeile 131:
  
 
=== Kanäle für rot, grün und blau ===
 
=== Kanäle für rot, grün und blau ===
Da bei diesem LED-PAR-Scheinwerfer nur rote, grüne und blaue LEDs für die Farbmischung verbaut sind, wird im DDF ein einfaches RGB-Element verwendet. Dabei steuert der DMX-Kanal 2 die roten LEDs, der DMX-Kanal 3 die Grünen und der DMX-Kanal 4 die blauen LEDs.
+
Da bei diesem LED-PAR-Scheinwerfer nur rote, grüne und blaue LEDs für die Farbmischung verbaut sind, wird im DDF ein einfaches RGB-Element verwendet. Dabei steuert der DMX-Kanal {{Manual Value | DMX channel | 2}} die roten LEDs, der DMX-Kanal {{Manual Value | DMX channel | 3}} die Grünen und der DMX-Kanal {{Manual Value | DMX channel | 4}} die blauen LEDs.
  
Das Element <code>rgb</code> besteht aus den drei untergeordneten Elementen <code>red</code>, <code>green</code> und <code>blue</code> – jeweils ein Element für jede Farbe. Für die Attribute <code>dmxchannel</code> tragen wir die Werte <code>1</code>, <code>2</code> bzw. <code>3</code> ein.
+
Das Element <code>rgb</code> besteht aus den drei untergeordneten Elementen <code>red</code>, <code>green</code> und <code>blue</code> – jeweils ein Element für jede Farbe. Für die Attribute <code>dmxchannel</code> tragen wir die Werte {{Manual Value | DMX channel | 1}}, {{Manual Value | DMX channel | 2}} bzw. {{Manual Value | DMX channel | 3}} ein.
  
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
Zeile 147: Zeile 147:
 
Über den fünften DMX-Kanal dieses LED-PAR-Scheinwerfer können wir verschiedene Automatikprogramme aufrufen.
 
Über den fünften DMX-Kanal dieses LED-PAR-Scheinwerfer können wir verschiedene Automatikprogramme aufrufen.
  
Um diesen Kanal am besten im DDF abzubilden, nehmen wir das Element <code>rawstep</code>. Mit den untergeordneten Elementen erzeugt das Element <code>rawstep</code> eine Auswahlliste im Device Control.
+
Um diesen Kanal am besten im DDF abzubilden, nehmen wir das Element <code>rawstep</code>. Mit den untergeordneten Elementen erzeugt das Element <code>rawstep</code> eine Auswahlliste in der {{Manual Windowcaption|[[Device Control DMXC3|Gerätesteuerung (Device Control)]]}}.
  
Für jeden <code>step</code> gibt es dabei eine kurze Beschreibung, die im Attribut <code>caption</code> hinterlegt wird. Dazu kommen noch die Werte für die Attribute <code>mindmx</code> und <code>maxdmx</code>. Alle diese Angaben kannst du aus der Bedienungsanleitung übertragen.
+
Für jeden <code>step</code> gibt es dabei eine kurze Beschreibung, die im Attribut <code>caption</code> hinterlegt wird. Dies ist für die erste Auswahlmöglichkeit zum Beispiel {{Manual Value | Caption | No function}}. Dazu kommen noch die Werte für die Attribute <code>mindmx</code> und <code>maxdmx</code>. Alle diese Angaben kannst du aus der Bedienungsanleitung übertragen.
  
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
Zeile 162: Zeile 162:
  
 
=== Strobe-Kanal ===
 
=== Strobe-Kanal ===
Der Strobe-Kanal liegt auf Kanal 6. Der vorliegende LED-PAR-Scheinwerfer verfügt nur über eine einfache Strobe-Funktion, die beim DMX-Wert <code>0 </code>aus ist (<code>0</code> Hz) und bis DMX-Wert <code>255</code> kontinuierlich schneller wird bis zu einer Strobe-Frequenz von <code>15</code> Hz. Damit sind die Werte der Attribute <code>mindmx</code>, <code>maxdmx</code>, <code>minval</code> und <code>maxval</code> bereits bestimmt. Offen ist somit noch der Wert für das Attribut <code>type</code>. Als Wert musst du im DDF <code>linear</code> angegeben, da die Strobe-Frequenz ja mit größer werdenden DMX-Werten stetig zunimmt.
+
Der Strobe-Kanal liegt auf DMX-Kanal {{Manual Value | DMX channel | 6}}. Der vorliegende LED-PAR-Scheinwerfer verfügt nur über eine einfache Strobe-Funktion, die beim DMX-Wert {{Manual Value | DMX value | 0}} aus ist ({{Manual Value ||0 Hz}}) und bis DMX-Wert {{Manual Value | DMX value | 255}} kontinuierlich schneller wird bis zu einer Strobe-Frequenz von {{Manual Value || 15 Hz}}. Damit sind die Werte der Attribute <code>mindmx</code>, <code>maxdmx</code>, <code>minval</code> und <code>maxval</code> bereits bestimmt. Offen ist somit noch der Wert für das Attribut <code>type</code>. Als Wert musst du im DDF <code>linear</code> angegeben, da die Strobe-Frequenz ja mit größer werdenden DMX-Werten stetig zunimmt.
  
 
Wichtig ist an dieser Stelle zu erwähnen, dass die Einheit (hier Hertz) nicht eingetragen wird. Damit DMXControl 3 am Ende im Übrigen auch weiß, dass du die Strobe-Frequenz variabel anpassen möchtest, muss das untergeordnete Element ein <code>range</code>-Element ein.
 
Wichtig ist an dieser Stelle zu erwähnen, dass die Einheit (hier Hertz) nicht eingetragen wird. Damit DMXControl 3 am Ende im Übrigen auch weiß, dass du die Strobe-Frequenz variabel anpassen möchtest, muss das untergeordnete Element ein <code>range</code>-Element ein.

Aktuelle Version vom 29. März 2023, 09:02 Uhr

Books.png DDF-Tutorial LED-Scheinwerfer DMXC3 Artikel beschreibt
DMXControl 3.2.3
4er-Bar Arrow forw.png
Inhaltsverzeichnis
Teil 1: Grundlagen
Teil 2: Funktionen
Teil 3: Procederes
Teil 4: Beispiele


Cameo LED Mini Tri Par Can 3W.png

Vor uns steht der Cameo LED Mini Tri Par Can 3W, der auch baugleich zum lightmaXX Platinum LED MINI PAR Tri-LED 7x 3 Watt ist. Für diesen einfachen LED-PAR-Scheinwerfer mit eigenem Dimmer- und Strobe-Kanal sowie einem DMX-Kanal für Makros wollen wir im Folgenden ein DDF erstellen. Der LED-PAR-Scheinwerfer hat damit sechs DMX-Kanäle.


Ausgangsdaten: die Bedienungsanleitung

Bevor wir mit der Programmierung des eigentlichen DDFs starten, lohnt sich immer ein Blick in die Bedienungsanleitung. Dort findest du grundsätzlich eine Tabelle mit der Auflistung aller DMX-Kanäle und deren jeweiligen Funktionen – kurzum: die Kanalbelegung.

Manchmal solltest du dir aber auch zusätzlich die technischen Daten deines Geräts anschauen. Hier sind nämlich nochmal Angaben notiert, die nicht immer aus der Kanalbelegung hervorgehen. Hierzu gehört beispielsweise die maximale Strobe-Frequenz.

Kanalbelegung

Die Tabelle mit der Kanalbelegung sieht für den LED-PAR-Scheinwerfer wie folgt aus:

Kanal Wert Funktion
CH1 000 - 255 Master-Dimmer (0% - 100%)
CH2 000 - 255 Red (0% - 100%)
CH3 000 - 255 Green (0% - 100%)
CH4 000 - 255 Blue (0% - 100%)
CH5 000 - 004 No function
005 - 084 Color macro
170 - 255 Color fade
CH6 000 - 255 Strobe

Technische Daten

Wie bereits eingangs angedeutet, geht aus der Kanalbelegung nicht hervor, mit welcher maximalen Frequenz der LED-PAR-Scheinwerfer stroben kann. Daher werfen wir nun einen Blick in die technischen Daten.

Steuerungsfunktionen

  • 6-Kanal-DMX-Steuerung
  • Separate Steuerung der Farben Rot, Grün und Blau

Eigenschaften

  • 7 leuchtstarke TRI-Color-LEDs (3 W)
  • Musiksteuerung über eingebautes Mikrofon
  • Farbwechselgeschwindigkeit und Stroboskopeffekt über Bedienpanel steuerbar
  • Multicolor-Farbwechsel
  • Strobefrequenz: max. 15 Hz
  • Master/Slave-Funktionalität
  • Robustes, kompaktes Gehäuse
  • Leistungsaufnahme: 30 W
  • Longlife-LEDs mit besonders langer Lebensdauer
  • Doppelhalterung

Aus den technischen Daten geht hervor, dass die maximale Strobefrequenz bei 15 Hz liegt. Damit haben wir alle Angaben zusammengetragen, um mit der Programmierung des DDFs starten zu können.

Programmierung: der XML-Code

Zuerst öffnen wir in einem Texteditor deiner Wahl wie beispielsweise dem klassischen Editor von Windows oder Notepad++[1] und dem dort verfügbaren Plugin XML-Tools[2] eine leere Datei und speichern diese direkt im Datei-Format *.xml ab. Dies hat vor allem beim Texteditor Notepad++ den Vorteil, dass der XML-Code automatisch je nach Code-Typ unterschiedlich eingefärbt wird.

Basisteil

Die erste Zeile in einem DDF ist immer:

<?xml version="1.0" encoding="utf-8" ?>


Hiermit wird angeben, wie diese Datei von DMXControl und allen anderen Programmen, die auf diese Datei zugreifen, zu lesen ist.

Nach den Informationen zum Dokumentenstandard wird mit dem Tag device der Bereich für die eigentlichen Informationen geöffnet, die im DDF hinterlegt sind. Die Bild-Datei für das Icon in der Stage View trägt den Dateinamen Cameo LED Mini Tri Par Can 3W.png. Bei dem Gerät handelt es sich um ein DMXDevice mit 6 DMX-Kanälen. Das DDF wird für DMXControl 3 mit der Version 3.2.3 erstellt und wurde bislang nur einmal bearbeitet, weswegen es die Version 1.0.0 ist. Die Angabe der Version 3.2.3 hat konkret die Auswirkung, dass das DDF nur für diese und alle neueren Versionen von DMXControl 3 genutzt werden kann. Möchte jemand dein DDF stattdessen mit DMXControl 3.2.2 nutzen, wäre dies so nicht möglich.

<device image="Cameo LED Mini Tri Par Can 3W.png" type="DMXDevice" dmxaddresscount="6" dmxcversion="3.2.3" ddfversion="1.0.0">

Informationsteil

Im Informationsteil ist die Bezeichnung des Geräts, in diesem Fall LED Mini Tri Par Can 3W hinterlegt, der vom Hersteller Cameo geliefert wurde. Erstellt hat dieses DDF Stefan Kistner. Alle diese Informationen sind durch das Element <information> ... </information> eingeklammert.

  <information>
    <model>LED Mini Tri Par Can 3W</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
  </information>


Funktionsteil

Der Funktionsteil wird immer durch den Tag functions geöffnet.

Dimmer-Kanal

Der erste DMX-Kanal ist der DMX-Kanal mit der Funktion Dimmer. Das zugehörige Element heißt ebenfalls dimmer. Da man in der Programmierung immer bei 0 mit dem Zählen anfängt, muss für das Attribut dmxchannel der Wert 0 eingetragen werden. Beim DMX-Wert 0 ist der LED-PAR-Scheinwerfer komplett aus, das heißt 0% Helligkeit. Hieraus ergeben sich der Wert 0 für das Attribut mindmx und ebefalls 0 minval. Die maximale Helligkeit von 100%) erreicht der LED-PAR-Scheinwerfer beim DMX-Wert 255. Folglich ist bei den Attributen maxdmx der Wert 255 und bei maxval der Wert 100 zu hinterlegen. Am Anfang der Zeile müssen wir noch ein fünftes Attribut mit der Bezeichnung type einfügen, welches als Wert den Eintrag linear erhält. Damit weiß die HAL, dass es sich bei dem range-Element um einen Regler handelt, bei dem die Ausgangswerte mindmx und maxdmx) im gleichbleibenden Verhältnis (daher linear) zu den Eingangswerten (minval und maxval) ansteigen.

Der Teil des XML-Codes sieht damit wie folgt aus:

  <functions>
    <dimmer dmxchannel="0">
       <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="100" />
    </dimmer>


Allerdings darf man hier nicht unerwähnt, dass dies die umständliche Defintion des Dimmers ist. Verhält der Dimmer sich nämlich wie oben beschrieben (0% Helligkeit bei DMX-Wert 0 und volle Helligkeit bei DMX-Wert 255), können wir auf die interne Standarddefintion der HAL zurückgreifen. Dadurch vereinfacht sich der erste Teil wie folgt:

  <functions>
    <dimmer dmxchannel="0" />


Kanäle für rot, grün und blau

Da bei diesem LED-PAR-Scheinwerfer nur rote, grüne und blaue LEDs für die Farbmischung verbaut sind, wird im DDF ein einfaches RGB-Element verwendet. Dabei steuert der DMX-Kanal 2 die roten LEDs, der DMX-Kanal 3 die Grünen und der DMX-Kanal 4 die blauen LEDs.

Das Element rgb besteht aus den drei untergeordneten Elementen red, green und blue – jeweils ein Element für jede Farbe. Für die Attribute dmxchannel tragen wir die Werte 1, 2 bzw. 3 ein.

    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>


Makro-Kanal

Über den fünften DMX-Kanal dieses LED-PAR-Scheinwerfer können wir verschiedene Automatikprogramme aufrufen.

Um diesen Kanal am besten im DDF abzubilden, nehmen wir das Element rawstep. Mit den untergeordneten Elementen erzeugt das Element rawstep eine Auswahlliste in der Gerätesteuerung (Device Control).

Für jeden step gibt es dabei eine kurze Beschreibung, die im Attribut caption hinterlegt wird. Dies ist für die erste Auswahlmöglichkeit zum Beispiel No function. Dazu kommen noch die Werte für die Attribute mindmx und maxdmx. Alle diese Angaben kannst du aus der Bedienungsanleitung übertragen.

    <rawstep dmxchannel="4" name="Macros">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Color macro" mindmx="5" maxdmx="84" />
      <step caption="Color jump" mindmx="85" maxdmx="169" />
      <step caption="Color fade" mindmx="170" maxdmx="255" />
    </rawstep>


Strobe-Kanal

Der Strobe-Kanal liegt auf DMX-Kanal 6. Der vorliegende LED-PAR-Scheinwerfer verfügt nur über eine einfache Strobe-Funktion, die beim DMX-Wert 0 aus ist (0 Hz) und bis DMX-Wert 255 kontinuierlich schneller wird bis zu einer Strobe-Frequenz von 15 Hz. Damit sind die Werte der Attribute mindmx, maxdmx, minval und maxval bereits bestimmt. Offen ist somit noch der Wert für das Attribut type. Als Wert musst du im DDF linear angegeben, da die Strobe-Frequenz ja mit größer werdenden DMX-Werten stetig zunimmt.

Wichtig ist an dieser Stelle zu erwähnen, dass die Einheit (hier Hertz) nicht eingetragen wird. Damit DMXControl 3 am Ende im Übrigen auch weiß, dass du die Strobe-Frequenz variabel anpassen möchtest, muss das untergeordnete Element ein range-Element ein.

    <strobe dmxchannel="5" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </functions>


Da nach dem Strobe-Element keine weiteren Funktionen folgen, wird das Element <functions> mit dem End-Tag </functions> geschlossen.

Procedures

Bei diesem einfachen LED-PAR-Scheinwerfer gibt es keine Sonderfunktionen, wie zum Bespiel die Initiierung eines Reset (ein Neustart) des Geräts. Deswegen entfällt das Element für Procedures komplett. Zum Schluss muss das Element <device> noch mittels des End-Tags </device> geschlossen werden.

Ergebnis: das fertige DDF

Das komplette DDF für den Cameo LED Mini Tri Par Can 3W sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?>
<device image="Cameo LED Mini Tri Par Can 3W.png" type="DMXDevice" dmxaddresscount="6" dmxcversion="3.2.3" ddfversion="1.0.0">
  <information>
    <model>LED Mini Tri Par Can 3W</model>
    <vendor>Cameo</vendor>
    <author>Stefan Kistner</author>
  </information>
  <functions>
    <dimmer dmxchannel="0" />
    <rgb>
      <red dmxchannel="1" />
      <green dmxchannel="2" />
      <blue dmxchannel="3" />
    </rgb>
    <rawstep dmxchannel="4" name="Macros">
      <step caption="No function" mindmx="0" maxdmx="9" />
      <step caption="Color macro" mindmx="5" maxdmx="84" />
      <step caption="Color jump" mindmx="85" maxdmx="169" />
      <step caption="Color fade" mindmx="170" maxdmx="255" />
    </rawstep>
    <strobe dmxchannel="5" >
      <range type="linear" mindmx="0" maxdmx="255" minval="0" maxval="15" />
    </strobe>
  </functions>
</device>


Links und Referenzen

Links

  1. Notepad++ ist ein freier Text- und Quellcodeeditor. Weitere Informationen auf der Herstellerseite: https://notepad-plus-plus.org/
  2. Installationsanleitung für das Plugin XML-Tools mit Hilfe des integrierten Pluginadministrator von Notepad++: https://community.notepad-plus-plus.org/topic/16983/xml-tools/2