Array erstellen

Purple

Level-1
Beiträge
13
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich will in einem Programm mit Arrays arbeiten. Allerdings kenne ich mich damit nicht wirklich aus und habe auch kaum was im Internet gefunden. Ich will einen Datentyp Array anlegen der z.B. 50 Plätze hat und bei jedem Platz ist eine Position(Zahl) im Typ INT hinterlegt.

TYPE
Positionen : ARRAY[0..49] OF INT;
END_TYPE

So erstelle ich ja einen Datentyp in Array aber wie hinterlege ich die einzelnen Werte?
Meine nächste Frage ist wie kann ich die Werte dann abrufen. Mein Plan ist sie dann nacheinander aufzurufen.
Wäre super wenn mir jemand weiterhelfen könnte.
Ich nutze PC WorX von Phoenix Contact und Programmiere in der Funktionsbausteinsprache.
 
Bei Funktionsbausteinsprache oder wie die genau heisst, kann ich nicht helfen.
Musst Du genau diese Sprache verwenden?
Bei Strukturiertem Text könnte ich helfen. Damit hast Du auch viel mehr Möglichkeiten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

erstellen mit Initialisierung:
TestArray: ARRAY [0..5] OF INT := [1,2,3,4,5,6];

lesen:
temp:=TestArray[1];

schreiben:
TestArray[2]:=4;

ARRAY ist der Datentyp.
TestArray ist eine Variable vom Datentyp Array.

mfG
 
Zuletzt bearbeitet:
Bei "TestArray: ARRAY [0..5] OF INT := [1,2,3,4,5,6];" bekomme ich eine Fehlermeldung?

Sind dann [1,2,3,4,5,6] die einzelnen Werte die auf den Plätzen des Arrays liegen?

Danke schonmal!
 
Hallo,

das zweite Paar eckiger Klammer muß weg
TestArray: ARRAY [0..5] OF INT := 1,2,3,4,5,6;

In der CoDeSys eigenen Hilfe von 2.3 sind ein paar schöne Beispiele. Ich weiß nicht ob bei Dir die gleiche Hilfe verfügbar ist.

Array

Es werden ein-, zwei-, und dreidimensionale Felder (Arrays) von elementaren Datentypen unterstützt. Arrays können im Deklarationsteil eines Bausteins und in den globalen Variablenlisten definiert werden. Durch Schachtelung von Arrays dürfen maximal 9 Dimensionen entstehen.
Syntax:
<Feld_Name>:ARRAY [<ug1>..<og1>,<ug2>..<og2>,<ug3>..<og3>] OF <elem. Typ>.
ug1, ug2, ug3 geben die untere Grenze des Feldbereichs an, og1, og2, og3 die obere Grenze. Die Grenzwerte müssen ganzzahlig sein und dem DINT-Wertebereich folgen.
Beispiel:
Kartenspiel : ARRAY [1..13, 1..4] OF INT;

Initialisierung von Arrays:
Beispiele für die komplette Initialisierung eines Arrays:arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5;
arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7);
(* kurz für 1,7,7,7 *)
arr3 : ARRAY [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3;
(* kurz für 0,0,4,4,4,4,2,3 *)
Beispiel für die Initialisierung eines Arrays einer Struktur:
TYPE STRUCT1
STRUCT
p1:int;
p2:int;
p3:dword;
END_STRUCT
ARRAY[1..3] OF STRUCT1:= (p1:=1,p2:=10,p3:=4723),(p1:=2,p2:=0,p3:=299),
(p1:=14,p2:=5,p3:=112);
Beispiel für eine teilweise Initialisierung eines Arrays:
arr1 : ARRAY [1..10] OF INT := 1,2;
Elemente, für die kein Wert vorgegeben wird, werden mit dem Default-Initialwert des Basistypen initialisiert. Im obigen Beispiel werden also die Elemente anarray[6] bis anarray[10] mit 0 initialisiert.

Zugriff auf Array-Komponenten:
Auf Komponenten von Arrays greift man bei einem zweidimensionalen Feld mit folgender Syntax zu:
<Feld_Name>[Index1,Index2]
Beispiel:
Kartenspiel[9,2]

Gruß
 
Zurück
Oben