PS:

Dein SCL-Programm wird gar nicht übersetzt, da fehlerhaft!

Code:
FUNCTION FC1 : void
VAR_INPUT
  Wert1:INT;
  Wert2:INT;
END_VAR

VAR_OUTPUT
  Ausgabe1:BOOL; 
  Ausgabe2:BOOL;
END_VAR

// Anweisungsteil
BEGIN

  IF Wert1 <= 30 THEN Ausgabe1:=1 ; END_IF;
  IF Wert2 <= 30 THEN Ausgabe2:=0 ; END_IF;

END_FUNCTION
So wird es überhaupt erstmal übersetzt.
Die Ausgänge werden nicht richtig behandelt! Wo werden sie auf den korrespondierenden Wert gebracht?

Also vielleicht so?

Code:
FUNCTION FC1 : void
VAR_INPUT
  Wert1:INT;
  Wert2:INT;
END_VAR

VAR_OUTPUT
  Ausgabe1:BOOL; 
  Ausgabe2:BOOL;
END_VAR

// Anweisungsteil
BEGIN

  IF Wert1 <= 30 THEN 
    Ausgabe1:=1; 
  ELSE 
    Ausgabe1:=0; 
  END_IF;
  
  IF Wert2 <= 30 THEN 
    Ausgabe2:=0; 
  ELSE 
    Ausgabe2:=1; 
  END_IF;

END_FUNCTION
Falls du diese Logic für die Ausgänge wolltest !