Step 7 String im Array dynamisch adressien

eedroid

Level-1
Beiträge
20
Reaktionspunkte
1
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
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!
 
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.
 
Zurück
Oben