Assignment Statement

Help Contents


The IEC 61131-3 ST assignment statement assigns the value of an expression to a variable. The assignment statement uses this syntax:

variable-reference := expression;


String Assignment

If a string value is too long to fit a Variable Reference, a runtime error is reported.

If you need to truncate a string to fit a Variable Reference, use the LEFT() Function to limit the string length. For example:

StringVariable := LEFT( LongString, 254 );

Note: Before Fernhill SCADA Version 3.81, no runtime error was reported if a string was truncated during variable assignment.


  1. Assignment of a constant to a variable:
    A := 12.5;
  2. Assign a value to an element of an Array:
    C[0] := -12;
  3. Assign members of a Struct:
    Position.Angle := ATAN2( Y, X );
    Position.Distance = SQRT( X * X + Y * Y );
  4. Assign one Struct to another:
    PreviousPosition := Position

The above examples use these Variable Declarations:

    PolarCoordinates : STRUCT
        Angle : LREAL;
        Distance : LREAL;
    A : LREAL;
    X, Y : LREAL;
    C : ARRAY [0..5] OF INT;
    NewPosition, PreviousPosition : PolarCoordinates;

Standards Compliance

IEC 61131-3 Second Edition: Table 56.1.

IEC 61131-3 Third Edition: Table 72.1.

Further Information

Structured Text

For other Structured Text (ST) statement types.

Variable Reference

To learn about variable references that can be used on the left of the := assignment operator.


To learn about expressions that can be used on the right of the := assignment operator.


For the meaning of terms used in Fernhill SCADA.