-> Hier kostenlos registrieren
Hallo,
ich habe heute neu mit TwinCat 3 und Beckhoff gestartet, kenne mich aber schon etwas mit SPS aus.
Nun bin ich gerade dabei eine Matrix multiplikation zu erstellen. Für eine Matrix nehme ich zurzeit ein Zweidimensionales Array:
matrix1 : ARRAY[1..3,1..3] OF DINT
matrix2 : ARRAY[1..3,1..3] OF DINT
Nun würde ich gerne eine Funktion für die Multiplikation schreiben. Dies funktioniert auch für feste größen des Arrays (z.B: 3x3)
Für eine dynamische größe eines Arrays müsste ich an die Funktion ein Array mit beliebiger Größe übergeben.
FUNCTION fMultiplyMatrix : ARRAY[1..sizeArray,1..sizeArray] OF DINT
VAR_INPUT
A : ARRAY[1..sizeArray,1..sizeArray] OF DINT;
B : ARRAY[1..sizeArray,1..sizeArray] OF DINT;
END_VAR
Dies funktioniert aber leider nicht, gibt es da eine Möglichkeit? Oder ist dies ähnlich zu C nicht wirklich möglich?
Schöne Grüße und Danke im vorraus
ich habe heute neu mit TwinCat 3 und Beckhoff gestartet, kenne mich aber schon etwas mit SPS aus.
Nun bin ich gerade dabei eine Matrix multiplikation zu erstellen. Für eine Matrix nehme ich zurzeit ein Zweidimensionales Array:
matrix1 : ARRAY[1..3,1..3] OF DINT
matrix2 : ARRAY[1..3,1..3] OF DINT
Nun würde ich gerne eine Funktion für die Multiplikation schreiben. Dies funktioniert auch für feste größen des Arrays (z.B: 3x3)
Für eine dynamische größe eines Arrays müsste ich an die Funktion ein Array mit beliebiger Größe übergeben.
FUNCTION fMultiplyMatrix : ARRAY[1..sizeArray,1..sizeArray] OF DINT
VAR_INPUT
A : ARRAY[1..sizeArray,1..sizeArray] OF DINT;
B : ARRAY[1..sizeArray,1..sizeArray] OF DINT;
END_VAR
Dies funktioniert aber leider nicht, gibt es da eine Möglichkeit? Oder ist dies ähnlich zu C nicht wirklich möglich?
Schöne Grüße und Danke im vorraus