Auf Arrays zugreifen

Morymmus

Level-1
Beiträge
526
Reaktionspunkte
71
Zuviel Werbung?
-> 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:

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
 
Hallo,
ich glaube du hast aus der Hilfe nur das Initialisieren eines Arrays hier rein gestellt.
Ich hab im Anhang mal ein gaanz kurzes Beispiel eingefügt.
Die STRUCT deklarierst du zunächst einmal im Register "Datentypen" ->Dort legst du eine neue Structur an.
Schau mal über meinen beigefügten Anhang..wenn du dann noch fragen hast...
 

Anhänge

  • Online-Ansicht.pdf
    92,1 KB · Aufrufe: 57
  • Offline-Ansicht.pdf
    113,1 KB · Aufrufe: 33
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Vielen Dank! So macht das natürlich Sinn - und funktionieren tut es auch noch.:D
Ich hab mich bisher primär um relativ einfache Schrittketten und den Service von Maschinen gekümmert, in das Thema Array bzw. Struct arbeite ich mich gerade erst ein.
Die Definition des Struct ist sogar in der Hilfe mit angegeben, da sieht es aber leider so aus, als müsse das mit in die Variablen-Deklaration, so wie ich das in meinem ersten Post gemacht hatte.

Vielen Dank für den Denkanstoß!
 
Zurück
Oben