Zugriff auf Variablen von Arrays, Strukturen und Bausteinen

Zugriff auf Arrayelemente

Syntax

<Name der Arrayvariablen> [ <kommaseparierte Liste der Dimensionsindizes> ]

<Name der Arrayvariablen>

Beispiel: aSample

Weitere Informationen: Bezeichner vergeben

<kommaseparierte Liste der Dimensionsindizes>

Ein Index pro Dimension, so dass ein Element des Arrays identifiziert wird

Beispiel: 2

Der Index ist beginnend beim Indexminimum bis zum Indexmaximum gültig.

Beispiel: 0..9

Beispiele

Eindimensionales Array mit zehn Komponenten

// Declaration
VAR
    aSample : ARRAY[0..9] OF INT;
    nVar    : INT;
END_VAR
// Implementation
nVar := aSample[2];

Zweidimensionales Array mit zwei mal zwei Komponenten

//Declaration
VAR
    aCardGame : ARRAY[1..2, 3..4] OF INT;
    nVar1     : INT;
END_VAR
//Implementation
nVar1 := aCardGame[1, 3];

Weitere Informationen: ARRAY

Zugriff auf Strukturkomponenten

Syntax

<Name der Strukturvariablen>.<Name der Komponente>

<Name der Strukturvariablen>

Beispiel: sPolygon

Weitere Informationen: Bezeichner vergeben

<Name der Komponente>

Beispiel: aStart

Beispiele

// Declaration type
TYPE ST_POLYGONLINE :
STRUCT
    aStart  : ARRAY[1..2] OF INT := [-99, -99];
    aPoint1 : ARRAY[1..2] OF INT;
    aPoint2 : ARRAY[1..2] OF INT;
    aPoint3 : ARRAY[1..2] OF INT;
    aPoint4 : ARRAY[1..2] OF INT;
    aEnd    : ARRAY[1..2] OF INT := [99, 99];
END_STRUCT
END_TYPE
//Declaration structure variable
VAR
    sPolygon : ST_POLYGONLINE;
    nPoint   : INT;
END_VAR
//Implementation
nPoint := sPolygon.aPoint1[1];

Weitere Informationen: Struktur

Zugriff auf Variablen in Programmierbausteinen

Syntax

<POU Name>.<Variablenname>

<POU Name>

Name einer Funktionsbausteininstanz (FUNCTION_BLOCK) oder eines Programms (PROGRAM)

Beispiel: fbController

Weitere Informationen: Bezeichner vergeben

<Variablenname>

Variable der POU

Beispiel: bStart

Beispiele

FUNCTION_BLOCK FB_SAMPLE
VAR_INPUT
    bStart : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR
    nState  : INT;
END_VAR
IF bStart = TRUE THEN
    nState := 1;
END_IF
PROGRAM MAIN
VAR
    fbSample : FB_Sample;
END_VAR
fbSample();
fbSample.bStart := TRUE;

Weitere Informationen: Objekt Funktionsbaustein, Objekt Programm

Siehe auch: