Serielles Protokoll zum eurolite USB-DMX512-PRO interface

  • Hallo zusammen,


    ich habe mir das oben genannte Interface gekauft. Nun würde ich gerne mit einer eigenen Anwendung das Interface benützen.


    Leider finde ich im Internet keine Doku, wie man das Interface anspricht.


    Hat jemand dies schon mal gemacht und/oder hat eine Anleitung, in welcher Form die Anweisung an das Interface gesendet werden.


    Vielen dank für Eure Hilfe.


    Wolfgang :)

  • Das Interface nutzt einen Befehl des Enttec Pro Interfaces.
    Bin gerade nur per Handy online, aber wenn du auf der Seite von Enttec schaust, dann wirst du da die Informationen finden.
    Allerdings ist das Protokoll grottenschlecht implementiert.
    Ich glaub ich muss das Universe 60 mal pro Sekunde senden, damit ca 20 Hz hinten rauskommen.
    Wird nichts mehr gesendet, sendet auch das Interface nichts mehr.

  • Hallo Markus,


    ich hab mal bei Enttec nachgeschaut. Was ich gefunden habe ist ein TCP/IP Protokol.


    Ich möchte mein Problem etwas genauer beschreiben. Ich habe eine LED-Matris 8x8 (80x80 cm)gebaut (sollen einmal vier werden). Diese lässt sich über DMXControl bereits ansteuern. Leider gibt es (aus meiner Sicht) keine passenden Steuerelemente um Muster (wie Buchstaben, Smily, etc) einfach zu erfassen. Weiter geplant sind Laufschriften und Lauflichter.


    Daher würde ich ein eigenes Programm erstellen (Visual C, Visual Basic), welches auf die COMx zugreift und die entsprechenden Channels an das Eurolite sendet. Wie gesagt finde ich keine Dokumentation wie ich es dem Eurolite USB-DMX512- Pro sage.


    Freue mich auf eine Nachricht von Dir.


    Viele Grüße


    Wolfgang

  • Halle Dennis,


    wie das immer so ist, wenn man mit etwas beginnt ist man nicht der "Schlauste".


    Daher freue ich mich, dass er Leute wie Dich gibt, die schon Experten sind. Und nach einer gewissen Zeit
    Kann ich dies auch an die nächsten weitergeben. Daher meine Frage:


    "Was ist Deiner Meinung nach etwas Gescheites?"


    Und hast Du irgendwo einen Link oder Codeschnipsel wo das Interface mit Visual Basic angesprochen wird?


    Vielen Dank für Deine Hilfe.


    Wolfgang

  • "Was ist Deiner Meinung nach etwas Gescheites?"

    Da steh ich zum Glück nicht mit meiner Meinung alleine. fx5.de oder Selbstbau digital-enlightenment.de. Nachzulesen in unzähligen Threads hier im Forum.


    Und hast Du irgendwo einen Link oder Codeschnipsel wo das Interface mit Visual Basic angesprochen wird?

    Beispielcode habe ich nicht. Aber wie du der Spezifikation entnehmen kannst, musst du nur die 4 Byte vom Header (Application Message Format), dann die Daten inkl. Startbyte und zum Abschluss noch 0xe7 schicken. Laut Markus 60 mal pro Sekunde. Zum initialisieren eines seriellen Ports wird wohl Beispielcode geben.

  • Ahoi!


    Ich versuche seit einiger Zeit nun schon dieses Gerätchen zum Reden zu bewegen, aber leider komplett ohne auch nur einen Ansatz von Erfolg.


    Den Treiber habe ich installiert, und der virtuelle COM Port ist verfügbar und auch ansprechbar. Dann habe ich mir die Doku (DMX USB Pro Widget API Specification 1.44) wie mancherorts empfohlen zur Brust genommen, und zunächst ganz naiv versucht dem Teil ein paar DMX Daten zu schicken (Label 6). Da daraufhin nichts an meinem Dimmerpack passierte, habe ich mal versucht die Config des Interfaces zu lesen. Laut Doku soll dabei ein Label 3 geschickt werden, sowie die Länge der UserConfig (was auch immer diese enthält, das ist nirgends dokumentiert). Diese habe ich daher auch bei 0 belassen.


    Mein Delphi-Code zum senden der Config-Anfrage sieht so aus:


    Für die COM Kommunikation setze ich die TurboPower Async Pro Komponenten ein, die wir auch schon zigfach problemlos für die Steuerung von Industriemaschinen im Einsatz haben. Der DataAvail-Trigger, der immer dann feuert wenn am COM Port neue Daten anstehen, bleibt aber leider nach Senden obiger Message ruhig - das Interface sendet nichts zurück.


    Da ich die DMX Funktionen innerhalb eines bestehenden Programmes von uns benötige, sind Freestyler oder DMXControl leider auch keine Option (zumal mir DMXControl mit "Das Programm funktioniert nicht mehr" abschmiert sobald ich das Häkchen beim Enttec-Output-Plugin setze).
    Da hier aber, wenn ich nicht irre, auch der Autor besagtem Plugins schreibt, hoffe ich, dass mir bzgl. des Protokolls ein wenig auf's Pferd geholfen werden könnte. Ihr habt es ja irgendwie geschafft, sonst wäre es ja nicht im Programm :)


    Ich wäre für jegliche Tipps seeeeehhhrrrr dankbar. Es gibt einfach nichts grausigeres als Hardware die komplett ohne auch nur den Ansatz einer Doku verkauft wird. (Leider soll es genau das Teil sein, es wird von meinem Kunden beigestellt.)


    Vielen Dank im Voraus und viele Grüße!

  • Ja, das wurde mir beim Lesen hier auch irgendwann deutlich. Also dass es nicht sehr empfehlenswert ist. Leider steht von solchen Details nichts in den Bewertungen bei Thomann, und soooo tief recherchiert man bei einem 100€ Artikel dann auch im Vorfeld wieder nicht. Da ist die Arbeitszeit zu teuer für. Zumal ich als Entwickler im Industriebereich selten mit der Materie zu tun habe, und nichtmals weiss auf was man bei welchen Vorhaben wo und wie genau beachten sollte. Ich hatte nichtmals die Fragestellung vorher. (Das ist nachher bestimmt diese ominöse "Erfahrung" von der immer alle reden ^^)


    Das Teil mit Messages vollballern ist kein Problem. Wenn es das so will, kann es das gerne haben. Komisches Verhalten dennoch. Der Hinweis, dass nur Label 6 damit geht hat mir allerdings jetzt sicherlich noch 1-2 Tage Kopfzerbrechen erspart, danke!!
    Dann versuche ich das morgen nochmals. Nur zur Sicherheit: Angenommen ich will 12 Kanäle ab Kanal 1 setzen, so wäre die Message (Hex):
    7E 06 0D 00 00 Ch1 Ch2 Ch3 Ch4 Ch6 Ch6 Ch7 Ch8 Ch9 Ch10 Ch11 Ch12 E7
    Wobei die 00 vor den Kanaldaten das DMX-Start Signal ist.
    Ch[n] sind die Byte-Werte für den jeweiligen Kanal. (Also nicht in Hex, sondern Platzhalter hier.) Habe ich das so richtig verstanden?

  • Es funktioniert!


    Dank der Infos von hier und einem sehr freundlichen Mitarbeiter von Eurolite kann ich nun meine Dimmerpacks mit dem Adapter steuern. Die gemachten Erkenntnisse möchte ich natürlich nicht für mich behalten:


    1) Wie Markus M. schrieb, wird höchst wahrscheinlich wirklich nur Label 6 (DMX Out) vom Protokoll unterstützt


    2) Das Enttec Protokoll sieht vor, auch weniger als 512 Kanäle zu übertragen, so lange man die Längenangaben anpasst. Dies versteht der Adapter von Eurolite NICHT. Hier müssen immer alle 512 Kanäle geschickt werden, mitsamt korrekter Längenangabe.


    3) Ich habe problemlos Ergebnisse erzielt, auch wenn ich nur jede volle Sekunde eine Message abgesetzt habe. Für eine flüssige Abfolge habe ich das Sendeintervall auf 30ms gestellt, was ebenfalls gut funktionierte. (Der COM-Port sollte dafür allerdings mit 115200 Baud geöffnet werden.)


    Die einzige von dem Gerät verstandene Message ist daher in Hex: 7E 06 01 02 00 [512 * Channel Data] E7



    Vielen Dank nochmals (auch an alle Poster der vergangenen Jahre zu dem Thema) und viele Grüße!

  • Ich habe das gleiche Problem wie du, ich versuche ebenfalls eine Lichtanlage mit dem Eurolite Interface Pro und meiner eignen Software anzusprechen, funktioniert aber nicht :-). Wäre es dir vielleicht möglich deinen Pascal Quellcode hochzuladen.


    Danke schonmal im vorraus.


    Jonas

  • Hi!


    Es könnte sein, dass Dir niemand mehr antwortet. Bis auf Markus und Fisl sind leider alle anderen hier nur als Gast eingeloggt und erhalten daher auch keine Benachrichtigung über Deinen Beitrag. Aber vielleicht meldet sich ja jemand anderes.
    (Nur als Hinweis falls sich hier nichts tut damit Du Bescheid weißt)


    Hoc

    Mein Equipment:
    1x Hirn | 2x Augen (leicht defekt) |2x Ohren | 1x Mund |32x Zahn (zum Teil V1.5) | 1x Handundfuß-Interface

    *SCNR*

  • Newly created posts will remain inaccessible for others until approved by a moderator.

    The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.