Herunterladen Inhalt Inhalt Diese Seite drucken

Vermeiden Von Fehlern Beim Aufrufen Von Bausteinen; Speichern Von Korrekten Daten - Siemens Simatic S7 Lite V3.0 Handbuch

Inhaltsverzeichnis

Werbung

6.6.7

Vermeiden von Fehlern beim Aufrufen von Bausteinen

STEP 7 Lite überschreibt Daten in DB-Register
STEP 7 Lite ändert die Register der S7-300-CPU bei verschiedenen Operationen.
Die Inhalte der DB- und DI-Register beispielsweise werden getauscht, wenn Sie
einen FB aufrufen. Dadurch kann der Instanz-DB des aufgerufenen FB geöffnet
werden, ohne die Adresse des vorherigen Instanz-DB zu verlieren.
Wenn Sie mit der absoluten Adressierung arbeiten, können Fehler beim Zugreifen
auf Daten auftreten, die in den Registern gespeichert sind: in einigen Fällen
werden die Adressen in dem Register AR1 (Adressregister 1) und in dem DB-
Register überschrieben. Dadurch kann es sein, dass Sie falsche Adressen lesen
oder in falsche Adressen schreiben.
Gefahr
!
Gefahr von Sachschäden und Personenschäden bei der Verwendung von:
1. CALL FC, CALL FB, CALL Multiinstanz
2. vollqualifizierten DB-Zugriffen (z. B. DB20.DBW10)
3. Zugriffen auf Variablen eines zusammengesetzten Datentyps
Es kann dabei geschehen, dass die Inhalte von DB-Registern (DB und DI),
Adressregistern (AR1, AR2) und Akkus (AKKU1, AKKU2) verändert werden.
Ebenso kann beim FB-CALL/FC-CALL das Verknüpfungsergebnis VKE nicht als
zusätzlicher (impliziter) Parameter verwendet werden.
Wenn Sie die oben genannten Programmiermöglichkeiten nutzen, müssen Sie
selbst für eine Wiederherstellung der Inhalte Sorge tragen, da es sonst zu einem
Fehlverhalten kommen kann.

Speichern von korrekten Daten

Kritisch wird es mit den Inhalten des DB-Registers, wenn Sie im abgekürzten
Format der absoluten Adressen auf Daten zugreifen. Gehen Sie beispielsweise
davon aus, dass DB 20 geöffnet ist (und seine Nummer im DB-Register
gespeichert ist), können Sie DBX0.2 angeben, um auf die Daten zuzugreifen, die in
Bit 2 von Byte 0 des DB gespeichert sind, dessen Adresse in dem DB-Register
abgelegt ist (also DB20). Enthält das DB-Register allerdings eine andere DB-
Nummer, greifen Sie auf die falschen Daten zu.
Fehler beim Zugreifen auf Daten des DB-Registers können Sie vermeiden, wenn
Sie die folgende Methode zum Adressieren von Daten verwenden:
• Verwenden Sie symbolische Adressierung
• Verwenden Sie die vollständige absolute Adresse (z. B. DB20.DBX0.2)
Bei diesen beiden Adressierungsmethoden öffnet STEP 7 Lite automatisch den
richtigen DB. Wenn Sie das Register AR1 für die indirekte Adressierung
verwenden, müssen Sie immer die richtige Adresse in AR1 laden.
Programmieren mit STEP 7 Lite V3.0
A5E00293880-01
Programmieren von Bausteinen
6-101

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis