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

Ergebnis 1 bis 7 von 7

Thema: Array of Word

  1. #1
    Registriert seit
    26.07.2011
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich programmiere mit AWL. Ich habe einen Array of Word [10..15] (statische Variable im FB)

    Auf diesen kann ich einfach zugreifen, indem ich den Namen des Arrays + Index in eckigen Klammern angebe.

    z.B.
    #array[10]

    Wie kann ich dynamisch auf den Array zugreifen? Also z.B. mit einer Indexvariablen oder einem Pointer?

    #array[i]

    lg
    natasia
    Geändert von natasia (26.07.2011 um 08:44 Uhr)
    Zitieren Zitieren Array of Word  

  2. #2
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.570
    Danke
    63
    Erhielt 258 Danke für 218 Beiträge

    Standard

    Das geht in AWL nicht.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  3. #3
    Registriert seit
    23.10.2009
    Beiträge
    390
    Danke
    58
    Erhielt 112 Danke für 86 Beiträge

    Standard

    In SCL geht es so, wie Du es Dir vorstellst.
    In AWL ist es etwas komplizierter, sieh mal hier.
    Gruß
    Erich

  4. #4
    natasia ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.07.2011
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für eure Antworten. Leider bin ich mir immer noch nicht sicher wie ich das bei einem array mache.

    L #array
    LAR 1
    L MW [AR1, P#0.0]

    würde denke ich das gleiche tun wie

    L #array[10] (habe ich ausprobiert funktioniert)

    aber wie gehe ich zum nächsten Index? müsste ja
    L MW [AR1, P#2.0]
    sein. Aber ich weiß nicht wie ich das automatisch in jedem Druchlauf incrementiere.

    lg
    natasia

  5. #5
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.570
    Danke
    63
    Erhielt 258 Danke für 218 Beiträge

    Standard

    Zitat Zitat von natasia Beitrag anzeigen
    L #array
    LAR 1
    L MW [AR1, P#0.0]
    So wie ich das sehe fehlt da noch ein SLW3 um den Zeiger korrekt zu laden.
    Außerdem ist der "Haken" dabei, dass die absolute Adresse angesprochen wird. Also nicht der Index symbolisch adressiert. Bei Verschiebungen im IDB passt die Adresse dann nicht mehr.
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  6. #6
    natasia ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.07.2011
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Tigerente1974 Beitrag anzeigen
    So wie ich das sehe fehlt da noch ein SLW3 um den Zeiger korrekt zu laden.
    Außerdem ist der "Haken" dabei, dass die absolute Adresse angesprochen wird. Also nicht der Index symbolisch adressiert. Bei Verschiebungen im IDB passt die Adresse dann nicht mehr.
    #array ist doch der Array bzw. der Pointer auf den Anfang. man braucht also kein SLD 3. Das funktioniert auch so.

    Also folgendermaßen funktionierts:
    LAR1 P##iPos
    TAR2
    +AR1

    L P##iPos
    L #index // DWord
    +AR1

    L W [AR1,P#0.0]

    .....

    L 2 // Index um 2 erhöhen (nächstes Word)
    SLD 3
    L #index
    +D
    T #index


    falls jemandem eine elegantere Methode einfällt, würde mich das freuen.

    lg natasia
    Geändert von natasia (26.07.2011 um 10:31 Uhr)

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.715
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nein sorry - das wäre so in AWL die beste Methode - außer vielleicht :
    Code:
    statt :
    L 2 // Index um 2 erhöhen (nächstes Word)
    SLD 3
    L #index
    +D 
    T #index
    
    könnte man auch schreiben :
    L P#2.0
    L #index
    +D 
    T #index
    Wenn du es "schick" machen willst müßtest du zu SCL überwechseln ...

    Gruß
    Larry

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 21.12.2016, 17:03
  2. Antworten: 4
    Letzter Beitrag: 09.11.2011, 15:21
  3. Allen Bradley Word in Bool-Array kopieren
    Von mazoellner im Forum Sonstige Steuerungen
    Antworten: 14
    Letzter Beitrag: 11.07.2011, 09:50
  4. Codesys Array of Word -> Beliebiges Struct
    Von MSB im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 01.01.2008, 21:47
  5. Bool-Array in Byte-Array
    Von Techniker im Forum Sonstige Steuerungen
    Antworten: 10
    Letzter Beitrag: 13.01.2006, 19:12

Lesezeichen

Berechtigungen

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