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

Ergebnis 1 bis 5 von 5

Thema: String im Array dynamisch adressien

  1. #1
    Registriert seit
    19.02.2016
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag!

    Programmiersprache: AWL

    Ich habe im STAT Bereich eines FB's einen Array[1..16] mit String[32] mit dem Namen Zeichenketten. Mit Laufvariable möchte ich gerne einen diesen bei jedem FB Aufruf um einen höherzählen und genau diesen String im Array verwenden. Und diesen als Eingangsparameter einem FB als Multiinstanz weitergeben


    // funktioniert ---
    CALL #FB_MULTI
    StringIn:=Zeichenketten[1]


    // fehler ---

    L 1
    T MW90

    CALL #FB_MULTI
    StringIn:=Zeichenketten[MW90]


    Sollte ich jetzt meinen FB in SCL weiterschreiben oder gibt es eine AWL ebenfalls eine elegangte Lösung? Ich war sonst der Meinung das in AWL der MW90 vom Type WORD sein sollte... Überraschung!

    MfG
    droid
    Zitieren Zitieren String im Array dynamisch adressien  

  2. #2
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Adressregister AR1 verwenden.

    geändert: Unsinn
    Geändert von Verpolt (19.02.2016 um 13:37 Uhr)

  3. #3
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    IN AWL (300-er) geht die Array-Adressierung über einen Index nicht. Entweder du nutzt SCL oder du mußt die Stringposition berechnen und über indirekte Adressierung (Stichwort Any) in eine Hilfsvariable kopieren, diese dann übergeben.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  4. #4
    eedroid ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.02.2016
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    In Ordnung, dann doch wieder SCL!

    Ich dachte das man in AWL / FUP das über einen WORD sehr wohl adressieren konnte. Aber ich glaube das war dann wohl nur bei den DB's.

    L 1
    T MW90

    AUF DB[MW90] // DB1

    L DBB0
    T MW100


    Ich werde die bereits vorhandenen Zeilen in SCL konvertieren, bevor ich dazwischen die AR's hineinpacke!


    DANKE!

  5. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja genau.
    Aber es macht ohnehin Sinn, sich ein wenig mit SCL zu beschäftigen. Ist in vielen Dingen sehr hilfreich und in TIA und auch in Codesys gegenüber AWL eher vorzuziehen.
    Ich komme auch aus der AWL-Ecke und mache nooch immer einiges in AWL, kann es auch noch lesen ( ), aber für viele ist SCL besser lesbar und viele Dingen kann man dort besser, schneller und für Kollegen nachvollziehbarer ausführen.

    PS: Nicht zu vergessen, das manche Steuerung, wie die 1200-er von Siemens, gar keine AWL kann.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 04.08.2015, 15:13
  2. scl array dynamisch
    Von dentech im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.10.2012, 09:52
  3. dynamisch Zeichen in Char Array schreiben
    Von Alpini im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 22.06.2011, 13:30
  4. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  5. ARRAY Dynamisch gestalten
    Von husox81 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 16.12.2008, 10:11

Lesezeichen

Berechtigungen

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