Zugriff auf Variablen von Arrays, Strukturen und Bausteinen
Zugriff auf Arrayelemente
Syntax:
<Name der Arrayvariable> [ <Kommaseparierete Liste der Dimensionsindexe> ]
<Name der Arrayvariable> | Name des Arrayvariable Beispiel: Für weitere Informationen, siehe: Bezeichner vergeben |
<Kommaseparierete Liste der Dimensionsindexe> | Ein Index pro Dimension, so dass ein Element des Arrays identifiziert wird Beispiel: Der Index ist beginnend beim Indexminimum bis zum Indexmaximum gültig. Beispiel: |
Eindimensionales Array mit 10 Komponenten
//Declaration VAR aiCounter : ARRAY[0..9] OF INT; iLocalVariable : INT; END_VAR // Implementation iLocalVariable := aiCounter[2];
Zweidimensionales Array mit 2 mal 2 Komponenten
//Declaration VAR aiCardGame : ARRAY[1..2, 3..4] OF INT; iLocal_1 : INT; END_VAR //Implementation iLocal_1 := aiCardGame[1, 3];
Für weitere Informationen siehe: ARRAY OF
Zugriff auf Strukturkomponenten
Syntax:
<Name der Strukturvariablen> . <Name der Komponente>
<Name der Strukturvariablen> | Beispiel: Für weitere Informationen, siehe: Bezeichner vergeben |
<Name der Komponente> | Beispiel: |
//Declaration type TYPE S_POLYGONLINE : STRUCT aiStart : ARRAY[1..2] OF INT := [-99, -99]; aiPoint1 : ARRAY[1..2] OF INT; aiPoint2 : ARRAY[1..2] OF INT; aiPoint3 : ARRAY[1..2] OF INT; aiPoint4 : ARRAY[1..2] OF INT; aiEnd : ARRAY[1..2] OF INT := [99, 99]; END_STRUCT END_TYPE //Declaration structure variable VAR sPolygon : S_POLYGONLINE; iPoint : INT; END_VAR //Implementation iPoint := sPolygon.aiPoint1[1];
Für weitere Informationen siehe: STRUCT
Zugriff auf Variablen in Programmierbausteinen
Syntax:
<POU Name> . <Variablenname>
<POU Name> | Name einer Funktionsbausteininstanz ( Beispiel: Für weitere Informationen, siehe: Bezeichner vergeben |
<Variablenname> | Variable der POU Beispiel: |
FUNCTION_BLOCK FB_Controller VAR_INPUT xStart : BOOL; END_VAR VAR_OUTPUT END_VAR VAR ControlDriveA : S_CONTROL; END_VAR IF xStart = TRUE THEN //Symbolic bit access ControlDriveA.bitEnableOperation := TRUE; END_IF PROGRAM PLC_PRG fbController : FB_Controller; END_VAR fbController(); fbController.xStart := TRUE;