KL6781 mit CX5120

Dieses Beispiel beschreibt, wie ein einfaches SPS-Programm für M-Bus in TwinCAT geschrieben werden kann und wie es mit der Hardware verknüpft wird. Es soll ein Zähler mit vier digitalen Eingängen ausgelesen werden.

Beispiel: MBus_Sample_KL6781_CX5120.zip

Hardware

Einrichtung der Komponenten

Es wird folgende Hardware benötigt:

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

Dieses Beispiel geht davon aus, dass die Adresse des Zählers bekannt ist.

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_MBus hinzu.

Erzeugen Sie eine globale Variablenliste mit den Namen GVL_MBus und legen Sie die folgenden Variablen an:

VAR_GLOBAL
    stComIn    AT %I* : ST_KL6781inData22B;
    stComOut   AT %Q* : ST_KL6781outData22B;
    stCom             : ST_MBUS_Communication;
END_VAR

stComIn: Eingangsvariable der M-Bus-Klemme (siehe ST_KL6781inData22B).

stComOut: Ausgangsvariable der M-Bus-Klemme (siehe ST_KL6781outData22B)

stCom: Wird für die Kommunikation mit M-Bus benötigt (siehe ST_MBUS_Communication).

Legen Sie ein Programm (CFC) für die Hintergrundkommunikation mit M-Bus an. In diesem wird der Baustein FB_MBUSKL6781 aufgerufen. Achten Sie beim Kommunikationsbaustein darauf, mit stComIn, stComOut und stCom zu verknüpfen.

KL6781 mit CX5120 1:

Legen Sie ein MAIN-Programm (CFC) an, in dem der Baustein FB_MBUS_REL_PadIn4 aufgerufen wird. Der Eingang usiAddress des Zählerbausteins wird mit der lokalen Variable usiAddress verknüpft und stCom mit der globalen Variable stCom.

KL6781 mit CX5120 2:

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.

KL6781 mit CX5120 3:

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.

KL6781 mit CX5120 4:

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

KL6781 mit CX5120 5:

E/A Konfiguration

Wählen Sie als Zielsystem den CX und lassen Sie nach dessen Hardware suchen. Im Bereich der SPS, in der Instanz des Projekts sehen Sie, dass die Ein- und Ausgangsvariablen den entsprechenden Tasks zugeordnet sind.

KL6781 mit CX5120 6:

Verknüpfen Sie die globalen Variablen des SPS-Programms nun mit den Ein- und Ausgängen der Busklemmen. Erstellen Sie die Projektmappe und aktivieren Sie die Konfiguration.

Achten Sie bei der Verknüpfung des Datenarrays darauf, dass Sie sowohl die Option Alle Typen, als auch Kontinuierlich wählen.
Markieren Sie mit Hilfe der Shift Taste und der rechten Maustaste alle Datenbytes der Klemme.

KL6781 mit CX5120 7:

Nach Starten der SPS werden vom Zähler regelmäßig die aktuellen Werte gelesen.