SerializeOut

PLCopen motion icon

 Function - Copy the value of a variable to a binary frame.

Inputs

Input

Data Type

Range

Unit

Default

Description

En

BOOL

0, 1

N/A

No default

Execute the function.

Frame[ ]

USINT

0,+65535

N/A

N/A

  • Destination buffer.
  • Must be an array.

Data

ANY(*)

No range

N/A

No default

Source variable to be copied.

Pos

DINT

0,+65535

N/A

N/A

Position in the destination buffer.

BigEndian

BOOL

0, 1

N/A

No default

TRUE if the frame is encoded with Big Endian format.

(*) DATA cannot be a STRING.

Outputs

Output

Data Type

Range

Unit

Description

OK

BOOL

 

N/A

Returns TRUE when the function successfully executes.

See Function - General Rules.

NextPos

DINT

 

N/A

  • Position in the destination buffer after the copied data.
  • 0 (zero) in case of error (e.g., invalid position or buffer size).

Remarks

  • Used to build a communication frame in binary format.
  • This function cannot be used to serialize STRING variables.
  • The FRAME input must be an array large enough to receive the data.
    • If the data cannot be safely copied to the destination buffer, the function returns 0 (zero).
  • The function returns the position in the destination frame after the copied data.
    • The return value can be used as a position for the next serialization.

This function copies these number of bytes to the destination frame:

Bytes Description

1 byte

BOOL, BYTE, SINT, and USINT variables.

2 bytes

INT, UINT, and WORD variables.

4 bytes

DINT, DWORD, REAL, and UDINT variables.

8 bytes

LINT and LREAL variables.

FBD Language Example

FFLD Language Example

  • In the FFLD Language, the operation is executed only if the input rung (EN) is TRUE.
    • The output rung (ENO) keeps the same value as the input rung.

IL Language Example

Not available.

ST Language Example

Q := SERIALIZEOUT (FRAME, DATA, POS, BIGENDIAN);

See Also

SerializeIn