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

Ergebnis 1 bis 6 von 6

Thema: SCL: Auslesen eines Arrayelements aus DB mit Variable

  1. #1
    Registriert seit
    29.06.2009
    Beiträge
    12
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Beitrag


    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

    Gruss McLac
    Zitieren Zitieren SCL: Auslesen eines Arrayelements aus DB mit Variable  

  2. #2
    Registriert seit
    05.06.2006
    Ort
    PLZ 97xxx
    Beiträge
    274
    Danke
    31
    Erhielt 44 Danke für 36 Beiträge

    Standard

    Zitat Zitat von McLac Beitrag anzeigen
    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

    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.

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

    McLac (30.06.2009)

  4. #3
    McLac ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.06.2009
    Beiträge
    12
    Danke
    1
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Vielen Dank für die Info und den nützlichen Lösungsansatz.
    Mit dem zweidimensionalen Array gehts natürlich einfacher...

  5. #4
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard

    Zitat Zitat von McLac Beitrag anzeigen
    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ß
    Zitieren Zitieren Vielleicht so...?  

  6. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.728
    Danke
    398
    Erhielt 2.406 Danke für 2.002 Beiträge

    Standard

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

  7. #6
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    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.
    Zitieren Zitieren uuupps...  

Ähnliche Themen

  1. DATE Variable einzeln auslesen
    Von Bambam im Forum CODESYS und IEC61131
    Antworten: 9
    Letzter Beitrag: 17.08.2010, 12:38
  2. Auslesen der .Eventstate Variable
    Von Shino im Forum HMI
    Antworten: 4
    Letzter Beitrag: 17.02.2009, 11:29
  3. mit flex opc-variable auslesen
    Von Johannes F im Forum HMI
    Antworten: 2
    Letzter Beitrag: 18.11.2008, 16:04
  4. Variable laden beim betätigen eines Tasters
    Von noeppkes im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 03.08.2006, 19:02
  5. Antworten: 2
    Letzter Beitrag: 23.09.2004, 09:26

Stichworte

Lesezeichen

Berechtigungen

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