Retain Daten

Dieser Bereich beschreibt die Möglichkeit, Daten über einen geordneten oder spontanen Neustart einer Anlage bereitzuhalten. Hierfür wird das NOV-RAM eines Gerätes verwendet. Die EL6080 kann für diese Retain Daten nicht verwendet werden, da die entsprechenden Daten erst übertragen werden müssen, welches zu entsprechenden Laufzeiten führt.
Im Folgenden wird der Umgang mit dem Retain Handler, welcher die Daten speichert und wieder bereitstellt, sowie die Verwendung aus den unterschiedlichen TwinCAT 3 Programmiersprachen beschrieben.

Konfiguration eines Retain Gerätes

1. Die Retain Daten werden dabei von einem Retain Handler, der Teil des NOV-DP-RAM-Geräts im IO Bereich der TwinCAT Solution ist, gespeichert und bereitgestellt. Legen Sie hierfür im IO Bereich der Solution ein NOV-RAM DP Device an. Retain Daten 1:
2. Legen Sie unterhalb dieses Gerätes ein oder mehrere Retain Handler an.
Retain Daten 2:
Speicherort: NOVRAM
3. Konfigurieren Sie das NOV-DP-RAM-Gerät. Definieren Sie im Tab Generic NOV-DP-RAM Device über Search… den zu verwendenden Bereich.
Retain Daten 3:
4. Für die Symbolik wird zusätzlich im Boot/-Verzeichnis von TwinCAT ein Retain/-Verzeichnis angelegt.

Nutzung des Retain Handlers mit einem PLC Projekt

In einem PLC Projekt werden die Variablen entweder in einem VAR RETAIN Bereich angelegt, oder mit dem Attribut TcRetain versehen.

PROGRAM MAIN 
VAR RETAIN
  l: UINT;
  k: UINT;
END_VAR
VAR
  {attribute ‘TcRetain’:=’1’}
  m: UINT;
  x: UINT;
END_VAR

Nach einem „Build“ werden entsprechende Symbole angelegt.
Die Zuordnung zu dem Retain Handler des NOV-DP-RAM Gerätes wird in der Spalte Retain Hdl vorgenommen. Retain Daten 4:

Wenn selbstangelegte Datentypen (DUTs) als Retain verwendet werden, müssen die Datentypen im TwinCAT Typsystem vorhanden sein. Hierfür kann entweder die Option Convert to Global Type verwendet werden oder Strukturen können direkt als STRUCT RETAIN angelegt werden, womit dann jedoch alle Vorkommen der Struktur über den Retain Handler behandelt werden.
Für POUs (Funktionsbausteine) als Ganzes ist die Verwendung von Retain-Daten nicht möglich. Einzelne Elemente eines POUs können hingegen verwendet werden.

Nutzung des Retain Handlers mit einem C++ Modul

In einem C++ Modul wird eine Data Area vom Typ Retain-Source angelegt, die die entsprechenden Symbole enthält. Retain Daten 5:

An den Instanzen des C++ Moduls wird ein zu verwendender Retain Handler des NOV-DP-RAM-Gerätes für diese Data Area in der Spalte Retain Hdl vorgenommen.

Retain Daten 6:

Fazit

Sobald ein Retain Handler in dem jeweiligen Projekt als Ziel ausgewählt wurde, wird nach einem ‚Build‘ automatisiert sowohl die Symbole unterhalb des Retain Handlers angelegt, wie auch ein Mapping erzeugt.

Retain Daten 7: