-> Hier kostenlos registrieren
Guten Morgen,
habe mal wieder zwei Fragen -.-
1. Frage
Ich habe ein Array of Struct
str_Spannung besteht aus
und anstatt die Werte wie folgt zuzuweisen
arr_Spannung[1].rl_Spannung1:=230.0;
|| .rl_Spannung2:=240.0;
|| .rl_Spannung3:=235.0;
würde ich es gerne in einer Schleife oder so machen. Ist das möglich?
Ein "normales" Array of INT z.B. kann ich ja einfach beim Instanzieren schon füllen
arr1: ARRAY[1..3] OF INT :=1,5,9;
2. Frage
Ich nutze hier mal das Beispiel aus Frage 1.
Ich habe einen FB
Nun meine Frage, wie kann ich mit dem Array aus Frage 1 diesen FB aufrufen ohne für
jede Spannung einen eigenen Aufruf zu schreiben?
Also nicht so
Nun würde ich das selbe für .rl_Spannung2 und .rl_Spannung 3 schreiben -.-
So ist das aber ziehmlich bescheiden, finde ich. Deshalb eben die Frage ob
man das auch mit einer Schleife oder wie auch immer anders lösen kann?
MfG
Bone
habe mal wieder zwei Fragen -.-
1. Frage
Ich habe ein Array of Struct
Code:
arr_Spannung: ARRAY[1..1] OF str_Spannung;
Code:
rl_Spannung1: REAL;
rl_Spannung2: REAL;
rl_Spannung3: REAL;
arr_Spannung[1].rl_Spannung1:=230.0;
|| .rl_Spannung2:=240.0;
|| .rl_Spannung3:=235.0;
würde ich es gerne in einer Schleife oder so machen. Ist das möglich?
Ein "normales" Array of INT z.B. kann ich ja einfach beim Instanzieren schon füllen
arr1: ARRAY[1..3] OF INT :=1,5,9;
2. Frage
Ich nutze hier mal das Beispiel aus Frage 1.
Ich habe einen FB
Code:
FUNCTION_BLOCK FB_MELDUNG
VAR_INPUT
rl_Spannung: REAL;
END_VAR
VAR_OUTPUT
x_Meldung: BOOL;
st_Meldung: STRING;
END_VAR
---------------------------------
IF rl_Spannung > 240 THEN
x_Meldung:=FALSE;
st_Meldung:='Spannung zu hoch!';
ELSE
x_Meldung:=TRUE;
END_IF
jede Spannung einen eigenen Aufruf zu schreiben?
Also nicht so
Code:
PLC_PRG
VAR
Meldung: FB_MELDUNG;
arr_Spannung: ARRAY[1..1] OF str_Spannung; (*Aus Frage 1*)
x_Var : BOOL;
st_Var : STRING;
END_VAR
-----------------------------------
Meldung(rl_Spannung:=arr_Spannung[1].rl_Spannung1);
x_Var:=Meldung.x_Meldung;
st_Var:=Meldung.st_Meldung;
So ist das aber ziehmlich bescheiden, finde ich. Deshalb eben die Frage ob
man das auch mit einer Schleife oder wie auch immer anders lösen kann?
MfG
Bone