Herunterladen Inhalt Inhalt Diese Seite drucken

Initialisierung Von Daten Bei Einem Stop - Run - Übergang - Siemens SIMOTION SCOUT Funktionshandbuch

Vorschau ausblenden Andere Handbücher für SIMOTION SCOUT:
Inhaltsverzeichnis

Werbung

10.7.3
Initialisierung von Daten bei einem STOP - RUN - Übergang
Beschreibung
Durch den Compilerschalter "Programminstanzdaten nur einmal anlegen" erfolgt die
Dateninitialisierung nur bei einem Download oder im Hochlauf der CPU. Ab V4.1.2 können
Sie mit einem Pragma in den Units einstellen, dass Globale Unit Variablen und Programm
Variablen auch bei einem STOP - RUN - Übergang initialisiert werden. Die Initialisierung
erfolgt unmittelbar vor Start der StartupTask. Sie haben damit die Möglichkeit bei einem
STOP - RUN - Übergang auf jeden Fall eine Initialisierung der Variablen durchzuführen.
Sie müssen dazu das Pragma "BlockInit_OnDeviceRun" einfügen.
Daten in ST Units immer /nie initialisieren
● In ST-Units können Sie die Initialisierung bei einem STOP - RUN - Übergang durch das
Deklararionsblock
Interface
Var_Global
Implementation
Var_Global
Program
Var
Der Compiler gibt eine Warnung aus, wenn das Pragma an einer Stelle verwendet wird, an
der es nicht wirksam ist.
Einstellmöglichkeiten des Pragmas ("immer" oder "nie")
Initialisierung ... STOP-RUN Übergang
Immer
Nie
Beispiel für "immer" initialisieren:
Basisfunktionen
Funktionshandbuch, 05/2009
Pragma "BlockInit_OnDeviceRun", am Anfang der Variablenblöcke, beeinflussen. Wird
dieses Pragma im Var_Global Block oder im Var Block von Programmen (wenn
Programminstanzdaten nur einmal angelegt sind) auf "ALWAYS" gestellt, werden die
Variablen bei jedem STOP - RUN - Übergang initialisiert. Die Einstellung ist immer nur für
den Variablenblock gültig, in dem das Pragma verwendet wird. Möchte man eine
Initialisierung im Stop/Run Übergang gezielt verhindern, setzt man das Pragma mit
Einstellung "DISABLE". Um das Pragma für VAR-Deklarationen von Programmen nutzen
zu können, müssen Sie zusätzlich "Programminstanzdaten nur einmal anlegen"
eingestellt haben.
VAR_GLOBAL
{BlockInit_OnDeviceRun := ALWAYS;}
Test_1 : REAL;
Test_2 : REAL;
END_VAR
BlockInit_OnDeviceRun
Ist möglich
Ist möglich
nur bei Compileroption "Programminstanzdaten nur einmal
anlegen", sonst nein
BlockInit_OnDeviceRun := ALWAYS
BlockInit_OnDeviceRun := DISABLE
Daten in das Zielgerät laden
10.7 Download im RUN
463

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis