AWL DINT Initialisierung

svkers

Level-1
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo AWLer,

ich habe folgende AWL Anweisung zur Initialisierung einer DINT-Variablen Var in einem DB gesehen:

Var := L#0;

Welchen Wert hat die DINT-Var nach der Initialisierung? 0? Oder wird hier Var mit dem Wert des Lokaldatenbytes 0 initialisiert?

Besten Dank!
 
Das ne DB-Quelle ...
Wenn deine DINT variable var heisst setzt du sie damit am anfang auf 0, ja.
Code:
DATA_BLOCK "DB-Merker"
//TITLE = DB97
Author : 
VERSION : 0.0

    struct
M0_0 : BOOL ;  // Merker 0.0
M0_1 : BOOL ;  // Merker 0.1
M0_2 : BOOL ;  // Merker 0.2
M0_3 : BOOL ;  // Merker 0.3
M0_4 : BOOL ;  // Merker 0.4
M0_5 : BOOL ;  // Merker 0.5
M0_6 : BOOL ;  // Merker 0.6
M0_7 : BOOL ;  // Merker 0.7
END_STRUCT;
BEGIN
M0_0 :=false;
M0_1 :=false;
M0_2 :=false;
M0_3 :=false;
M0_4 :=false;
M0_5 :=false;
M0_6 :=false;
M0_7 :=false;
END_DATA_BLOCK
 
L# ist einfach das Format des Typs Dint

Auszug aus der siemenshilfe:
Code:
Datentyp    Länge (Bit)    Format    Beispiele für das Format Min.    Max.
DINT    32    Ganzzahl mit Vorzeichen    L# -2147483648    L#+2147483647
 
Um auf deine Frage zurückzukommen:

L#0
lädt einfach "null", aber formell als "Lange Integer" sprich 32 Bit Zahl.

Ab zahlen > 32767 musst du zwangsweise ein L# voranstellen, bzw. macht Step7 das automatisch.

Mfg
Manuel
 
Achtung: Wenn man negative DINT-Zahlen meint, dann MUSS das Formatkennzeichen L# zwingend angegeben werden, weil -1 (INT 16 Bit) ist nicht das gleiche wie L#-1 (DINT 32 Bit).

Harald
 
Zurück
Oben