EL6851 mit CX5120
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.
Beispiel: DMX_Sample_EL6851_CX5120.zip
![]() | Das TwinCAT-Projekt steht als *.zip-Datei zum Download zur Verfügung. Diese muss zuerst lokal entpackt werden, damit das Archiv (*.tnzip-Datei) zum Import in das TwinCAT-Projekt zur Verfügung steht. |
Hardware
Einrichtung der Komponenten
Es wird folgende Hardware benötigt:
- 1x Embedded-PC CX5120
- 1x DMX-Masterklemme EL6851
- 1x Abschlusskappe EL9011
Richten Sie die Hardware, sowie die DMX-Komponenten wie in den entsprechenden Dokumentationen beschrieben ein.
Software
Erstellung des SPS-Programms
Erstellen Sie ein neues „TwinCAT XAE Project“ und legen Sie ein „Standard PLC Project“ an.
Fügen Sie im SPS-Projekt unter „References“ die Bibliothek Tc2_DMX hinzu.
Erzeugen Sie eine globale Variablenliste mit dem Namen GVL_DMX und legen Sie die folgenden Variablen an:
VAR_GLOBAL
stEL6851InData AT %I* : ST_EL6851InDataEx;
stKL6851OutData AT %Q* : ST_EL6851OutData;
stCommandBuffer : ST_DMXCommandBuffer;
arrDMXProcessData : ARRAY [1..512] OF BYTE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stEL6851InData | Eingangsvariable für die DMX-Klemme. | |
stEL6851OutData | Ausgangsvariable für die DMX-Klemme. | |
stCommandBuffer | Wird für die Kommunikation mit DMX benötigt. | |
arrDMXProcessData | BYTE | Ü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). |
Legen Sie anschließend ein Programm (CFC) für die Hintergrundkommunikation mit DMX an. In diesem wird der Baustein FB_EL6851CommunicationEx aufgerufen. Achten Sie beim Kommunikationsbaustein darauf, ihn mit stEL6851InData, stEL6851OutData und stCommandBuffer zu verknüpfen.

Legen Sie ein MAIN-Programm (CFC) an, in dem der BausteinFB_DMXDiscovery512 aufgerufen wird. Der Eingang stCommandBuffer des Bausteins wird mit der globalen Variable stCommandBuffer verknüpft. Wenn die Variable bStart TRUE ist wird die Suche nach DMX-Geräten gestartet. Die Anzahl der gefundenen Geräte steht in der Variable iFoundDevices und zusätzliche Informationen dazu in aDMXDeviceInfoList.

Navigieren Sie in den Bereich der Taskkonfiguration und konfigurieren die PlcTask. Exemplarisch erhält die Task die Priorität 16 und eine Zykluszeit von 6 ms.

Legen Sie eine weitere Task für die Hintergrundkommunikation an. Geben Sie dieser Task eine höhere Priorität (kleinere Zahl) und eine niedrigere Intervall-Zeit als der PlcTask.

Fügen Sie dieser Task das Programm für die Kommunikation zu. Weitere Information zur Taskkonfiguration finden Sie in der Beschreibung des Bausteins FB_EL6851CommunicationEx.

E/A Konfiguration
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.

Im Bereich SPS, in der Instanz des Projektes sehen Sie, dass die Ein- und Ausgangsvariablen der entsprechenden Task zugeordnet sind.
Verknüpfen Sie die globalen Variablen des SPS-Programms mit den Ein- und Ausgängen der EtherCAT-Klemme.

Erstellen Sie die Projektmappe und aktivieren Sie die Konfiguration.