Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 3 von 3

Thema: Auf Arrays zugreifen

  1. #1
    Registriert seit
    26.11.2012
    Ort
    Gummersbach
    Beiträge
    504
    Danke
    18
    Erhielt 72 Danke für 70 Beiträge

    Frage


    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
    Ganz kurz ganz hell
    ganz lange ganz dunkel....
    Zitieren Zitieren Auf Arrays zugreifen  

  2. #2
    Registriert seit
    12.05.2010
    Ort
    Dortmund
    Beiträge
    889
    Danke
    57
    Erhielt 121 Danke für 89 Beiträge

    Standard

    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...
    Angehängte Dateien Angehängte Dateien
    Weil Denken die schwerste Arbeit ist, die es gibt, beschäftigen sich auch nur wenige damit.

  3. Folgender Benutzer sagt Danke zu rheumakay für den nützlichen Beitrag:

    Morymmus (09.12.2014)

  4. #3
    Morymmus ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.11.2012
    Ort
    Gummersbach
    Beiträge
    504
    Danke
    18
    Erhielt 72 Danke für 70 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Vielen Dank! So macht das natürlich Sinn - und funktionieren tut es auch noch.
    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ß!
    Ganz kurz ganz hell
    ganz lange ganz dunkel....

Ähnliche Themen

  1. Auf Peripheriedaten zugreifen
    Von Bensen83 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 08.07.2010, 14:32
  2. auf DB in SCL zugreifen
    Von Bensen83 im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 18.02.2010, 12:33
  3. Antworten: 4
    Letzter Beitrag: 18.12.2009, 14:34
  4. Auf S5 über H1 zugreifen
    Von repök im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 15.03.2009, 14:25
  5. Auf DB-Inhalt zugreifen
    Von delacasa im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.06.2006, 11:42

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •