-> Hier kostenlos registrieren
Hallo zusammen!
Habe gestern einen kleinen Rechner in Simatic programmiert und wollte in austesten!
Doch leider weiß ich nicht wie ich Rechenzeichen (+,-,*,/) in die Variablentabelle schreiben kann!
Bin mit SCL noch nicht ganz vertraut darum nur ein kleines Programm!
1.zu meinem Programm FB1:
FUNCTION_BLOCK FB1
VAR_INPUT
//Eingangsvariablen
Operant1: INT;
Operant2: INT;
Operator: CHAR;
END_VAR
VAR_OUTPUT
//Ausgangsvariablen
Ergebnis: INT;
END_VAR
VAR_TEMP
// temporäre Variablen
END_VAR
VAR
// statische Variablen
END_VAR
// Anweisungsteil
BEGIN
IF Operator= '+' THEN Ergebnis:= Operant1 + Operant2;
ELSIF Operator= '-' THEN Ergebnis:= Operant1 - Operant2;
ELSIF Operator= '*' THEN Ergebnis:= Operant1 * Operant2;
ELSIF Operator= '/' THEN Ergebnis:= Operant1 / Operant2;
ELSE Ergebnis:=0;
END_IF;
END_FUNCTION_BLOCK
Wie ich das Programm im OB1 aufrufe, ist kein Problem.
Danke im Voraus
Habe gestern einen kleinen Rechner in Simatic programmiert und wollte in austesten!
Doch leider weiß ich nicht wie ich Rechenzeichen (+,-,*,/) in die Variablentabelle schreiben kann!
Bin mit SCL noch nicht ganz vertraut darum nur ein kleines Programm!

1.zu meinem Programm FB1:
FUNCTION_BLOCK FB1
VAR_INPUT
//Eingangsvariablen
Operant1: INT;
Operant2: INT;
Operator: CHAR;
END_VAR
VAR_OUTPUT
//Ausgangsvariablen
Ergebnis: INT;
END_VAR
VAR_TEMP
// temporäre Variablen
END_VAR
VAR
// statische Variablen
END_VAR
// Anweisungsteil
BEGIN
IF Operator= '+' THEN Ergebnis:= Operant1 + Operant2;
ELSIF Operator= '-' THEN Ergebnis:= Operant1 - Operant2;
ELSIF Operator= '*' THEN Ergebnis:= Operant1 * Operant2;
ELSIF Operator= '/' THEN Ergebnis:= Operant1 / Operant2;
ELSE Ergebnis:=0;
END_IF;
END_FUNCTION_BLOCK
Wie ich das Programm im OB1 aufrufe, ist kein Problem.
Danke im Voraus