Herunterladen Inhalt Inhalt Diese Seite drucken

Situationen, In Denen Register Modifiziert Werden - Siemens Simatic S7 Lite V3.0 Handbuch

Inhaltsverzeichnis

Werbung

Programmieren von Bausteinen

Situationen, in denen Register modifiziert werden

Die Manipulation der Adressregister zur indirekten Adressierung ist ausschließlich
in AWL relevant. Die anderen Sprachen unterstützen keinen indirekten Zugriff auf
die Adressregister.
Die Anpassung des DB-Registers durch den Compiler muss bei allen
Programmiersprachen beachtet werden, um eine korrekte Parameterübergabe bei
Bausteinaufrufen sicherzustellen.
In den folgenden Situationen werden die Inhalte des Adressregisters AR1 und des
DB-Registers des aufrufenden Bausteins überschrieben:
Situation
Bei Aktualparametern aus
einem DB
Bei Aufruf von Bausteinen in
Zusammenhang mit höheren
Datentypen
Bei Zugriff auf Komponenten
höheren Datentyps
Achtung
Beim Aufruf eines FB aus einem Baustein mit Bausteinversion 1 wird der
Aktualparameter für den ersten booleschen In- bzw. In_out-Parameter nicht
korrekt übergeben, wenn der Befehl vor dem Call nicht VKE begrenzend ist. In
diesem Fall wird er mit dem anstehenden VKE verknüpft.
Beim Aufruf eines FB (Single oder Multiinstanz) wird das Adressregister AR2
beschrieben.
Wird innerhalb eines FB das Adressregister AR2 modifiziert, ist die
ordnungsgemäße Bearbeitung dieses FB nicht mehr gewährleistet.
Wird einem ANY-Parameter nicht die vollständige absolute DB-Adresse
übergeben, enthält der ANY-Pointer nicht die DB-Nummer des
aufgeschlagenen DBs, sondern immer die Nummer 0.
6-102
Erläuterung
Nachdem Sie einem Baustein einen Aktualparameter zugeordnet
haben, der in einem DB gespeichert ist (z. B. DB20.DBX0.2), öffnet
STEP 7 Lite diesen DB (DB 20) und passt dabei den Inhalt des DB-
Registers an. Das Programm arbeitet im Anschluss an den
Bausteinaufruf dann mit dem angepassten DB.
Nach einem Bausteinaufruf aus einem FC, der eine Komponente
eines Formalparameters eines höheren Datentyps (String, Array,
Struct oder UDT) an den aufgerufenen Baustein übergibt, wird der
Inhalt von AR1 und des DB Registers des aufrufenden Bausteins
modifiziert.
Dasselbe gilt bei Aufruf aus einem FB, wenn der Parameter im
var_in_out Bereich des Aufrufers liegt.
Beim Zugriff eines FB auf eine Komponente eines Formalparameters
höheren Datentyps im var_in_out Bereich (String, Array, Struct oder
UDT) verwendet STEP 7 Lite das Adressregister AR1 und das DB-
Register. Dadurch werden die Inhalte der beiden Register modifiziert.
Beim Zugriff eines FC auf eine Komponente eines Formalparameters
höheren Datentyps (String, Array, Struct oder UDT) verwendet STEP
7 Lite das Adressregister AR1 und das DB-Register. Dadurch werden
die Inhalte der beiden Register modifiziert.
Programmieren mit STEP 7 Lite V3.0
A5E00293880-01

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis