Einzelne Werte eines Array übergeben

gloeru

Well-known member
Beiträge
339
Punkte Reaktionen
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
 

Ralle

Supermoderator
Teammitglied
Beiträge
14.626
Punkte Reaktionen
3.482
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:
OP
G

gloeru

Well-known member
Beiträge
339
Punkte Reaktionen
35
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!)
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.091
Punkte Reaktionen
2.718
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
 
OP
G

gloeru

Well-known member
Beiträge
339
Punkte Reaktionen
35
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
 

Ralle

Supermoderator
Teammitglied
Beiträge
14.626
Punkte Reaktionen
3.482
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;
 
OP
G

gloeru

Well-known member
Beiträge
339
Punkte Reaktionen
35
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.
 
Oben