CREA_DB: Datenbaustein erzeugen / Remanent (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
CREA_DB: Datenbaustein erzeugen / Remanent

Beschreibung

Mit der Anweisung erzeugen Sie im Anwenderprogramm einen Datenbaustein, der keine vorbesetzten Werte enthält. Er enthält stattdessen Zufallsdaten. Die Anweisung erzeugt einen Datenbaustein mit einer Nummer aus einem angegebenen Bereich sowie mit vorgegebener Größe. Aus dem angegebenen Bereich vergibt die Anweisung die kleinste mögliche Nummer an den DB. Einen DB mit bestimmter Nummer erzeugen Sie, indem Sie der Ober- und Untergrenze des vorzugebenden Bereichs die gleiche Nummer geben. Die Nummern der im Anwenderprogramm bereits enthaltenen DBs können Sie nicht mehr vergeben. Die Länge des DBs müssen Sie in einer geraden Zahl angeben.

Je nach Wahl des Parameters ATTRIB hat der erzeugte DB entweder die Eigenschaft RETAIN oder NON_RETAIN:

  • RETAIN (=remanent) bedeutet, dass der DB im remanenten Teil des Arbeitsspeichers erzeugt wird, d. h. die Aktualwerte des DB bleiben bei jedem Netz-Aus/Netz-Ein-Übergang und jedem Neustart (Warmstart) erhalten.

  • NON_RETAIN (= nicht remanent) bedeutet, dass der DB im nicht remanenten Teil des Arbeitsspeichers erzeugt wird, d. h. die Aktualwerte des DB sind nach jedem Netz-Aus/Netz-Ein-Übergang und nach jedem Neustart (Warmstart) undefiniert.

Falls nicht zwischen remanentem und nicht remanentem Arbeitsspeicher unterschieden wird, wird der Parameter ATTRIB ignoriert, d. h. die Werte des DB bleiben nach jedem Netz-Aus/Netz-Ein-Übergang und nach jedem Neustart (Warmstart) erhalten.

Unterbrechbarkeit

Die Anweisung "CREA_DB" kann unterbrochen werden durch höherpriore OBs. Wenn in einem höherprioren OB wiederum eine Anweisung "CREA_DB" aufgerufen wird, wird dieser Aufruf mit dem Fehlercode W#16#8091 abgewiesen.

Parameter

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

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

LOW_LIMIT

Input

WORD

E, A, M, D, L oder Konstante

Der untere Grenzwert ist die kleinste Nummer in dem Bereich der Nummern, die Sie Ihrem Datenbaustein zuordnen können.

UP_LIMIT

Input

WORD

E, A, M, D, L oder Konstante

Der obere Grenzwert ist die größte Nummer in dem Bereich der Nummern, die Sie Ihrem Datenbaustein zuordnen können.

COUNT

Input

WORD

E, A, M, D, L oder Konstante

Der Zählwert gibt die Anzahl der Datenbytes an, die Sie für ihren Datenbaustein reservieren möchten. Sie müssen hier eine gerade Zahl an Bytes (maximal 65534) angeben.

ATTRIB

Input

BYTE

E, A, M, D, L oder Konstante

DB-Attribute:

  • B#16#00: RETAIN

  • B#16#04: NON_RETAIN

RET_VAL

Return

INT

E, A, M, D, L

Tritt während der Bearbeitung der Anweisung ein Fehler auf, enthält der Rückgabewert einen Fehlercode.

DB_NUMBER

Output

WORD

E, A, M, D, L

Die Datenbausteinnummer ist die Nummer des erstellten Datenbausteins. Im Fehlerfall (Bit 15 von RET_VAL wurde gesetzt) wird in DB_NUMBER der Wert "0" eingetragen.

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

kein Fehler

8091

Sie haben CREA_DB geschachtelt aufgerufen.

8092

Die Funktion "Erzeugen eines DB" ist momentan nicht durchführbar, weil

  • die Funktion "Komprimieren des Anwenderspeichers" gerade aktiv ist

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

8094

Unzulässiger Wert in ATTRIB

80A1

Fehler in der Nummer des DB:

  • die Nummer ist "0"

  • die Nummer überschreitet die CPU-spezifische DB-Anzahl

  • Untergrenze > Obergrenze

80A2

Fehler in der Länge des DB:

  • die Länge ist "0"

  • die Länge wurde als ungerade Zahl angegeben

  • die Länge ist größer als die CPU zulässt

80B1

Es ist keine DB-Nummer frei.

80B2

Es steht nicht genügend freier Speicherplatz zur Verfügung.

80B3

Es steht nicht genügend zusammenhängender Speicher zur Verfügung. (Komprimieren durchführen!)

8xyy

allgemeine Fehlerinformation

Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL