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.
Hardware
Einrichtung der Komponenten
Es wird folgende Hardware benötigt:
- 1x Embedded-PC CX9020
- 1x DMX-Master-Klemme EL6851
- 1x Abschlusskappe EL9111
Richten Sie die Hardware sowie die DMX-Komponenten wie in den entsprechenden Dokumentationen beschrieben ein.
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_EL6851InDataEx;
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_EL6851CommunicationEx() 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 stCommandBuffer des Bausteins wird mit der globalen Variable stCommandBuffer verknüpft.

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

Laden Sie das Projekt als Bootprojekt auf den CX und speichern Sie es ab.
Konfiguration im System Manager
Legen Sie ein neues TwinCAT 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. Durch Aufklappen des SPS-Projekts in der Baumansicht werden die beiden Tasks aufgelistet. Beim Erweitern der Tasks ist sicherzustellen, dass die globalen Ein- und Ausgangsvariablen stEL6851InData und stEL6851OutData der Hintergrund-Kommunikations-Task zugeordnet sind da diese schneller abgearbeitet werden sollen. Mit Drag & Drop können die Variablen 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.
Wenn die Variable bStart TRUE ist 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.