-> Hier kostenlos registrieren
Hallo,
heute ein neuer Tag und neue Problemchen.
Da ich mich erst seit ein paar Tagen mit SCL beschäftige gibt es tausende von Fragen.
Ein davon ist.Warum geht die CPU mit der Fehlermeldung in Stop ,wenn ich folgendes Programmiere:
FUNCTION_BLOCK FB100
VAR_TEMP
// temporäre Variablen
END_VAR
VAR
Fuellstand:int; // statische Variablen
i:INT;
j:INT;
END_VAR
VAR_OUTPUT
Akt_Fuellstand:INT;
END_VAR
BEGIN
FOR i:= 0 TO 20 BY 2 DO // Abfrage ob in Absetzplätzen 1 bis 10 eine "1" steht
IF DB10.DW=1 THEN Fuellstand:=i;
END_IF;
END_FOR;
FOR j:=0 TO 20 BY 2 DO // Abfrage ob Absetzplätze leer sind
IF DB10.DW[j]=1 THEN EXIT;
ELSE Fuellstand:=0;
END_IF;
END_FOR;
Akt_Fuellstand:=Fuellstand;// Ausgabe des Kammerfüllstandes
END_FUNCTION_BLOCK
Wenn ich nur die erste Schleife verwende,funktioniert das.Füge ich die zweite ein,geht alles auf stop.WARUM??????????
Danke
Gruß Gerold
heute ein neuer Tag und neue Problemchen.
Da ich mich erst seit ein paar Tagen mit SCL beschäftige gibt es tausende von Fragen.
Ein davon ist.Warum geht die CPU mit der Fehlermeldung in Stop ,wenn ich folgendes Programmiere:
FUNCTION_BLOCK FB100
VAR_TEMP
// temporäre Variablen
END_VAR
VAR
Fuellstand:int; // statische Variablen
i:INT;
j:INT;
END_VAR
VAR_OUTPUT
Akt_Fuellstand:INT;
END_VAR
BEGIN
FOR i:= 0 TO 20 BY 2 DO // Abfrage ob in Absetzplätzen 1 bis 10 eine "1" steht
IF DB10.DW=1 THEN Fuellstand:=i;
END_IF;
END_FOR;
FOR j:=0 TO 20 BY 2 DO // Abfrage ob Absetzplätze leer sind
IF DB10.DW[j]=1 THEN EXIT;
ELSE Fuellstand:=0;
END_IF;
END_FOR;
Akt_Fuellstand:=Fuellstand;// Ausgabe des Kammerfüllstandes
END_FUNCTION_BLOCK
Wenn ich nur die erste Schleife verwende,funktioniert das.Füge ich die zweite ein,geht alles auf stop.WARUM??????????
Danke
Gruß Gerold