Einzelne Werte eines Array übergeben

gloeru

Level-1
Beiträge
339
Reaktionspunkte
35
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
 
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;
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
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!)
 
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
 
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
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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;
 
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.
 
Zurück
Oben