====== Creating a Function Without Input Parameters (ST) ======
In Mervis IDE, it is fully supported to define a function in Structured Text (ST) that does not require any input parameters (i.e., it has no ''VAR_INPUT'' section).
This is useful for functions that return constant values, system states, or perform actions based on global variables/internal logic rather than arguments.
===== Syntax Example =====
If you attempt to skip the ''VAR_INPUT'' section, you must ensure your ''VAR_OUTPUT'' or local variables immediately follow the function declaration.
FUNCTION MyFunction : REAL
VAR_OUTPUT
outVal : REAL;
END_VAR
// Logic
outVal := 5.0;
END_FUNCTION
===== Common Error =====
Users often encounter the error: ''In function declaration no viable alternative at input "VAR_OUTPUT"''.
This usually happens if the structure of the variable declaration block is malformed. Ensure that you declare the function return type (e.g., '': REAL'') correctly before starting the ''VAR_OUTPUT'' block.
===== Usage Example =====
**Declaration:**
FUNCTION GetPi : REAL
VAR_OUTPUT
val : REAL;
END_VAR
val := 3.14159;
END_FUNCTION
**Calling the function:**
Since there are no inputs, you can call the function with empty parentheses or simply by name, depending on the context:
PROGRAM Main
VAR
piValue : REAL;
END_VAR
piValue := GetPi();
END_PROGRAM