-> Hier kostenlos registrieren
Hallo,
ich versuche mich gerade in das Thema Arrays einzuarbeiten, da ich für ein Projekt eine Werteliste aus 3 Werten und 10 Zeilen zeilenweise abarbeiten soll.
Daher habe ich in die Codesys (2.3)-Hilfe geschaut, dort findet sich folgendes Beispiel:
Das verstehe ich so, das er drei "Zeilen" vom Typ STRUCT1 anlegt, also jeweils 3 Felder => p1,p2 und p3, und diese dann mit den angegebenen Werten füllt.
In der weiteren Verarbeitung möchte ich einen Wert aus dem Array mit einer festen Zahl multiplizieren, d.h. p2 aus Zeile 1 mit 1000.
Wenn ich aber nun auf ein Feld dieses Arrays zugreifen möchte, so bekomme ich folgendes:
Für den Zugriff verwende ich "Array1[1,2]", wenn ich dies aber eingebe versucht der Variablen-Deklarations-Assistent "Array1" als Variable anzulegen....
Wenn ich über den Assistenten ein ARRAY [1..3] OF INT anlege funktioniert diese Zugriffssyntax, nur bei der in der Hilfe gezeigten Variante mit STRUCT scheinbar nicht.
Ich hatte gedacht, das über die Definition als STRUCT die Möglichkeit besteht ARRAYs mit unterschiedlichen Daten-Typen anzulegen - dies wäre mir für einen späteren Schritt wichtig.
Irgendwie stehe ich gerade auf dem Schlauch...
Danke schon mal für Eure Hilfe
Viele Grüße
Christian
ich versuche mich gerade in das Thema Arrays einzuarbeiten, da ich für ein Projekt eine Werteliste aus 3 Werten und 10 Zeilen zeilenweise abarbeiten soll.
Daher habe ich in die Codesys (2.3)-Hilfe geschaut, dort findet sich folgendes Beispiel:
Code:
VAR_GLOBAL
[...]
TYPE STRUCT1
STRUCT
p1:INT;
p2:INT;
p3:INT; (*Die Variablentypen habe ich an meine Bedürfnisse angepasst, in der Hilfe: INT,INT, DWORD*)
END_STRUCT
Array1 : ARRAY [1..3] OF STRUCT1 := (p1:=1, p2:=10, p3:=100), (p1:=2, p2:=20, p3:=200), (p1:=3, p2:=30, p3:=300); (* Werte von mir abgeändert gegenüber Hilfe-Beispiel*)
[...]
END_VAR
Das verstehe ich so, das er drei "Zeilen" vom Typ STRUCT1 anlegt, also jeweils 3 Felder => p1,p2 und p3, und diese dann mit den angegebenen Werten füllt.
In der weiteren Verarbeitung möchte ich einen Wert aus dem Array mit einer festen Zahl multiplizieren, d.h. p2 aus Zeile 1 mit 1000.
Wenn ich aber nun auf ein Feld dieses Arrays zugreifen möchte, so bekomme ich folgendes:
Für den Zugriff verwende ich "Array1[1,2]", wenn ich dies aber eingebe versucht der Variablen-Deklarations-Assistent "Array1" als Variable anzulegen....
Wenn ich über den Assistenten ein ARRAY [1..3] OF INT anlege funktioniert diese Zugriffssyntax, nur bei der in der Hilfe gezeigten Variante mit STRUCT scheinbar nicht.
Ich hatte gedacht, das über die Definition als STRUCT die Möglichkeit besteht ARRAYs mit unterschiedlichen Daten-Typen anzulegen - dies wäre mir für einen späteren Schritt wichtig.
Irgendwie stehe ich gerade auf dem Schlauch...
Danke schon mal für Eure Hilfe
Viele Grüße
Christian