Software Manual Owner manual

SimplIQ Software Manual 4BThe SimplIQ User Programming Language
MAN-SIMSW (Ver. 1.4)
5-10
Examples:
a = AC
This expression assigns a value of the system command AC to the variable
a
. It
is valid if the AC command is allowed to “get a value”; that is, it has a
PreProcess flag.
AC = a
This expression assigns a value of the variable
a
to the system command AC. It
is valid if the AC command is allowed to “set a value”; that is, it has a
PostProcess flag.
BG
This is an executable command. It cannot be assigned; that is, it has no
PreProcess, PostProcess or Assign flag. For example, the expressions
BG = 1
and
a = BG
are illegal.
LS
This expression is illegal because it uses a command that has a NotProgram flag.
Such commands are not allowed in a user program, although they are available
for use in the Interpreter language.
5.4.8.6 Built-in Function Calls
The description and syntax is the same as for the Interpreter language (refer to
section
4.2.6.4).
5.4.8.7 User Function Calls
Functions perform a pre-written and compiled code. They get a list of arguments from their
caller and return a list of return values. Functions get their list of input arguments by value;
they do not modify them directly. The general syntax of a function call is:
[OUT1,OUT2,…OUTN]=FUNC(IN1,IN2,…IN_N)
If only one value is returned, brackets are not required and the syntax is as follows:
OUT=FUNC(IN_1,…,IN_N)
Not all output variables must be assigned. For example, if the function FUNC returns two
values, then
[IA[1],IA[2]]=FUNC()
assigns the two returned values to
IA[1]
and
IA[2]
.
IA[1]=FUNC()
returns the first return value to
IA[1]
and the other returned values remain
unused. If the returned value type differs from the returned variable type, the result is a
type cast to the type of the variable.
The number of input arguments during a function call is strictly according to its definition.
If a function call is part of an expression, then multiple output of the function is illegal. For
example:
[a, b] = 5 + func(c)
and
[a, b] = func(c) + 5
are both illegal because a function call is part of an expression and must be evaluated in a
single value (refer to section
5.4.8.7).