Herunterladen Inhalt Inhalt Diese Seite drucken

Variablen Optimal Deklarieren; Zugriff Auf Parameter Der Funktionsbausteine Optimieren; Aufruf Von Funktionsbausteinen Optimieren; Programmstruktur Optimieren - Siemens Simotion Scout Funktionshandbuch

Vorschau ausblenden Andere Handbücher für SIMOTION SCOUT:
Inhaltsverzeichnis
Fehlerquellen und effizientes Programmieren
11.2 Effizient programmieren
11.2.2.4

Variablen optimal deklarieren

Ordnen Sie die Variablen innerhalb eines Deklarationsblocks (z. B. VAR/END_VAR) in
aufsteigender Größe an. Dadurch nutzen Sie den Speicherplatz optimal aus.
Initialisieren Sie Variablen mit Werten ungleich 0 nur, wenn es nötig ist. Die Initialisierung
beim Start einer Task oder einer POE benötigt Zeit. Dies wirkt sich besonders aus bei
temporären Variablen sowie bei Variablen von Programmen, die sequentiellen Tasks
zugeordnet sind.
11.2.2.5

Zugriff auf Parameter der Funktionsbausteine optimieren

Wenn Sie Funktionsbausteine (FB) erstellen, die Werte bearbeiten sollen, können Sie dies
auf zweierlei Weise tun. Sie können die entsprechenden Variablen im FB mit
Eingangsparametern mittels VAR_INPUT besetzen, dort bearbeiten und mit
Ausgangsparametern mittels VAR_OUTPUT für die Weitergabe kennzeichnen.
Wenn ein großes Datenvolumen an den FB zu übergeben ist, kann das Verwenden von
Durchgangsparametern (VAR_IN_OUT) schneller sein als das Verwenden von Ein- und
Ausgangsparametern (VAR_INPUT und VAR_OUTPUT). Die Übergabe der Parameter
erfolgt schneller, da Kopiervorgänge entfallen, jedoch ist der Zugriff auf die Variable vom FB
aus unter Umständen langsamer.
ACHTUNG
Beachten Sie, wenn Sie mit Durchgangsparametern auf Unit-Variablen oder geräteglobale
Variablen zugreifen: Andere Tasks können gleichzeitig auf diese Variablen zugreifen
11.2.2.6

Aufruf von Funktionsbausteinen optimieren

Nur bei Versionen des SIMOTION Kernels bis V3.0:
Beim Aufruf der Instanz eines Funktionsbausteins (FB) werden die Instanzdaten auf den
Stack kopiert (siehe ); beim Verlassen der Instanz werden sie vom Stack zurück in die
Instanz kopiert. Vermeiden Sie wegen der damit verbundenen Laufzeiten FB mit
umfangreichen Instanzdaten.
11.2.2.7

Programmstruktur optimieren

Achten Sie auf eine übersichtliche Gliederung ihrer ST-Quellen und der darin enthaltenen
POE. Modularisieren Sie die Quellen jedoch nicht zu stark, da der Zugriff auf Funktionen und
Variablen importierter Units etwas mehr Zeit benötigt als inner halb einer Unit.
11.2.2.8

Ablaufsystem optimieren

Ordnen Sie der IPOsynchronousTask nur ein einziges Programm zu. Sie mindern dadurch
die Gefahr einer Laufzeitüberschreitung.
Verwenden Sie Funktionen, die synchron abgearbeitet werden, nur in MotionTasks. (Bei der
synchronen Bearbeitung wird der nächste Befehl erst ausgeführt, wenn die Bearbeitung des
anstehenden Befehls eine Bedingung erfüllt, z. B. beendet ist.)
482
Basisfunktionen
Funktionshandbuch, 05/2009
Inhaltsverzeichnis
loading

Inhaltsverzeichnis