SCL: Auslesen eines Arrayelements aus DB mit Variable

McLac

Level-1
Beiträge
12
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich habe einen DB der 9 Arrays enthält.
Es handelt sich um DB20
Die Arrays habe ich wie folgt benannt:
LUFF_70
LUFF_65
...
LUFF_30

Nun will ich ein Array-Element herauslesen:
Hier z.B. das dritte Element

TopValue1:=DB20.LUFF_70[2]

Dies funktioniert auf diese Weise gut.

Nun möchte ich aber den Ausdruck mit einer Variabel ergänzen.
Ich will also einmal DB20.LUFF_70[2], ein ander Mal vielleicht DB20.LUFF_40[2], usw. auslesen

Den dafür benötigten Zahlenwert hinter LUFF_ habe ich in einer INT Variabel gespeichert.

Kann mir nun jemand sagen wie dies funktioniert?

Ich habe schon einiges probiert, bin aber zu keiner Lösung gekommen, obwohl ich denke dass es doch nicht so schwierig sein kann :confused:

Gruss McLac
 
Hallo

Ich habe einen DB der 9 Arrays enthält.
Es handelt sich um DB20
Die Arrays habe ich wie folgt benannt:
LUFF_70
LUFF_65
...
LUFF_30

Nun will ich ein Array-Element herauslesen:
Hier z.B. das dritte Element

TopValue1:=DB20.LUFF_70[2]

Dies funktioniert auf diese Weise gut.

Nun möchte ich aber den Ausdruck mit einer Variabel ergänzen.
Ich will also einmal DB20.LUFF_70[2], ein ander Mal vielleicht DB20.LUFF_40[2], usw. auslesen

Den dafür benötigten Zahlenwert hinter LUFF_ habe ich in einer INT Variabel gespeichert.

Kann mir nun jemand sagen wie dies funktioniert?

Ich habe schon einiges probiert, bin aber zu keiner Lösung gekommen, obwohl ich denke dass es doch nicht so schwierig sein kann :confused:

Gruss McLac

Das geht so leider nicht.
Ein sinnvoller Lösungsansatz wäre z.B.
ein 2-dimensionales Array zu nutzen.
oder das Array "umzudrehen"

Oder du mußt dir eben Pointer zurechtbiegen.
 
Vielleicht so...?

Den dafür benötigten Zahlenwert hinter LUFF_ habe ich in einer INT Variabel gespeichert.

Das funktioniert leider so nicht, aber wenn du die Datenbausteinnummer in deine INT- Variable speicherst kannst du es so machen:

Code:
BS := WORD_TO_BLOCK_DB(_pt.DBNr).DB[Adr+0];


Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
uuupps...

was spricht gegen den Vorschlag von Sarek ?
Der war doch OK und trifft genau den Punkt ...

Hallo Larry Laffer, eigentlich habe ich nichts gegen den Vorschlag von Sarek. Und bei genauem hinsehen trifft mein Vorschlag nicht wirklich zu, sorry. Lesen, nachdenken, posten... Werd mich dran halten.
 
Zurück
Oben