Array mehrere Werte gleichzeitig zuweisen

Thruser

Level-2
Beiträge
489
Reaktionspunkte
167
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

gibt es die Möglichkeit unter CoDeSys 2.3 einem Array mehrere Werte gleichzeitig zuzuweisen?

Bei der Intialisierung kann man ja gleich mehrere Werte durch Komma getrennt angeben. Wie kann man das im Code machen?

Konkret habe ich einen Funktionsbaustein mit einem Array als Eingang.
Code:
FUNCTION_BLOCK TSET
VAR_INPUT
DATA: ARRAY [1..4] OF BYTE;
END_VAR

Diesen binde ich wie üblich ein
Code:
VAR
TEST:TSET;
END_VAR

Nun würde ich die Daten gerne gleich in einem Stück zuweisen und nicht einzeln
Code:
TEST.DATA:=1,2,3,4;

TEST();
anstelle von
Code:
TEST.DATA[1]:=1;
TEST.DATA[2]:=2;
TEST.DATA[3]:=3;
TEST.DATA[4]:=4;

TEST();

Das funktioniert leider nicht bei mir. Kennt jemand eine Möglichkeit wie man das machen kann?

Gruß
 
Zuletzt bearbeitet:
wenn du variablen in einem fb von außen manipulieren willst, dann solltest du die entweder als IN oder IN-OUT deklarieren.
 
Hallo,
Vielleicht geht das?
Code:
 TEST(DATA := 1,2,3,4);
Harald
bin erst jetzt dazu gekommen das zu testen.

Funktioniert leider nicht:
Fehler 4012: Unzulässiger Typ für Eingang 'DATA' von 'TSET': Kann '1' nicht in ARRAY [1..4] OF BYTE konvertieren
Fehler 4000: Bezeichner erwartet

Das Komma wird ja als Trenner der verschiedenen Argumente verwendet. So kann der Compiler das einzelne Byte (1) nicht in ein Array mit 4 Byte wandeln. Die 2 nimmt bereits er als weiteres Argument, für daß dann der Bezeichner fehlt.

Gruß
 
Zurück
Oben