Hallo Liebe SPS / SCL Experten,
ich möchte schon bei der Initialisierung bestimmte Zellen eines Arrays ansprechne und mit Werten füllen.
Leider gelingt mir das nicht.
Das Array soll zum Beispiel so aussehen:
// +------+------+------+
// | 01 | 05 | 09 |
// +------+------+------+
// | 02 | 06 | 10 |
// +------+------+------+
// | 03 | 07 | 11 |
// +------+------+------+
// | 04 | 08 | 12 |
// +------+------+------+
Der folgende Code lässt sich zwar übersetzen und funktioniert, aber erfüllt nicht meine Anforderung.
Damit das Array so wie im Beispiel initialisiert wird, müsste es wie folgt mit Werten gefüllt werden.
Das ist mir aber zu kompliziert, ich würde gerne schon bei der Initialisiertung die Indexe/Indizes ansprechen.
Wie kann ich bei der Initialisierung eines Arrays auf einfache Weise bestimmte Zellen vorbesetzen?
So würde ich es gerne machen, doch der Code lässt sich nicht übersetzen.
Der folgende Code ist keine Initialisiertung, die Felder des Arrays werden zur Laufzeit gefüllt.
Ich bitte um Rat und Vorschläge, wie ich bei der Initialisierung von Arrays, bestimmt Zellen dirket füllen kann.
Vielen Dank
MFG
sinumerik.user
ich möchte schon bei der Initialisierung bestimmte Zellen eines Arrays ansprechne und mit Werten füllen.
Leider gelingt mir das nicht.
Das Array soll zum Beispiel so aussehen:
// +------+------+------+
// | 01 | 05 | 09 |
// +------+------+------+
// | 02 | 06 | 10 |
// +------+------+------+
// | 03 | 07 | 11 |
// +------+------+------+
// | 04 | 08 | 12 |
// +------+------+------+
Der folgende Code lässt sich zwar übersetzen und funktioniert, aber erfüllt nicht meine Anforderung.
Code:
FUNCTION_BLOCK FB60
VAR_TEMP
// temporäre Variablen
END_VAR
VAR
// statische Variablen
test : STRUCT
test0 : ARRAY[1..4,1..3] OF INT := 01,02,03,04,05,06,07,08,09,10,11,12;
END_STRUCT;
END_VAR
// Anweisungsteil
BEGIN
;
END_FUNCTION_BLOCK
DATA_BLOCK DB60 FB60
//
// Baustein-Kommentar ...
//
BEGIN
END_DATA_BLOCK
Das ist mir aber zu kompliziert, ich würde gerne schon bei der Initialisiertung die Indexe/Indizes ansprechen.
Code:
test0 : ARRAY[1..4,1..3] OF INT := 01,05,09,02,06,10,03,07,11,04,08,12;
So würde ich es gerne machen, doch der Code lässt sich nicht übersetzen.
Code:
test.test0[1,1] := 01;
Code:
FUNCTION_BLOCK FB60
VAR_TEMP
// temporäre Variablen
END_VAR
VAR
// statische Variablen
test : STRUCT
test0 : ARRAY[1..4,1..3] OF INT;
END_STRUCT;
END_VAR
// Anweisungsteil
BEGIN
test.test0[1,1] := 01;
test.test0[2,1] := 02;
test.test0[3,1] := 03;
test.test0[4,1] := 04;
test.test0[1,2] := 05;
test.test0[2,2] := 06;
test.test0[3,2] := 07;
test.test0[4,2] := 08;
test.test0[1,3] := 09;
test.test0[2,3] := 10;
test.test0[3,3] := 11;
test.test0[4,3] := 12;
END_FUNCTION_BLOCK
DATA_BLOCK DB60 FB60
//
// Baustein-Kommentar ...
//
BEGIN
END_DATA_BLOCK
Vielen Dank
MFG
sinumerik.user