Structured Text (ST Language) Specifications
Error Message
Invalid expression
Invalid parameter in FOR loop
declaration
Invalid statement
Invalid variable for Function
output
Missing (
Missing )
Missing :
Missing :=
Missing ;
Missing DO
Missing END_CASE
Missing END_FOR
Missing END_IF
Missing END_REPEAT
Missing END_WHILE
Missing Input Parameter. All
input variables must be set.
158
Cause of error
The numeric equation is ille-
gal. For example, the integer
equation or condition equation
is illegal or has not been spec-
ified in the syntax (IF, WHILE,
REPEAT, FOR, CASE).
A variable with data type other
than INT, DINT, LINT, UINT,
UDINT, or ULINT has been
used for variables in a FOR
statement.
The statement is illegal. E.g.,
The statement (IF, WHILE,
REPEAT, FOR, CASE,
REPEAT) does not contain an
IF, WHILE, REPEAT, FOR,
CASE, or REPEAT in the syn-
tax, respectively.
The specified variable for the
function output is illegal (A
non-boolean (BOOL) variable
or numeral has been specified
as the ENO transfer destina-
tion.)
The call for a data format con-
version instruction or function
does not contain a "(" (open-
ing parenthesis).
The operator parentheses or
the call for a data format con-
version instruction or function
does not contain a ")" (closing
parenthesis) corresponding to
"(" (opening parenthesis).
The integer equation in the
CASE statement is not fol-
lowed by a ":" (colon).
":=" is not included in the
assignment equation.
The statement is not con-
cluded by a ";" (semicolon).
"DO" is not provided in the
FOR or WHILE statement.
"END_CASE" is not provided
at the end of the CASE state-
ment.
"END_FOR" is not provided at
the end of the FOR statement.
"END_IF" is not provided at
the end of the IF statement.
"END_REPEAT" is not pro-
vided at the end of the
REPEAT statement.
"END_WHILE" is not pro-
vided at the end of the WHILE
statement.
The function argument is not
specified or is insufficient.
Example
WHILE DO (*The WHILE statement does not contain a
condition equation*)
X:=X+1;
END_WHILE;
FOR I:=1 TO 100 DO (*I is a WORD type variable*)
X:=X+1;
END_FOR;
X:=X+1; (*There is no REPEAT in the syntax*)
UNTIL X>10
END_REPEAT;
Y:=SIN(X1, ENO=>1);
Y:=INT_TO_DINT X);
Y:=(X1+X2/2
CASE A OF
1 X:=1;
END_CASE;
Y:=EXPT(X);
Appendix B
Need help?
Do you have a question about the CX-PROGRAMMER 5.0-FUNCTION BLOCK OPERATION and is the answer not in the manual?
Questions and answers