Herunterladen Inhalt Inhalt Diese Seite drucken

Auswirkung Der Optimierungseinstellungen Auf Anwenderprogramme - Siemens Simatic s7 Handbuch

Automatisierungssystem
Vorschau ausblenden Andere Handbücher für Simatic s7:
Inhaltsverzeichnis

Werbung

Wenn das Anwenderprogramm einen komplexen Parameter (zum Beispiel STRUCT) an
eine Funktion übergibt, prüft das System die Optimierungseinstellung des Datenbausteins
mit der Struktur und die Optimierungseinstellung des Programmbausteins. Wenn Sie sowohl
den Datenbaustein als auch die Funktion optimieren, dann übergibt das Anwenderprogramm
die Struktur als "Call-by-Reference". Gleiches gilt, wenn Sie sowohl den Datenbaustein als
auch die Funktion nicht optimieren.
Wenn jedoch Funktion und Datenbaustein unterschiedliche Optimierungseinstellungen
haben (d. h., ein Baustein ist optimiert und der andere nicht), dann muss die Struktur in das
von der Funktion erwartete Format umgewandelt werden. Beispiel: Wenn der Datenbaustein
nicht optimiert und die Funktion optimiert ist, dann muss eine Struktur im Datenbaustein in
ein optimiertes Format umgewandelt werden, damit die Funktion die Struktur verarbeiten
kann. Das System führt diese Umwandlung durch, indem es die Struktur "kopiert" und sie in
das von der Funktion erwartete optimierte Format umwandelt.
Zusammenfassend lässt sich sagen, dass, wenn das Anwenderprogramm einen komplexen
Datentyp (zum Beispiel STRUCT) als IN/OUT-Parameter an eine Funktion übergibt, die
Funktion erwartet, dass das Anwenderprogramm die Struktur als "Call-by-Reference"
übergibt:
● Wenn Sie sowohl den Datenbaustein mit der Struktur als auch die Funktion optimieren
bzw. nicht optimieren, dann übergibt das Anwenderprogramm die Daten als "Call-by-
Reference".
● Wenn Sie für den Datenbaustein und die Funktion nicht die gleichen
Optimierungseinstellungen konfigurieren (ein Baustein ist optimiert, der andere ist nicht
optimiert), dann muss das System vor der Übergabe an die Funktion eine Kopie der
Struktur anlegen. Weil das System diese Kopie der Struktur anlegen muss, wird "Call-by-
Reference" dadurch praktisch in "Call-by-Value" umgewandelt.

Auswirkung der Optimierungseinstellungen auf Anwenderprogramme

Das Kopieren der Parameter kann ein Problem in einem Anwenderprogramm verursachen,
wenn durch ein HMI-Gerät oder einen Alarm-OB Elemente in der Struktur verändert werden.
Beispiel: Es gibt einen IN/OUT-Parameter einer Funktion (der normalerweise als "Call-by-
Reference" übergeben wird), doch die Optimierungseinstellungen des Datenbausteins und
der Funktion unterscheiden sich:
1. Wenn das Anwenderprogramm die Funktion aufrufen will, muss das System eine "Kopie"
der Struktur anlegen, um das Format der Daten an die Funktion anzupassen.
2. Das Anwenderprogramm ruft die Funktion mit einem Verweis auf die "Kopie" der Struktur
auf.
3. Ein Alarm-OB tritt während der Ausführung der Funktion auf und der Alarm-OB ändert
einen Wert in der ursprünglichen Struktur.
4. Die Funktion wird abgearbeitet und, weil die Struktur ein IN/OUT-Parameter ist, kopiert
das System die Werte zurück in die ursprüngliche Struktur im ursprünglichen Format.
Weil eine Kopie der Struktur zum Ändern des Formats angelegt wurde, gehen die vom
Alarm-OB geschriebenen Daten verloren. Das Gleiche kann beim Schreiben eines Werts mit
einem HMI-Gerät passieren. Das HMI-Gerät kann das Anwenderprogramm unterbrechen
und in derselben Weise wie ein Alarm-OB einen Wert schreiben.
S7-1200 Automatisierungssystem
Systemhandbuch, V4.2, 09/2016, A5E02486681-AK
7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms
Programmierkonzepte
207

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Simatic s7-1200

Inhaltsverzeichnis