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

Ergebnis 1 bis 4 von 4

Thema: S7 1500 Variant auf ein Array mit eigenem Datentyp

  1. #1
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen

    Ich habe ein Array mit 500 Elementen von einem eigenen Datentyp. Dieses Array möchte ich nun in einem FB durchsuchen und in den Index 0 des Arrays etwas schreiben. Es ist mir klar das es mit InOut auch gehen würde jedoch möchte ich es mit Variant übergeben. Jedoch krieg ich es nicht hin irgend etwas aus dem Variant zu lesen... Hat dies jemand schon gemacht? Ist es überhaupt möglich?

    Gruss und Dank
    Zitieren Zitieren S7 1500 Variant auf ein Array mit eigenem Datentyp  

  2. #2
    RogerSchw85 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard

    So finde ich wenigstens raus welchen Datentyp es ist, aber wie kann ich im Variant auf den Index zugreifen?

    Code:
    IF TypeOfElements(#Datenbank) = TypeOf("Datenbaustein_1".Daten[2]) THEN    ;
    END_IF;

  3. #3
    RogerSchw85 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard

    Ich habe jetzt eine Lösung gefunden, jedoch bringt diese mir nichts... Ich kopiere so trotzdem jeden Eintrag hin und her... So kann ich von Anfang an das ganze Array übergeben...

    Code:
    // Länge ermitteln#length := CountOfElements(#Datenbank) - 1;
    
    
    #OUT_AufPos := 0;
    
    
    FOR #i := 0 TO #length DO
        #MoveVariant :=
        MOVE_BLK_VARIANT(SRC := #Datenbank,
                         COUNT := 1,
                         SRC_INDEX := #i,
                         DEST_INDEX := 0,
                         DEST => #daten_2);
        
        #gefunden := FIND(IN1 := #daten_2.Barcode, IN2 := #IN_Barcode);
        
        IF (#gefunden > 0) THEN
            #OUT_AufPos := #i;
            RETURN;
        END_IF;
        
    END_FOR;

  4. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.354
    Danke
    455
    Erhielt 693 Danke für 518 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mir ist kein anderer Weg bekannt. Einen direkten Weg via Variant auf Daten zuzugreifen gibt es meines Wissens nicht.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

Ähnliche Themen

  1. TIA 1200 / Modbus RTU / MB_MASTER / Datentyp Variant
    Von subvexus im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 21.08.2015, 17:56
  2. TIA 1500 Zeiger wie Variant zerlegen und bearbeiten
    Von vollmi im Forum Simatic
    Antworten: 20
    Letzter Beitrag: 31.07.2015, 12:25
  3. Antworten: 19
    Letzter Beitrag: 14.07.2014, 14:02
  4. TIA S7 1200 in TiA Datentyp Variant
    Von OWLer im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 26.08.2013, 20:06
  5. TIA VARIANT Datentyp S7-1200 / S7-1500
    Von Beckx-net im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.07.2013, 13:32

Lesezeichen

Berechtigungen

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