Sie können Variablen an den folgenden Stellen deklarieren:
-
Erklärung als Teil einer POE
Das Dialogfeld „Declare Variable“ hilft Ihnen dabei.
TIPP:
Wenn Sie eine Variable im Editor für tabellarische Deklarationen definieren, wird automatisch die korrekte Syntax erzeugt.
-
Deklarationsteil des GVL- oder NVL-Editors
-
E/A-Zuordnungskonfiguration eines E/A-Geräteobjekts
Syntax
( <pragma> )* <scope> ( <type qualifier> )? <identifier> (AT <address> )? : <data type> ( := <initial value> )? ; END_VAR
Deklaration |
||
<pragma> |
Pragma (keines, eines oder mehrere) Hinweis: Durch Hinzufügen eines Pragmas können Sie das Verhalten und die Eigenschaften von einer oder mehreren Variablen beeinflussen. |
|
|
Umfang
|
|
|
Typenbezeichnung
|
|
|
Bezeichner, Variablenname Hinweis: Bei der Vergabe eines Identifikators sind die im Kapitel "Identifikatoren" aufgeführten Regeln ausnahmslos zu befolgen. Darüber hinaus finden Sie Empfehlungen für eine einheitliche Namensgebung. |
|
|
Zuweisung einer Adresse im Eingangs-, Ausgangs- oder Merkerspeicherbereich (I, Q oder M)
Beispiel
|
|
|
Datentyp
|
|
|
Anfangswert
|
|
|
Beliebig |
|
|
Fakultative Wiederholung |
Beispiel
GVL
{attribute 'qualified_only'} {attribute 'linkalways'} VAR_GLOBAL CONSTANT g_ciMAX_A : INT := 100; g_ciSPECIAL : INT := g_ciMAX_A - 10; END_VAR
GVL_CONFIG
{attribute 'qualified_only'} VAR_CONFIG // Generated instance path of variable at incomplete address PLC_PRG.fbDoItNow.XLOCINPUT AT %I*: BOOL := TRUE; END_VAR
FB_DoIt (FB)
METHOD METH_Last : INT VAR_INPUT iVar : INT; END_VAR VAR_INST iLast : INT := 0; END_VAR METH_Last := iLast; iLast := iVar; FUNCTION_BLOCK FB_DoIt VAR_INPUT wInput AT %IW0 : WORD; (* Input variable *) END_VAR VAR_OUTPUT wOutput AT %QW0 : WORD; (* Output variable *) END_VAR VAR_IN_OUT aData_A : ARRAY[0..1] OF DATA_A; // Formal variable END_VAR VAR_EXTERNAL GVL.g_ciMAX_A : INT; // Declared in object GVL END_VAR VAR_STAT iNumberFBCalls : INT; END_VAR VAR iCounter: INT; xLocInput AT %I* : BOOL := TRUE; // VAR_CONFIG END_VAR iNumberFBCalls := iNumberFBCalls + 1;
PLC_PRG (PRG)
PROGRAM PLC_PRG VAR iLoop: INT; iTest: INT; fbDoItNow : FB_DoIt; iTest_200: INT; aData_Now : ARRAY[0..1] OF DATA_A := [(iA_1 := 1, iA_2 := 10, dwA_3 := 16#00FF),(iA_1 := 2, iA_2 := 20, dwA_3 := 16#FF00)]; END_VAR iTest := GVL.g_ciMAX_A; iTest_200 := 2 * GVL.g_ciMAX_A; fbDoItNow(aData_A := aData_Now); FOR iLoop := 0 TO GVL.g_ciSPECIAL DO ; END_FOR
-
Initialisierung von Variablen