Skip to content
Menu
Menu

Knowledge Base

KB050114 | ZUGANG VON ELVIS AUF DMX-512

KB050114 | ZUGANG VON ELVIS AUF DMX-512

Produkt: Elvis
Version: ab 2.4
Stand: 2007-01-02

Zusammenfassung

Aktualisierung 26.11.19: DMX-Interfaces der Fa. Cinetix werden nicht mehr produziert.

Für den Anschluss eines DMX-512 Gerätes an Elvis haben wir einen Teil des Protokolls der DMX-512 Box (www.cinetix.de) implementiert.

Die USB / DMX-512 Control Box von Cinetix ist also die wesentliche Voraussetzung für die Kommunikation.

Es gibt jetzt nur noch die RS232- und eine MIDI-Variante der Cinetix-Box. Diese sollten genauso funktionieren, das haben wir jedoch noch nicht testen können.

Hier können Sie das Beispielprojekt und das Script für den Custom Port herunterladen:  dmx512.zip (110 KB).

Einzelheiten

DMX-512

Das DMX-512 Protokoll wird in rauer Umgebung (Bühnentechnik) für die Steuerung von Licht (Dimmen), Bewegung von Leuchten (Moving Head) sowie für Spezialeffekte (Nebel etc.) eingesetzt.

Der Standard „DMX-512“ sieht vor, dass ein Bus-Master digitale Steuerdaten auf eine Busleitung sendet. Diese Busleitung wird von Empfänger zu Empfänger durchgeschleift. Alle am Bus angeschlossenen DMX-Empfänger werden zyklisch mit allen aktuellen Steuerdaten versorgt, unabhängig davon ob sich diese Daten in der Zwischenzeit verändert haben und ob sie für diesen Empfänger bestimmt sind. Jeder DMX-Zyklus beginnt mit einem speziellen Reset-Impuls und dem Start-Byte als Header. Anschließend werden nacheinander alle Datenbytes im 8-Bit Format an alle potentiellen Empfänger gesendet. Ein Byte innerhalb dieser Datenbytes wird als Kanal (im DMX-512A Standard als Slot) bezeichnet. Der Slot (= Position eines Bytes innerhalb der Datenbytes relativ zum Startbyte) übernimmt also die Rolle der Adressierung. Der Wert des Bytes wird als Pegel bezeichnet (Wertebereich 0 bis 255). Mittels eines Codierschalters o.ä. kann am DMX-Empfänger eine Zahl zwischen 1 und 512 eingestellt werden. Der Empfänger tastet in jedem DMX-Zyklus die ab diesem Slot gesendeten Datenbytes aus dem DMX-Datenstrom ab. Die Anzahl der ausgewerteten Bytes hängt von der spezifischen Funktion des Empfängers ab. Es können also auch mehrere Slots für einen Empfänger und die gleichen Slots für mehrere Empfänger bestimmt sein.

Da keinerlei Sicherungsmechanismen vorgesehen sind verbietet der DMX-512 Standard ausdrücklich den Einsatz in sicherheitskritischen Anwendungen.

Protokoll der DMX-512 Box (www.cinetix.de)

(Auszug aus der Betriebsanleitung zur RS-232/DMX-512 Control Box)

Zur Steuerung der DMX Control Box von einem PC aus sind zwei Steuerprotokolle verfügbar: das ASCII-Protokoll und das binäre Protokoll. Das ASCII-Protokoll kann auch per Hand mit einem Terminalprogramm ausgeführt werden, was wir zum ersten Kennenlernen der Box auch empfehlen. Jeder Steuerbefehl und jede Zustandsmeldung beginnt mit einem einzelnen charakteristischen Buchstaben, danach folgt, wenn notwendig, eine Zahl als Wert-Parameter. Schnellstart und elementare Befehle: Die Nummer des zu verändernden DMX-Slot (1 – 512) wird eingestellt mit dem Befehl „S“, danach folgt die Slot-Nummer als 1- bis 3-stellige Dezimalzahl. Danach wird der an diesem Slot einzustellende DMX-Wert mit dem Befehl „V“ übertragen, gefolgt von einer als ASCII-Text dargestellten Zahl im Bereich 0 bis 255: Die Zahl muss dreistellig eingegeben werden oder bei weniger Stellen mit <CR> „carriage return“ abgeschlossen werden. Beispiel: S1V45<CR>

Elvis Custom Port

Der Custom Port ist ein Anschluss für die Kommunikation mit Geräten über serielle Protokolle. Die Implementierung des fremden Protokolls erfolgt in einem Script. Dieses Script enthält alle für die Kommunikation notwendigen Einstellungen für den Aufbau der Kommunikation sowie die Anweisungen für die Verarbeitung eingehender und ausgehender Sendungen (Telegramme). Damit liegen alle wesentlichen Operationen in unserer Hand, dennoch ist die Erstellung eines Scripts nicht schwierig. Spezielle Funktionen für den Datenaustausch mit dem Prozessserver und die Kommunikation mit dem Gerät machen uns die Arbeit leicht!

Vom Prozessserver werden aufgerufen:

  • beim Start des Prozessservers, dient zur Initialisierung des Ports: OnOpen()
  • wenn sich der NominalValue eines Datenpunkts geändert hat: SendValue(dst As String, v As Variant, svrinfo As String), dst ist die Adresse, v der Wert und svrinfo die Zusatzinfo (aus der Liste der Datenpunkt-Typen)

Vom Script wird aufgerufen:

  • zum Aufbau der Kommunikation (Kommunikationseinstellungen): OpenCommPort port (=String), mode (= String)
  • wenn an das Gerät gesendet werden soll: CommSend sSend (=String)
  • wenn der ActualValue eines Datenpunkts gesetzt werden soll: FireReceiveValue dst (=String), v (=Variant)

Für unser DMX-512 Script bedeutet das:

  1. Kommunikationsaufbau – also in OnOpen() die Kommunikation mit der DMX-512 Box aufbauen:
    <tt>  OpenCommPort „COM5“, „Baud=19200, parity=n, data=8, stop=1, xon=off, rts=off“</tt>
  2. Bei Änderung des NominalValue wird: SendValue(dst As String, v As Variant, svrinfo As String) augerufen
    1. Den Slot und den Wert senden (CommSend). Dazu den String, der gesendet werden soll, zusammensetzen:
      <tt>  CommSend „S“ & dst & „V“ & CStr(v) & Chr(13) </tt>
      das bedeutet: „S“ + Slotnummer + „V“ + Wert + return
    2. Damit der aktuelle Wert auch angezeigt werden kann, wird der ActualValue noch gesetzt:
      <tt>  FireReceiveValue dst, v</tt>

Beispiel einer minimalen DMX-512 Anschluss-Implementierung:

Sub OnOpen() OpenCommPort "COM5", "Baud=19200, parity=n, data=8, stop=1, xon=off, rts=off" End Sub Sub SendValue(dst As String, v As Variant, svrinfo As String) CommSend "S" & dst & "V" & CStr(v) & Chr(13) FireReceiveValue dst, v End Sub

Support Area

KB050114 | ZUGANG VON ELVIS AUF DMX-512

Knowledge Base

Hier finden Sie Antworten, Problemlösungen und Beispiele zu unseren Produkten.
KB050114 | ZUGANG VON ELVIS AUF DMX-512

Case Studies

Erfolgreich im Einsatz: Praxisbeispiele unserer Produkte und Individualentwicklungen.
KB050114 | ZUGANG VON ELVIS AUF DMX-512

Support

Beschreiben Sie ihr Anliegen über unser Supportformular.
KB050114 | ZUGANG VON ELVIS AUF DMX-512

Lizenzregistrierung

Registrieren Sie ihre Elvis-Lizenz!

IT GmbH · An der Kaufleite 12 · D-90562 Kalchreuth

KB050114 | ZUGANG VON ELVIS AUF DMX-512

BÜRO
Telefon: +49 911 5183490
E-Mail: info@it-gmbh.de

VERTRIEB
Telefon: +49 911 5183490
E-Mail: vertrieb@it-gmbh.de

partner-knx

© Copyright 2023. IT GmbH | designed by Appear Online