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

Ergebnis 1 bis 8 von 8

Thema: Einzelne Werte eines Array übergeben

  1. #1
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen

    Ich stehe im Moment auf dem Schlauch. Und zwar möchte ich einer Funktion zwei Array[1..3] of REAL übergeben. Eigentlich wollte ich die Eingänge einzeln belegen, also 6 REAL-Werte im Funktionsaufruf in zwei Arrays sortiert übergeben.
    Irgendwie habe ich das aber nicht zustande gebracht...

    Kann ich in einem FC/FB Aufruf ein Eingangsarray mit einzelwerten überhaupt übergeben?

    Vielen Dank
    Zitieren Zitieren Einzelne Werte eines Array übergeben  

  2. #2
    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

    Du legst bei den Inputs deines Bausteins eine Variable an:

    TestInput: Array[1..3] of Real;

    Im Baustein kannst du nun schreiben:

    MyReal := TestInput[1];

    Außen an den Baustein schreibst du eine Variable, die global oder im aufrufenden Baustein als:

    UebergabeArray: Array[1..3] of Real;

    angelegt ist.

    Der Bausteinaufruf enthält dann folgende Zeile:

    TestInput := UebergabeArray;
    Geändert von Ralle (22.01.2013 um 13:56 Uhr)
    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

  3. #3
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard

    Danke Ralle, soweit bin ich auch schon, bis jetzt sammle ich die Werte vor dem Bausteinaufruf zusammen und schreibe sie in ein Array, welches ich übergebe.
    Ich möchte aber direkt einzelne Werte ins Eingangsarray schreiben...

    Code:
    FC_CalcNormVect(Array1[1] := Wert7, Array1[2] := Wert19, Array1[3] := Wert 42, Array2[1] := Wert 33 ....)
    Bis jetzt habe ich die korrekte Syntax nicht gefunden! (Wenns überhaupt geht!)

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo,
    du erzeugst eine Variable vom Typ deines Array's,
    weißt den einzelnen Array-Elementen ihre Werte zu
    und übergibst dann die Array-Variable (als Ganzes) deinem Baustein.

    Gruß
    Larry

  5. #5
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard

    Okey, das heisst direkt geht es nicht...

    Wie sieht es mit Konstanten aus?
    Nachmal möchte ich Einheitsvektoren übergeben. (z.B. 1,0,0)

    Das Problem ist eifach, dass sich so mein Code massiv aufbläst, wenn ich den FB/FC 10mal aufrufe, und jedesmal 4x3 Werte zuweisen muss...
    Mehraufwand sind ca. 240 Zeilen Code :S

  6. #6
    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

    Du kannst vor dem FB-Aufruf eine Zuweisung auf deine FB-Array machen, meinst du das?


    FC_CalcNormVect.Array1[1] := Wert7;
    FC_CalcNormVect.Array1[2] := Wert9;
    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

  7. #7
    Registriert seit
    06.02.2012
    Beiträge
    102
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Das alles kannst du ja auch in einer schleife machen.... oder wie stellst du dir das vor??

  8. #8
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für die Antworten. Ich werde es wie von Ralle vorgeschlagen machen. Der Aufwand für die Schleife wird realtiv gross, weil die Daten bis jetzt nach Messpunkten sortiert abgelegt sind.

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 19.07.2012, 16:51
  2. Antworten: 0
    Letzter Beitrag: 25.02.2011, 12:29
  3. ARRAY an FC übergeben
    Von klauserl im Forum Simatic
    Antworten: 26
    Letzter Beitrag: 10.11.2008, 11:38
  4. Werte eines Array dauerhaft speichern!!
    Von SliderZ im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.02.2007, 12:49
  5. einzelne Bit eines Bytes ändern
    Von Farinin im Forum HMI
    Antworten: 10
    Letzter Beitrag: 29.09.2006, 11:24

Lesezeichen

Berechtigungen

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