TwinCAT PLC Lib: DMX

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:

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.

Sample-PC-Comm

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.

Sample-PC-MAI

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

Sample-PC-Tasks

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.

Sample_EL6851_Options

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.

Sample_CX9020_Variables

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.