MOVE-Box: Laden und Transferieren in Kontaktplan KOP

In Steuerungsprogrammen müssen häufig Daten von einer Adresse zur anderen übertragen werden. Beispielsweise könnte man aktuelle Messwerte wie z.B. die aktuelle Temperatur, für die Istwert-Anzeige am Display transferieren. Das geschieht mit der Lade- und Transferfunktion. Unter dem Knoten Verschieben befindet sich in Step7 die MOVE-Box, womit das Übertragen von Daten möglich ist.

MOVE-Box in KOP

Das Laden und Transferieren erfolgt in zwei Schritten. Zunächst werden die Daten in den Akku 1 geladen. Die ursprünglich in Akku 1 enthaltenen Daten werden in Akku 2 verschoben. Der Inhalt von Akku 2 geht dabei verloren. Im nächsten Schritt werden die Daten von Akku 1 zu der Adresse transferiert, die man als Zieladresse festgelegt hat. Das VKE oder die Statusbits spielen bei diesem Vorgang keine Rolle.

Man kann Daten aus folgenden Bereichen Laden und Transferieren:

  • Eingänge
  • Ausgänge
  • Merker
  • Zeiten
  • Zählwerte
  • Konstanten
  • Datenbausteine
  • Peripherie
  • Variablen

Folgende Adressen können zum Laden und Transferieren angegeben werden:

Der Datentyp kann dabei in folgendem Format sein:

  • INT
  • DINT
  • REAL

Funktionsweise der MOVE-Box

Die Adresse mit den Daten, die transferiert werden sollen, wird am Eingang IN angegeben. Der Wert kann dabei eine Länge von 8, 16 oder 32 Bits haben. Über den Akku 1 wird der Wert an die Adresse transferiert, die man bei OUT angibt. Wenn man Werte mit dem Datentypen UDT oder STRUCT Laden und Transferieren möchte, muss man hierfür die Systemfunktion SFC20 benutzen.

Zusätzlich kann ein Freigabesignal bei EN angegeben werden. In dem Fall würde die Abarbeitung der MOVE-Box an die Bedingung am Freigabeeingang EN geknüpft sein. Als Freigabeeingang vom Typ Bool kann man die Operanden aus dem Bereich E, A, M, D, L, T und Z angeben. Der Freigabeausgang ENO hat denselben Wert wie EN. Liegt am EN eine 1, ist auch ENO 1. Tritt während der Abarbeitung des Bausteins ein Fehler ein, führt ENO das Signal 0.

Wenn mit der MOVE-Box ein Wert in ein anderes Datenformat kopiert wird, muss man beachten, dass zusätzliche Bits entfallen können bzw. neu hinzugekommene Bitstellen mit Nullen gefüllt werden. Beispiel:

Übertragen eines Wortes in ein Byte:

  • Wort 1110 0111 1111 1010 soll mit MOVE in ein Byte kopiert werden
  • Ergebnis für das Byte: 1111 1010

Übertragen eines Bytes in ein Wort:

  • das Byte 1111 1010 soll mit MOVE in ein Wort kopiert werden
  • Ergebnis für das Wort: 0000 0000 1111 1010