DEL_DB: Datenbaustein löschen (S7-300, S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
DEL_DB: Datenbaustein löschen

Beschreibung

Mit der Anweisung löschen Sie einen im Arbeitsspeicher und gegebenenfalls im Ladespeicher der CPU liegenden Datenbaustein. Der zu löschende DB darf weder in der aktuellen noch in einer niederprioren Ablaufebene aufgeschlagen sein. D. h., er darf weder in einem der beiden DB-Register noch im B-Stack eingetragen sein.

Bei Aufruf der Anweisung startet die CPU sonst den OB 121. Wenn der OB 121 nicht vorhanden ist, wechselt die CPU in STOP; bei S7-300 (Ausnahme: CPU 318) erfolgt das Löschen des DB ohne Aufruf des OB 121.

Hinweis

Das Löschen von Instanz-DBs mit "DEL_DB" ist nicht sinnvoll und führt stets zu Programmfehlern. Vermeiden sie daher das Löschen von Instanz-DBs mit "DEL_DB"!

Die folgende Tabelle erläutert, wann ein DB mit "DEL_DB" gelöscht werden kann.

Wenn der DB ...

dann ist er mit "DEL_DB" ...

durch Aufruf der Anweisung "CREAT_DB" erzeugt wurde,

löschbar.

auf die CPU übertragen wurde und nicht mit dem Attribut "nur im Ladespeicher ablegen" erzeugt wurde

löschbar.

mit dem Attribut "nur im Ladespeicher ablegen" erzeugt wurde

  • bei S7-300 löschbar

  • bei S7-400 nicht löschbar

durch Aufruf der Anweisung "CREA_DBL" erzeugt wurde

löschbar

auf der Flashcard gespeichert ist,

nicht löschbar.

Unterbrechbarkeit

Die Anweisung ist von höherprioren Ablaufebenen unterbrechbar. Falls dort die Anweisung erneut aufgerufen wird, wird dieser zweite Aufruf abgebrochen, und in RET_VAL wird W#16#8091 eingetragen.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "DEL_DB":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

DB_NUMBER

Input

WORD

E, A, M, D, L oder Konstante

Nummer des zu löschenden DB

RET_VAL

Return

INT

E, A, M, D, L

Fehlerinformation

Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".

Parameter RET_VAL

Fehlercode

(W#16#...)

Erläuterung

0000

Es ist kein Fehler aufgetreten.

8091

Bei ineinandergeschachtelten "DEL_DB"-Aufrufen wurde die maximale Schachtelungstiefe der verwendeten CPU überschritten.

8092

Die Funktion "Löschen eines DB" ist momentan nicht durchführbar, weil

  • die Funktion "Komprimieren des Anwenderspeichers" gerade aktiv ist

  • Sie den zu löschenden DB gerade von der CPU in ein Offline-Projekt kopieren.

  • die WinAC-Software-CPU einen Fehler im Betriebssystem des Computers festgestellt hat, auf dem WinAC installiert ist.

80A1

Fehler beim Eingangsparameter DB_NUMBER: Der gewählte Aktualparameter

  • hat den Wert "0"

  • ist größer als die für die eingesetzte CPU maximal mögliche DB-Nummer.

80B1

Der DB mit der angegebenen Nummer ist im Arbeitsspeicher der CPU nicht vorhanden.

80B3

Der DB befindet sich auf der Flashcard.

80B4

Der DB konnte nicht gelöscht werden. Mögliche Ursachen:

  • Er gehört zu einem F-Programm.

  • Er ist ein Instanz-DB eines Bausteins der S7-Kommunikation (nur bei S7-400).

  • Er ist ein Technologie-DB.

80C1

Die Funktion "Löschen eines DB" ist wegen temporären Ressourcenengpasses momentan nicht durchführbar.

8xyy

allgemeine Fehlerinformation

Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL