-> Hier kostenlos registrieren
Hallo,
kann mir mal jemand sagen was ich alles falsch gemacht habe? x)
Ich möchte ein 2D-Array als DB115 anlegen. Zum Befüllen, Anfahren etc benötige ich bestimmte Werte, welche im FB15 ermittelt werden sollen. Leider habe ich noch sehr wenig Ahnung vom Programmieren in SCL. Ich dachte mir das wie folgt:
DATA_BLOCK DB115
Belegung : ARRAY [1 .. 7, 1 .. 7 ,1 .. 7, 1 .. 7] OF BOOL ;
BEGIN
END_DATA_BLOCK
FUNCTION_BLOCK fb15
VAR
END_VAR
LABEL
M1;
END_LABEL
VAR_OUTPUT
i:INT:=1;
j:INT:=1;
Zeins:INT;
Zzwei:INT;
END_VAR;
WHILE i<4 DO
j:=1;
WHILE j<8 DO
IF Belegung[i,j]=false THEN
Zzwei:=i+1;
CASE j OF
1: Zeins:=1;
2: Zeins:=2;
3: Zeins:=3;
4: Zeins:=4;
5: Zeins:=5;
6: Zeins:=6;
7: Zeins:=9;
8: Zeins:=10;
END_CASE;
GOTO M1;
END_IF;
j:=j+1;
END_WHILE;
i:=i+1;
END_WHILE;
M1: ;
END_FUNCTION_BLOCK
Vielen Dank schon mal!
kann mir mal jemand sagen was ich alles falsch gemacht habe? x)
Ich möchte ein 2D-Array als DB115 anlegen. Zum Befüllen, Anfahren etc benötige ich bestimmte Werte, welche im FB15 ermittelt werden sollen. Leider habe ich noch sehr wenig Ahnung vom Programmieren in SCL. Ich dachte mir das wie folgt:
DATA_BLOCK DB115
Belegung : ARRAY [1 .. 7, 1 .. 7 ,1 .. 7, 1 .. 7] OF BOOL ;
BEGIN
END_DATA_BLOCK
FUNCTION_BLOCK fb15
VAR
END_VAR
LABEL
M1;
END_LABEL
VAR_OUTPUT
i:INT:=1;
j:INT:=1;
Zeins:INT;
Zzwei:INT;
END_VAR;
WHILE i<4 DO
j:=1;
WHILE j<8 DO
IF Belegung[i,j]=false THEN
Zzwei:=i+1;
CASE j OF
1: Zeins:=1;
2: Zeins:=2;
3: Zeins:=3;
4: Zeins:=4;
5: Zeins:=5;
6: Zeins:=6;
7: Zeins:=9;
8: Zeins:=10;
END_CASE;
GOTO M1;
END_IF;
j:=j+1;
END_WHILE;
i:=i+1;
END_WHILE;
M1: ;
END_FUNCTION_BLOCK
Vielen Dank schon mal!