Attention

IronPLC can only run very simple programs. The steps described are accurate but many language features are not yet supported.

LIMIT

Clamps a value to a specified range.

IEC 61131-3

Section 2.5.1.5.5

Support

Supported

Signatures

#

Input (MN)

Input (IN)

Input (MX)

Return Type

Support

1

SINT

SINT

SINT

SINT

Not yet supported

2

INT

INT

INT

INT

Not yet supported

3

DINT

DINT

DINT

DINT

Supported

4

LINT

LINT

LINT

LINT

Not yet supported

5

USINT

USINT

USINT

USINT

Not yet supported

6

UINT

UINT

UINT

UINT

Not yet supported

7

UDINT

UDINT

UDINT

UDINT

Not yet supported

8

ULINT

ULINT

ULINT

ULINT

Not yet supported

9

REAL

REAL

REAL

REAL

Supported

10

LREAL

LREAL

LREAL

LREAL

Supported

Description

LIMIT(MN, IN, MX) clamps IN to the range [MN, MX]. The function returns:

  • MN if IN < MN

  • MX if IN > MX

  • IN otherwise

The behavior is undefined if MN > MX.

Example

result := LIMIT(0, 50, 100);    (* result = 50 *)
result := LIMIT(0, -10, 100);   (* result = 0 *)
result := LIMIT(0, 200, 100);   (* result = 100 *)

See Also

  • MAX — maximum of two values

  • MIN — minimum of two values

  • SEL — binary selection