Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Anforderungen

TwinCAT PLC Lib: DMX

Anforderungsprofil des Anwenders

Für den Nutzer dieser Bibliothek werden folgende Grundkenntnisse vorausgesetzt:

  • TwinCAT PLC Control
  • TwinCAT System Manager
  • PC und Netzwerkkenntnisse
  • Aufbau und Eigenschaften der Beckhoff Embedded-PC und deren Busklemmensystem.
  • Technologie von DMX Geräten
  • Einschlägige Sicherheitsvorschriften der technischen Gebäudeausrüstung

Zielgruppen

Diese Softwarebibliothek ist für Gebäudeautomation-Systempartner der Beckhoff Automation GmbH. Die Systempartner sind tätig in dem Bereich Gebäudeautomation und beschäftigen sich mit Errichtung, Inbetriebsetzung, Erweiterung, Wartung und Service von mess-, steuer- und regelungstechnischen Anlagen der technischen Gebäudeausrüstung.


Einführung DMX

DMX ist das Standardprotokoll für die Ansteuerung von Geräten der professionellen Bühnen- und Effektbeleuchtung, die beispielsweise zur dynamischen Beleuchtung von Show- und Verkaufsräumen, sowie für exklusive Licht- und Farbspiele in prestigeträchtigen Gebäuden, wie Hotels und Veranstaltungszentren, eingesetzt werden. Bei DMX-Geräten in Form von statischen Lichtquellen werden Farbmischungs- und Helligkeitswerte übermittelt, bei bewegten Lichtquellen werden zusätzlich Raumkoordinaten kommuniziert. Die hohe Übertragungsrate von EtherCAT ermöglicht eine höhere Aktualisierungsrate der Lichteinstellungen, und bewirkt, dass die Licht- und Farbwechsel vom Auge harmonischer wahrgenommen werden. Mit der EL6851 können DMX-Geräte mit drei Achsen wie z. B. Scanner, Moving Heads oder Spotlights angesteuert werden, die Implementierung des RDM-Protokolls (Remote Device Management) für DMX-interne Diagnose und Parametrierung ist mit TwinCAT Bausteinen möglich.

Der DMX-Master sendet zyklisch mit 250 kBaud neue Einstellungen an Slaves, um dynamische Lichtwechsel und Farbspiele zu generieren. Im DMX-Protokoll sind maximal 32 Slaves an einem Strang ohne Repeater möglich. Der 512 Byte lange Frame im DMX-Protokoll wird als „Universe“ bezeichnet. In ihm stehen 512 Kanäle zur Verfügung, von denen jeweils einer mit 8 Bit Auflösung, also in 256 Stufen, eine Geräte-Einstellung repräsentiert z.B. Dimmen, Farbe, Fokus etc. Bei bewegten Lichtquellen nehmen weitere Einstellungen wie Neigung, Schwenken und Geschwindigkeit (in 8- oder 16 Bit Auflösung) zusätzliche Kanäle in Anspruch, so dass die 512 Kanäle nur indirekt für 32 Teilnehmer ausreichen. Weiterhin benötigt ein Frame bei voller Ausnutzung der Universe 22 ms zur internen DMX-Zirkulation, was eine Refresh-Rate von 44 Hz bedeutet. Lichtänderungen bei dieser Frequenz werden als unharmonisch wahrgenommen, erst ab einer Frequenz von >200Hz erscheinen die Übergänge harmonisch. Durch Verringerung der Nutzdatenmenge kann die Zirkulationsdauer des Frames reduziert werden, optimal hat sich eine Ausnutzung von 64 Byte (Frequenz >300 Hz) erwiesen, damit stehen 64 Kanäle pro Universe zu Verfügung.

Mit der EL6851 wird die Einbindung mehrerer Universen in eine Steuerung einfach: EtherCAT kann große Datenmengen schnell übermitteln, das EtherCAT-Protokoll bleibt bis in die Klemme erhalten und die Klemme unterstützt verschieden große Mappings (64 bis 512 Byte). So kann bei Anschaltung mehrerer Masterklemmen, jeweils als eigene Universe, der Zeitversatz bei der Übertragung von der Steuerung zum Master deutlich minimiert werden.


Allgemeine Informationen

Hinweis 		Installation
Ab TwinCAT 2.11 Build 2229 (R3 und x64 Engineering) wird die Bibliothek "TcDMX.lib" standardmäßig mitinstalliert.

Hinweis 		Name der Bibliothek
Diese Bibliothek ersetzt die "TcEL6851.lib".

Hardware Dokumentation im Beckhoff Information System: EL6851 - DMX-Master-Slaveklemme

Weitere erforderliche Bibliotheken

Für PC-Systeme (x86) und Embedded-PCs (CXxxxx):

  • Standard.lib
  • TcBase.lib
  • TcSystem.lib
  • TcUtilities.lib

Für Busklemmen-Controller der Serie BCxx00, BCxx50, BCxx20, BC9191 und BXxx00:

  • nicht verfügbar

Hinweis 		Speicherauslastung
Durch Einbinden der Bibliothek wird bereits SPS-Programmspeicher verbraucht. Abhängig vom Applikationsprogramm kann daher der verbleibende Speicher nicht ausreichend sein.


Übersicht Bibliothek

Es empfiehlt sich der Einsatz der TwinCAT-Bibliotheken sowohl für das RDM-Protokoll als auch für das Versenden der zyklischen Prozessdaten zu den DMX-Slaves. Zu beiden Varianten finden Sie Beispiele im Anhang.

Beschreibung der Bibliothek

Es ist grundsätzlich nur ein Baustein für die Grundkommunikation notwendig. Der FB_EL6851Communication übernimmt die Kommunikation mit der EL6851. Mit diesem Baustein kann zwischen RDM- und dem DMX-Protokoll umgeschaltet werden. Wird das DMX-Protokoll gefahren, kann keine RDM-Kommunikation stattfinden und umgekehrt.


Integration in TwinCAT (CX9020)

Dieses Beispiel beschreibt, wie ein einfaches SPS-Programm für DMX in TwinCAT geschrieben werden kann und wie es mit der Hardware verknüpft wird. Es soll nach DMX-Geräten gesucht werden.

Beispieldateien entpacken Download

Hardware

Einrichtung der Komponenten

Es wird folgende Hardware benötigt:

  • 1x Embedded-PC CX9020
  • 1x Digitale 2-Kanal-Eingangsklemme KL1002 (Suchvorgang starten)
  • 1x EtherCAT-Buskoppler EK1100
  • 1x DMX-Master-Klemme EL6851
  • 1x Endkappe EL9111

Richten Sie die Hardware sowie die DMX-Komponenten wie in den entsprechenden Dokumentationen beschrieben ein.

Dieses Beispiel geht davon aus, dass ein Start-Taster auf den ersten Eingang der KL1002 gelegt wurde.

Software

Erstellung des SPS-Programms

Erstellen Sie ein neues SPS-Projekt für PC-basierte Systeme (ARM) und fügen die Bibliothek TcDMX.lib hinzu.

Erzeugen Sie als Nächstes die folgenden globalen Variablen:

VAR_GLOBAL
    stEL6851InData      AT %I* : ST_EL6851InData;
    stEL6851OutData     AT %Q* : ST_EL6851OutData;
    stCommandBuffer            : ST_DMXCommandBuffer;
END_VAR

stEL6851InData: Eingangsvariable für die DMX-Klemme.

stEL6851OutData: Ausgangsvariable für die DMX-Klemme.

stCommandBuffer: Wird für die Kommunikation mit DMX benötigt.

Legen Sie anschließend ein Programm (CFC) für die Hintergrundkommunikation mit DMX an. In diesem wird der Baustein FB_EL6851Communication aufgerufen. Achten Sie beim Kommunikationsbaustein darauf, mit stEL6851InData, stEL6851OutData und stCommandBuffer zu verknüpfen.

Legen Sie ein MAIN-Programm (CFC) an in dem der Baustein FB_DMXDiscovery aufgerufen wird. Der Eingang bStart des Bausteins wird mit der globalen Variable bStart verknüpft und stCommandBuffer mit der globalen Variable stCommandBuffer.

Gehen Sie in die Taskkonfiguration und legen Sie eine neue Task für die Hintergrundkommunikation an. Fügen Sie dieser Task das Programm für die Kommunikation hinzu. Geben Sie dieser Task eine höhere Priorität (kleinere Zahl) und eine niedrigere Intervall-Zeit als der Standard-Task. Genauere Informationen dazu finden Sie in der Beschreibung des Bausteins FB_EL6851Communication.

Laden Sie das Projekt als Bootprojekt auf den CX und speichern Sie es ab.

Konfiguration im System Manager

Legen Sie ein neues System-Manager-Projekt an, wählen Sie als Zielsystem den CX und lassen Sie nach dessen Hardware suchen.

Stellen Sie die DMX-Eingänge 1 bis 64 zur Verfügung, indem Sie die Registerkarte Prozessdaten der EL6851 öffnen und unter Inputs die Option 0x1A01 anwählen.

Fügen Sie das oben angelegte SPS-Programm unter SPS-Konfiguration hinzu. Beim Aufklappen des SPS-Projekts in der Baumansicht werden die beiden Tasks aufgelistet. Beim Erweitern der Tasks ist sicherzustellen, dass alle globalen Ein- und Ausgangsvariablen der Standard-Task zugeordnet sind. Da die Variablen stEL6851InData und stEL6851OutData jedoch schneller abgearbeitet werden sollen, müssen diese mit Drag&Drop auf die Hintergrund-Kommunikations-Task verschoben werden.

Verknüpfen Sie die globalen Variablen des SPS-Programms nun mit den Ein- und Ausgängen der Busklemmen, erzeugen Sie die Zuordnungen und aktivieren Sie die Konfiguration. Starten Sie dann das Gerät im Run-Modus.
Ihr CX ist jetzt einsatzbereit.

Durch Betätigen des Tasters wird die Suche nach DMX-Geräten gestartet. Die Anzahl gefundener Geräte steht in der Variable iFoundedDevices und zusätzliche Informationen dazu in arrDMXDeviceInfoList.


FB_EL6851Communication

Der Zugriff auf die EL6851 sollte immer über diesen Baustein erfolgen. Dieses betrifft sowohl das Versenden der zyklischen DMX-Daten, als auch das Versenden der RDM-Befehle.

Sollen Daten zyklisch zu den DMX-Geräten versendet werden, so setzen sie den Eingang bEnableSendingData auf TRUE, den Eingang bSetCycleMode auf TRUE, den Eingang bSendDefaultData auf FALSE und den Eingang uiDataLength auf die entsprechende Länge (jn Byte). Die Daten, die versendet werden sollen, können über die Variable arrProcessData vorgegeben werden.

Sollen RDM-Befehle versendet werden, so setzen sie den Eingang bEnableSendingData auf FALSE und den Eingang bSetCycleMode auf FALSE. Die Bausteine für die DMX-RDM-Befehle greifen nicht direkt auf das Prozessabbild der EL6851 zu, sondern legen die einzelnen DMX-RDM-Befehle in einen Puffer ab. Der Baustein FB_EL6851Communication() liest sequentiell die Befehle aus diesen Puffer aus und gibt diese zu der EL6851 weiter. Hierdurch wird sichergestellt, dass nicht mehrere Bausteine gleichzeitig auf das Prozessabbild der EL6851 zugreifen. Der Puffer, in dem die DMX-RDM-Befehle abgelegt werden, ist in einer Variablen vom Typ ST_DMXCommandBuffer enthalten. Pro EL6851 gibt es eine Instanz vom Baustein FB_EL6851Communication() und eine Variable vom Typ ST_DMXCommandBuffer.

Über die Ausgänge des Bausteins kann ermittelt werden, wie stark der Puffer ausgelastet ist. Sollten Sie feststellen, dass der Puffer regelmäßig überläuft, so sollten mit Hilfe des TwinCAT System Managers die Auslastung der SPS-Task analysieren.

Der Baustein FB_EL6851Communication() kann, wenn nötig in einer separaten, schnelleren Task aufgerufen werden. In diesem Fall sollte die schnellere Task, in der der Baustein FB_EL6851Communication() aufgerufen wird, eine höhere Priorität haben, als die TASK, in der die Bausteine für die RDM-Befehle aufgerufen werden.

Zu beiden Betriebsarten finden sie auch entsprechende Beispiele im Anhang.

Anmerkung zu den IDs von DMX-Geräten

Jedes DMX-Gerät hat eine eindeutige, feste, 48-Bit lange Adresse, auch Unique ID oder kurz UID genannt. Diese Adresse besteht aus der Manufacturer ID (16 Bit) und der Device ID (32 Bit). Die Manufacturer ID identifiziert den Hersteller des Gerätes und wird von der ESTA (Entertainment Services and Technology Association) vergeben. Eine Liste mit allen bekannten Manufacturer IDs ist zu finden unter http://www.esta.org/tsp/working_groups/CP/mfctrIDs.php. Die Device ID wird frei vom Hersteller festgelegt. Hierdurch soll sichergestellt werden, dass jede UID weltweit einmalig vorhanden ist. Die UID kann in der Regel nicht verändert werden. Von der ESTA wurde Beckhoff Automation die Hersteller ID 0x4241 zugeordnet. Da auch ein DMX-Master eine UID besitzt, sollte diese entsprechend der ESTA angegeben werden (Eingang wSourceManufacturerId).

VAR_INPUT

wSourceManufacturerId         : WORD := 16#42_41;
dwSourceDeviceId              : DWORD := 16#12_13_14_15;
bEnableSendingData            : BOOL := TRUE;
bSetCycleMode                 : BOOL := TRUE;
bSendDefaultData              : BOOL;
uiDataLength                  : UINT;
dwOptions                     : DWORD;

wSourceManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät. Sollte gemäß der ESTA 0x4241 sein.

dwSourceDeviceId: Eindeutige Geräte-ID vom DMX-Gerät. Kann frei vergeben werden.

bEnableSendingData: Ist die Klemme im CycleMode (Ausgang CycleMode = TRUE), so kann das Versenden mit diesem Baustein aktiviert (TRUE) oder gesperrt (FALSE) werden..

bSetCycleMode: Aktiviert den CycleMode. Im CycleMode können die zyklischen Prozessdaten an die DMX-Geräte versendet werden. Zum versenden der RDM-DMX-Befehle muss der CycleMode deaktiviert werden..

bSendDefaultData: Ist dieser Eingang aktive (TRUE), so werden im CycleMode die Standardwerte versendet.

uiDataLength: Dieser Eingang ist nur relevant, wenn der CycleMode aktiv ist. Er gibt die Länge des DMX512-Frames in Bytes an.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bError                        : BOOL;
udiErrorId                    : UDINT;
bCycleMode                    : BOOL;
byBufferDemandMeter           : BYTE;
byBufferMaximumDemandMeter    : BYTE;
uiBufferOverflowCounter       : UINT;
bLineIsBusy                   : BOOL;

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

bCycleMode: Ist auf TRUE, wenn der CycleMode aktiv ist (siehe auch Eingang bSetCycleMode).

byBufferDemandMeter: Belegung des jeweiligen Puffers (0 - 100%).

byBufferMaximumDemandMeter: Bisherige maximale Auslastung des jeweiligen Puffers (0 - 100%).

uiBufferOverflowCounter: Bisherige Anzahl der Pufferüberläufe.

bLineIsBusy: Solange der Baustein FB_EL6851Communication() DMX-RDM-Befehle bearbeitet, ist dieser Ausgang gesetzt.

VAR_IN_OUT

stEL6851InData        : ST_EL6851InData;
stEL6851OutData       : ST_EL6851OutData;
stCommandBuffer       : ST_DMXCommandBuffer;
arrProcessData        : ARRAY [1..512] OF BYTE;

stEL6851InData: Struktur im Eingangsprozessabbild der EL6851. Sie dient zur Kommunikation von der EL6851 zur SPS.

stEL6851OutData: Struktur im Ausgangsprozessabbild der EL6851. Sie dient zur Kommunikation von der SPS zur EL6851.

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.

arrProcessData: Über diese Variable werden dem Baustein die Daten übergeben, die zyklisch an die DMX-Geräte versendet werden sollen. Hierzu muss der CycleMode aktiv sein (siehe auch Eingang bSetCycleMode).


FB_DMXDiscovery

Dieser Funktionsbaustein sucht nach bis zu 50 DMX-Geräten und stellt optional die Startadresse automatisch ein. Die wichtigsten Informationen der gefundenen Geräte werden in einer Struktur angezeigt.

VAR_INPUT

bStart                   : BOOL;
dwOptions                : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Baustein gestartet.

dwOptions: Optionen (siehe Tabelle). Die einzelnen Konstanten müssen miteinander "ODER" verknüpft werden.

Konstante | Beschreibung
DMX_OPTION_COMPLETE_NEW_DISCOVERY | Es werden alle DMX-Geräte berücksichtigt.
DMX_OPTION_SET_START_ADDRESS | Bei allen DMX-Geräten die gefunden werden, wird die Startadresse gesetzt. Fortlaufend beginnend mit 1.
DMX_OPTION_OPTICAL_FEEDBACK | Nachdem ein DMX-Gerät gefunden wurde, wird für zwei Sekunden die Funktion IDENTIFY_DEVICE aufgerufen.

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
uliLowerBoundSearchUID   : T_ULARGE_INTEGER;
uliUpperBoundSearchUID   : T_ULARGE_INTEGER;
arrDMXDeviceInfoList     : ARRAY [1..50] OF ST_DMXDeviceInfo;
uiNextDMX512StartAddress : UINT;
iFoundedDevices          : INT;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

uliLowerBoundSearchUID: Während der Suche wird an diesem Ausgang die untere Suchadresse ausgegeben.

uliUpperBoundSearchUID: Während der Suche wird an diesem Ausgang die obere Suchadresse ausgegeben.

arrDMXDeviceInfoList: Array mit den wichtigsten Informationen der gefundenen DMX-Geräte.

uiNextDMX512StartAddress: Ist die Option DMX_OPTION_SET_START_ADDRESS aktiviert, so wird an diesem Ausgang die Startadresse angezeigt, die dem nächsten DMX-Gerät zugewiesen wird.

iFoundedDevices: Während der Suche wird an diesem Ausgang die aktuelle Anzahl der gefunden Geräte ausgegeben.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXDiscovery512

Dieser Funktionsbaustein sucht nach bis zu 512 DMX-Geräten und stellt optional die Startadresse automatisch ein. Die wichtigsten Informationen der gefundenen Geräte werden in einer Struktur angezeigt.

VAR_INPUT

bStart                   : BOOL;
dwOptions                : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Baustein gestartet.

dwOptions: Optionen (siehe Tabelle). Die einzelnen Konstanten müssen miteinander "ODER" verknüpft werden.

Konstante | Beschreibung
DMX_OPTION_COMPLETE_NEW_DISCOVERY | Es werden alle DMX-Geräte berücksichtigt.
DMX_OPTION_SET_START_ADDRESS | Bei allen DMX-Geräten die gefunden werden, wird die Startadresse gesetzt. Fortlaufend beginnend mit 1.
DMX_OPTION_OPTICAL_FEEDBACK | Nachdem ein DMX-Gerät gefunden wurde, wird für zwei Sekunden die Funktion IDENTIFY_DEVICE aufgerufen.

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
uliLowerBoundSearchUID   : T_ULARGE_INTEGER;
uliUpperBoundSearchUID   : T_ULARGE_INTEGER;
arrDMXDeviceInfoList     : ARRAY [1..512] OF ST_DMXDeviceInfo;
uiNextDMX512StartAddress : UINT;
iFoundedDevices          : INT;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

uliLowerBoundSearchUID: Während der Suche wird an diesem Ausgang die untere Suchadresse ausgegeben.

uliUpperBoundSearchUID: Während der Suche wird an diesem Ausgang die obere Suchadresse ausgegeben.

arrDMXDeviceInfoList: Array mit den wichtigsten Informationen der gefundenen DMX-Geräte.

uiNextDMX512StartAddress: Ist die Option DMX_OPTION_SET_START_ADDRESS aktiviert, so wird an diesem Ausgang die Startadresse angezeigt, die dem nächsten DMX-Gerät zugewiesen wird.

iFoundedDevices: Während der Suche wird an diesem Ausgang die aktuelle Anzahl der gefunden Geräte ausgegeben.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.

Entwicklungsumgebung | Zielsystem | erforderliche Bibliotheken
TwinCAT 2.11 R3/x64 ab Build 2240 | PC/CX | TcDMX-Bibliothek ab V1.1.0


FB_DMXDiscMute

Dieser Funktionsbaustein setzt das Mute-Flag von einem DMX-Gerät. Das Mute-Flag legt fest, ob ein DMX-Gerät auf den Befehl FB_DMXDiscUniqueBranch() reagiert (Mute-Flag ist nicht gesetzt) oder nicht (Mute-Flag ist gesetzt).

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und wControlField können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortID                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
wControlField            : WORD;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

wControlField: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so werden an diesem Ausgang weitere Informationen über das DMX-Gerät ausgegeben. Hierbei ist die Bedeutung der einzelnen Bits wie folgt definiert:

Bit | Beschreibung
0 - Managed Proxy Flag | Dieses Bit ist gesetzt, wenn das DMX-Gerät ein Proxygerät ist.
1 - Sub-Device Flag | Dieses Bit ist gesetzt, wenn das DMX-Gerät Untergeräte (Sub-Devices) unterstützt.
2 - Boot-Loader Flag | Dieses Bit ist gesetzt, wenn das DMX-Gerät keine Befehle empfangen kann (z.B. während die Firmware geladen wird).
3 - Proxied Device Flag | Dieses Bit ist gesetzt, wenn die Antwort von einem Proxygerät gesendet wurde.
4 - 15 | Reserve (immer 0).

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXDiscUniqueBranch

Dieser Funktionsbaustein fragt ab, ob sich innerhalb eines bestimmten Adressbereichs DMX-Geräte befinden. Dieser Befehl findet Verwendung beim Ermitteln (Discovery) der angeschlossenen DMX-Geräte.

Durch eine positive Flanke am Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId, wReceivedManufacturerId und dwReceivedDeviceId können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

Liegt im definierten Adressbereich nur ein DMX-Gerät, so werden über die Ausgänge wReceivedManufacturerId und dwReceivedDeviceId die 48-Bit UID des DMX-Gerätes zurückgegeben. Liegen in diesem Bereich keine DMX-Geräte, so ist der Ausgang bError auf TRUE und udiErrorId ist auf 2 (keine Antwort vom DMX-Gerät). Befinden sich in dem Adressbereich zwei oder mehr DMX-Geräte, so ist bError auf TRUE und udiErrorId enthält eine 6 (Checksummenfehler).

VAR_INPUT

bStart                       : BOOL;
byPortId                     : BYTE;
wLowerBoundManufacturerId    : WORD;
dwLowerBoundDeviceId         : DWORD;
wUpperBoundManufacturerId    : WORD;
dwUpperBoundDeviceId         : DWORD;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

wLowerBoundManufacturerId: Eindeutige Hersteller-ID vom unteren Adressbereichs.

dwLowerBoundDeviceId: Eindeutige Geräte-ID vom unteren Adressbereichs.

wUpperBoundManufacturerId: Eindeutige Hersteller-ID vom oberen Adressbereichs.

dwUpperBoundDeviceId: Eindeutige Geräte-ID vom oberen Adressbereichs.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
wReceivedManufacturerId  : WORD;
dwReceivedDeviceId       : DWORD;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

wReceivedManufacturerId: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang der Zustand der Identifizierung von dem DMX-Gerät angezeigt.

dwReceivedDeviceId: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang der Zustand der Identifizierung von dem DMX-Gerät angezeigt.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXDiscUnMute

Dieser Funktionsbaustein setzt das Mute-Flag von einem DMX-Gerät zurück. Das Mute-Flag legt fest, ob ein DMX-Gerät auf den Befehl FB_DMXDiscUniqueBranch() reagiert (Mute-Flag ist nicht gesetzt) oder nicht (Mute-Flag ist gesetzt).

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und wControlField können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortID                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
wControlField            : WORD;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

wControlField: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so werden an diesem Ausgang weitere Informationen über das DMX-Gerät ausgegeben. Hierbei ist die Bedeutung der einzelnen Bits wie folgt definiert:

Bit | Beschreibung
0 - Managed Proxy Flag | Dieses Bit ist gesetzt, wenn das DMX-Gerät ein Proxygerät ist.
1 - Sub-Device Flag | Dieses Bit ist gesetzt, wenn das DMX-Gerät Untergeräte (Sub-Devices) unterstützt.
2 - Boot-Loader Flag | Dieses Bit ist gesetzt, wenn das DMX-Gerät keine Befehle empfangen kann (z.B. während die Firmware geladen wird).
3 - Proxied Device Flag | Dieses Bit ist gesetzt, wenn die Antwort von einem Proxygerät gesendet wurde.
4 - 15 | Reserve (immer 0).

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXGetIdentifyDevice

Dieser Funktionsbaustein fragt ab, ob von einem DMX-Gerät die Identifizierung aktiv ist.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und bIdentifyActive können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerID   : WORD;
dwDestinationDeviceID        : DWORD;
byPortID                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
bIdentifyActive          : BOOL;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

bIdentifyActive: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang der Zustand der Identifizierung von dem DMX-Gerät angezeigt.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXSetIdentifyDevice

Dieser Funktionsbaustein aktiviert oder deaktiviert die Identifizierung eines DMX-Gerätes.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, so geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError und udiErrorId können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
bIdentify                    : BOOL;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

bIdentify: Legt fest, ob die Identifizierung aktiviert (TRUE) oder deaktiviert (FALSE) werden soll.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXSetResetDevice

Dieser Funktionsbaustein aktiviert einen Reset bei einem DMX-Gerät.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError und udiErrorId können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
eResetDeviceType             : E_DMXResetDeviceType := eDMXResetDeviceTypeWarm;;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

eResetDeviceType: Legt fest, ob ein Warmstart (eDMXResetDeviceTypeWarm) oder ein Kaltstart (eDMXResetDeviceTypeCold) ausgeführt werden soll. Andere Werte sind für diesen Eingang nicht möglich.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXGetDeviceInfo

Dieser Funktionsbaustein fragt alle relevanten Informationen von einem DMX-Gerät ab.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und stDMXDeviceInfo können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
stDMXDeviceInfo          : ST_DMXDeviceInfo;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

stDMXDeviceInfo: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so werden an diesem Ausgang in einer Struktur alle relevanten Informationen des DMX-Gerätes ausgegeben. Siehe auch Beschreibung der Struktur ST_DMXDeviceInfo.

uliUID                  : T_ULARGE_INTEGER;
stRDMProtocolVersion    : ST_DMXRDMProtocolVersion;
uiDeviceModelId         : UINT;
stProductCategory       : ST_DMXProductCategory;
udiSoftwareVersionId    : UDINT;
uiDMX512Footprint       : UINT;
stDMX512Personality     : ST_DMX512Personality;
uiDMX512StartAddress    : UINT;
uiSubDeviceCount        : UINT;
bySensorCount           : BYTE;

uliUID: Eindeutige 48-Bit Adresse des DMX-Gerätes. Die unteren 32 Bit definieren die Geräte ID und die oberen 16 Bit die Hersteller-ID.

tRDMProtocolVersion: Versionsnummer des unterstützen RDM-Standard.

uiDeviceModelId: Die Gerätemodel-ID wird von dem Gerätehersteller definiert.

stProductCategory: Gerätetyp des DMX-Gerätes. Die Gerätetypen sind in der RDM-Norm definiert.

udiSoftwareVersionId: Versionsnummer der Software (Firmware) in dem DMX-Gerät.

uiDMX512Footprint: Anzahl der DMX512-Slots, die das Gerät belegt. Jedes Untergerät (Sub-Device) und das Hauptgerät (Root-Device) belegen eigene DMX512-Slots.

stDMX512Personality: DMX-Geräte können verschiedene Personalities (Persönlichkeiten) besitzen. Personalities sind mit Profilen vergleichbar. Das aktuelle Profil und die Anzahl der Profile wird in diesem Element angezeigt.

uiDMX512StartAddress: Die DMX512-Startadresse. Diese liegt im Bereich von 1 bis 512. Ist der Parameter uiDMX512Footprint 0, so ist die DMX512-Startadresse 0xFFFF (65535). Jedes Untergerät (Sub-Device) und das Hauptgerät (Root-Device) belegen unterschiedliche DMX512-Startadressen.

uiSubDeviceCount: Anzahl der Untergeräte (Sub-Devices).

bySensorCount: Anzahl der Sensoren, die in dem Untergerät (Sub-Device) oder dem Hauptgerät (Root-Device) enthalten sind.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXGetDeviceModelDescription

Dieser Funktionsbaustein fragt die Beschreibung des Gerätetyps ab.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und sDeviceModelDescription können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
sDeviceModelDescription  : STRING;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

sDeviceModelDescription: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang eine Beschreibung (maximal 32 Zeichen) des Gerätetyps ausgegeben. Der Inhalt wird vom DMX-Gerätehersteller festgelegt.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXGetManufacturerLabel

Dieser Funktionsbaustein fragt die Beschreibung des DMX-Geräteherstellers ab.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und sManufacturerLabel können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
sManufacturerLabel       : STRING;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

sManufacturerLabel: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang eine Beschreibung (maximal 32 Zeichen) des DMX-Geräteherstellers ausgegeben. Der Inhalt wird vom DMX-Gerätehersteller festgelegt.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXGetSoftwareVersionLabel

Dieser Funktionsbaustein fragt die Beschreibung der Softwareversion des DMX-Gerätes ab.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und sSoftwareVersionLabel können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positiven Flanke am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
sSoftwareVersionLabel    : STRING;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

sSoftwareVersionLabel: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang eine Beschreibung (maximal 32 Zeichen) der Softwareversion des DMX-Gerätes ausgegeben. Der Inhalt wird vom DMX-Gerätehersteller festgelegt.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXSetDMX512StartAddress

Dieser Funktionsbaustein setzt die DMX512-Startadresse. Diese liegt im Bereich von 1 bis 512. Jedes Untergerät (Sub-Device) und das Hauptgerät (Root-Device) belegen unterschiedliche DMX512-Startadressen.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError und udiErrorId können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
iDMX512StartAddress          : INT := 1;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

iDMX512StartAddress: DMX512-Startadresse (1 bis 512).

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


FB_DMXGetDMX512StartAddress

Dieser Funktionsbaustein erfragt die DMX512-Startadresse. Diese liegt im Bereich von 1 bis 512. Belegt das DMX-Gerät keinen DMX-Slot, so ist die DMX512-Startadresse 0xFFFF (65535). Jedes Untergerät (Sub-Device) und das Hauptgerät (Root-Device) belegen unterschiedliche DMX512-Startadressen.

Durch eine positive Flanke an dem Eingang bStart wird der Baustein gestartet und der Ausgang bBusy geht auf TRUE. Die Eingänge wDestinationManufacturerId und dwDestinationDeviceId adressieren das DMX-Gerät. Der Eingang byPortId definiert den Kanal innerhalb des adressierten DMX-Gerätes. Ist die Ausführung des Befehls abgeschlossen, geht der Ausgang bBusy wieder auf FALSE. Die Ausgänge bError, udiErrorId und iDMX512StartAddress können jetzt ausgewertet werden. Solange der Baustein aktiv ist (bBusy ist TRUE) werden weitere positive Flanken am Eingang bStart ignoriert.

VAR_INPUT

bStart                       : BOOL;
wDestinationManufacturerId   : WORD;
dwDestinationDeviceId        : DWORD;
byPortId                     : BYTE;
dwOptions                    : DWORD;

bStart: Über eine positive Flanke an diesem Eingang wird der Befehl gestartet.

wDestinationManufacturerId: Eindeutige Hersteller-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

dwDestinationDeviceId: Eindeutige Geräte-ID vom DMX-Gerät (Details siehe DMX-Geräteadresse).

byPortId: Kanal innerhalb des adressierten DMX-Gerätes. Untergeräte (Sub-Devices) werden durch die Port-ID adressiert. Das Hauptgerät (Root-Device) hat immer die Port-ID 0.

dwOptions: Optionen (wird derzeit nicht benutzt).

VAR_OUTPUT

bBusy                    : BOOL;
bError                   : BOOL;
udiErrorId               : UDINT;
iDMX512StartAddress      : INT;

bBusy: Bei der Aktivierung des Bausteins wird der Ausgang gesetzt und bleibt so lange aktiv, bis der Befehl abgearbeitet wurde.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in udiErrorId enthalten. Nur gültig, wenn bBusy auf FALSE ist.

udiErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Nur gültig, wenn bBusy auf FALSE ist. Siehe Fehlercodes.

iDMX512StartAddress: Ist die Abarbeitung des Befehls abgeschlossen (bBusy ist FALSE), so wird an diesem Ausgang die DMX512-Startadresse des DMX-Gerätes ausgegeben.

VAR_IN_OUT

stCommandBuffer          : ST_DMXCommandBuffer;

stCommandBuffer: Verweis auf die Struktur zur Kommunikation (Puffer) mit dem FB_EL6851Communication()-Baustein.


Fehlercodes

Wert (hex) | Wert (dez) | Beschreibung
0x0000 | 0 | Kein Fehler.
0x8001 | 32769 | Keine Antwort von der DMX-Klemme.
0x8002 | 32770 | Keine Antwort von dem DMX-Gerät.
0x8003 | 32771 | Überlauf Kommunikationspuffer.
0x8004 | 32772 | Keine Antwort von dem Kommunikationsbaustein.
0x8005 | 32773 | Parameter PortID liegt außerhalb des gültigen Bereichs.
0x8006 | 32774 | Fehler Checksumme.
0x8007 | 32775 | Parameter eResetDeviceType liegt außerhalb des gültigen Bereichs.
0x8008 | 32776 | Zeitüberschreitung.
0x8009 | 32777 | Parameter LowerBoundUID ist größer als UpperBoundUID.
0x800A | 32778 | Es können keine RDM-Befehle versendet werden, da sich die Klemme im CycleMode befindet.
0x800B | 32779 | Parameter iDMX512StartAddress liegt außerhalb des gültigen Bereichs (1-512).
0x800C | 32780 | Fehler beim Setzen der DMX512 Start Adresse.
0x800D | 32781 | Es können keine Prozessdaten versendet werden, da sich die Klemme nicht im CycleMode befindet.
0x800E | 32782 | Es wurden ein RDM-Telegramm mit der Datenlänge 0 empfangen.


Versenden der zyklischen Prozessdaten als DMX-Master (EL6851)

Datei für den TwinCAT System Manager Download

Datei für das TwinCAT PLC Control Download

Starten des Beispielprogramms

Die Applikationsbeispiele sind mit einem Prüfaufbau getestet und entsprechend beschrieben worden. Etwaige Abweichungen bei der Einrichtung an realen Applikationen sind möglich.

Für den Prüfaufbau wurde folgende Hardware und Software verwendet:

  • TwinCAT-Master-PC mit Betriebssystem Windows XP Professional SP 3, TwinCAT Version 2.10 (Build 1340) und INTEL PRO/100 VE Ethernet-Adapter.
  • Beckhoff EtherCAT Koppler EK1100, Klemmen EL6851 und EL9011.
  • RGB-LED DMX-Slave mit 3 Kanälen (je Farbe einer). Pro Kanal wird ein Slot belegt.

Die Verdrahtung des DMX-Slave ist entsprechend des Anschlussschemas vorzunehmen.

Vorgehensweise zum Starten des Programms

  • Speichern Sie die TSM-Datei für den TwinCAT System Manager Download und die PRO-Datei für das TwinCAT PLC Control Download lokal auf Ihrer Festplatte.
  • Start der *.TSM-Datei und *.PRO-Datei; der TwinCAT-System Manger und das TwinCAT PLC Control öffnen sich.
  • Schließen Sie die Hardware entsprechend Abb. 1 an und verbinden Sie den Ethernet-Adapter ihres PCs mit dem EtherCAT-Koppler (weitere Hinweise hierzu finden Sie in den entsprechenden Kopplerhandbüchern)
  • Auswahl des lokalen Ethernet-Adapters (ggf. mit Echtzeit-Treiber) unter Systemkonfiguration, E/A - Konfiguration, E/A -Geräte, Gerät (EtherCAT); wählen Sie dann unter Karteireiter "Adapter", "Suchen..." den entsprechenden Adapter aus und bestätigen Sie das(siehe Abb. 2a + 2 b)

    Abb. 2a: Suchen des Ethernet-Adapters

    Abb. 2b: Auswahl und Bestätigung des Ethernet-Adapters

  • Aktivierung der Konfiguration und bestätigen (Abb. 3a +3b)

    Abb. 3a: Aktivierung der Konfiguration

    Abb. 3b: Konfigurationsaktivierung bestätigen

  • Neue Variablenzuordnung bestätigen, Neustart im RUN-Modus (Abb. 4a + 4b)

    Abb. 4a: Variablenzuordnung erzeugen

    Abb. 4b: Neustart TwinCAT im RUN-Modus

  • Im TwinCAT PLC Control unter Menü "Projekt" -> "Alles Übersetzen" das Projekt übersetzen (Abb. 5)

    Abb. 5: Projekt übersetzen

  • Im TwinCAT PLC Control: Einloggen mit der Taste "F11", Laden des Programms bestätigen (Abb. 6), Start des Programms mit Taste "F5"

    Abb. 6: Programmstart bestätigen

Visualisierung

Abb. 7: Vorgabe der Stellgrößen für die drei Farben des DMX-Slaves im TwinCAT PLC Control

Das Beispiel sendet zyklisch die DMX-Daten zu einem DMX-Slave. Das hier verwendete DMX-Gerät belegt drei Slots (Bytes) im DMX512-Frame. Jeder Slot adressiert eine der drei Farben. Ist die Schaltfläche 'Start/Stop' gedrückt, so werden automatisch generierte Daten an das DMX-Gerät gesendet. Die Geschwindigkeit der Änderungen kann durch den waagerechten Schieberegler verändert werden. Ist die Schaltfläche 'Start/Stop' nicht gedrückt, so können Sie durch die drei senkrechten Schieberegler die Werte manuell verändern.


Konfigurieren von DMX-Slaves per Remote Device Management (RDM)

Datei für den TwinCAT System Manager download

Datei für das TwinCAT PLC Control download

Abb. 2: Visualisierung Beispiel 2 in der TwinCAT PLC

Hinweis 		ErtherCAT-Funktionalität
Der Dialog ist nur dann in Funktion, wenn die "EtherCAT OK"- LED grün leuchtet. Eine rote LED zeigt eine EtherCAT-Kommunikationsstörung an.

Mit der Schaltfläche 'DMX Discovery (without Addressing)' wird an der DMX-Linie nach DMX-Slaves gesucht. Alle gefundenen DMX-Slaves werden in der linken Liste angezeigt. Durch Anklicken eines Eintrages wird dieser selektiert. Nach Betätigen von 'Identify' wird der RDM-Befehl zum Identifizieren des jeweiligen DMX-Gerätes versendet. Die Startadresse kann in dem Eingabefeld neben der Schaltfläche 'Change Start Address' eingegeben werden. Nach Drücken der Schaltfläche wird die neue Startadresse an das selektierte DMX-Gerät gesendet. Im unteren Bereich wird die Nummer des DMX-Gerätes, die Startadresse im DMX512-Frame und die Slotgröße (Anzahl der Bytes im DMX-Frame) für das selektierte Gerät angezeigt.


Empfangen von jeweils 64 Byte Daten an zwei DMX-Slaves (EL6851-0010)

Datei für den TwinCAT System Manager Download

Datei für das TwinCAT PLC Control Download

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).


Support und Service

Beckhoff und seine weltweiten Partnerfirmen bieten einen umfassenden Support und Service, der eine schnelle und kompetente Unterstützung bei allen Fragen zu Beckhoff Produkten und Systemlösungen zur Verfügung stellt.

Beckhoff Support

Der Support bietet Ihnen einen umfangreichen technischen Support, der Sie nicht nur bei dem Einsatz einzelner Beckhoff Produkte, sondern auch bei weiteren umfassenden Dienstleistungen unterstützt:

  • Support
  • Planung, Programmierung und Inbetriebnahme komplexer Automatisierungssysteme
  • umfangreiches Schulungsprogramm für Beckhoff Systemkomponenten
Hotline: | +49(0)5246/963-157
Fax: | +49(0)5246/963-9157
E-Mail: | support@beckhoff.com

Beckhoff Service

Das Beckhoff Service-Center unterstützt Sie rund um den After-Sales-Service:

  • Vor-Ort-Service
  • Reparaturservice
  • Ersatzteilservice
  • Hotline-Service
Hotline: | +49(0)5246/963-460
Fax: | +49(0)5246/963-479
E-Mail: | service@beckhoff.com

Weitere Support- und Serviceadressen finden Sie auf unseren Internetseiten unter http://www.beckhoff.de.

Beckhoff Firmenzentrale

Beckhoff Automation GmbH & Co. KG

Hülshorstweg 20
33415 Verl
Deutschland

Telefon: | +49(0)5246/963-0
Fax: | +49(0)5246/963-198
E-Mail: | info@beckhoff.com

Die Adressen der weltweiten Beckhoff Niederlassungen und Vertretungen entnehmen Sie bitte unseren Internetseiten:
http://www.beckhoff.de

Dort finden Sie auch weitere Dokumentationen zu Beckhoff Komponenten.