Test case R0100
Full test suiteDevice test case
Formal call to functions
			This test case it part of the test suite proposed for new devices.
	
	Test case ID: R0100
	Language: ST
	
tests2/t0100.st
(* Function ABSZ : returns absolute value, increments Y in 0.5 and sets XZ = ABSZ+1 *)
FUNCTION ABSZ_R0100 : REAL
VAR_INPUT
    X : REAL;
END_VAR
VAR_IN_OUT
    Y : REAL;
END_VAR
VAR_OUTPUT
    XZ : REAL;
END_VAR
VAR
    i : REAL := 42.0;
END_VAR
    IF( X < 0.0 ) THEN ABSZ_R0100 := -X;
    ELSE ABSZ_R0100 := X;
    END_IF;
    Y  := Y + 0.5;
    XZ := ABSZ_R0100 + 1.0;
    
END_FUNCTION
PROGRAM R0100
VAR
    ZIN,R2,O2,IO1 : REAL;
END_VAR
    IO1 := 2.3;
    ZIN := -1.234;
    R2 := ABSZ_R0100( X := ZIN, Y := IO1, XZ => O2 );       // function return same as informal call
_GEB_ASSERT_EQFLOAT_(IO1 , 2.8);
_GEB_ASSERT_EQFLOAT_(O2 , 2.234);
_GEB_ASSERT_EQFLOAT_(R2 , 1.234);
_GEB_ASSERT_EQFLOAT_(ZIN , -1.234);
    
END_PROGRAM
	


