:=PLCopen motion icon

Operator - variable assignment.

Inputs

IN : ANY Any variable or complex expression

Outputs

Q : ANY  Forced variable

Remarks

The output variable and the input expression must have the same type. The forced variable cannot have the "read only" attribute. In FFLD and FBDClosed "Function block diagram" A function block diagram describes a function between input variables and output variables. A function is described as a set of elementary blocks languages, the "1" block is available to perform a "1 gain" data copy (1 copy). In FFLD language, the input rung (EN) enables the assignment, and the output rung keeps the state of the input rung. In ILClosed "Instruction list" This is a low-level language and resembles assembly language, the FFLD instruction loads the first operand, and the STClosed "Structured text" A high-level language that is block structured and syntactically resembles Pascal instruction stores the current result into a variable. The current result and the operand of ST must have the same type. Both FFLD and ST instructions can be modified by "N" in case of a Boolean operand for performing a Boolean negation.

ST Language

Q := IN; (* copy IN into variable Q *)
Q := (IN1 + (IN2 / IN 3)) * IN4; (* assign the result of a complex expression *)
result := SIN (angle); (* assign a variable with the result of a function *)
time := MyTon.ET; (* assign a variable with an output parameter of a function block *)

FBD Language

1 Fbd

FFLD Language

(* The copy is executed only if EN is TRUE *)
1 FFLD

IL Language:

Op1: FFLD  IN   (* current result is: IN *)
ST  Q    (* Q is: IN *)
FFLDN IN1  (* current result is: NOT (IN1) *)
ST  Q    (* Q is: NOT (IN1) *)
FFLD  IN2  (* current result is: IN2 *)
STN Q    (* Q is: NOT (IN2) *)

See also:

Parenthesis