Remanente Daten

Auf dem BC9191 und den BX-Controller stehen 2000 Byte an remanenten Daten zur Verfügung. Diese Daten werden im PLC Control als VAR RETAIN deklariert.

Beispiel

VAR RETAIN
    Test    :BOOL;
    Count   :INT;
END_VAR

Zwischen VAR RETAIN und END_VAR stehen die Retain Daten. Diese Daten werden in einem NOVRAM gespeichert und sind über den ganzen 2 kByte großen Bereich konsistent. Die RETAIN Daten werden nach jedem Zyklus ins NOVRAM gespeichert. Für 2 kByte werden ca. 2 ms benötigt (für 1 kByte ca. 1 ms). Die Variablen können lokal oder global Konfiguriert sein. Variablen die lokiert sind (%MB, %QB, %IB) können nicht als Remanente Daten genutzt werden.

Remanente Daten 1:

VAR_RETAIN nicht in Funktionsbausteinen benutzen

VAR_RETAIN sollte nicht in Funktionsbausteinen benutzt werden. Sämtliche Daten in einem FB werden in den Retain Speicher kopiert, damit erhöht sich unnötig die Zykluszeit und der Retain Speicher wird mit unnötigen Datenmengen gefüllt.

Remanente Daten 2:

Variablen mit Adresse nicht als remanente Daten verwenden

Variablen die auf einer Adresse liegen (%MB, %QB, %IB) dürfen nicht als remanente Daten verwendet werden.

Beispiel für remanente Daten im Funktionsbaustein

Da immer alle Daten eines Funktionsbausteins, in dem auch nur ein remanentes Bit zu finden ist, gespeichert wird, sollte dies möglichst vermieden werden. Im Anschluss finden Sie ein Programmbeispiel.

Funktionsbaustein Test (Kein Programm Code notwendig - in ST reicht ein Semikolon)

FUNCTION_BLOCK Test
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
END_VAR
VAR_IN_OUT 
    Counter   :INT;
END_VAR

Programm MAIN

PROGRAM MAIN
VAR
    fb_Test:Test;
END_VAR
VAR RETAIN
    iCounter1:INT;
END_VAR
fb_Test(Counter:=iCounter1);