USING System.Serialization;
FUNCTION SerDe_Demo
VAR_TEMP
t : ARRAY[0..1] OF BYTE;
roundtrippedINT : INT;
END_VAR
Serialize(UINT#0, UINT#16#1234, t);
Deserialize(UINT#0, t, roundtrippedINT);
END_FUNCTION
Note
- By default, the Serialize and Deserialize functions use little endianness. The endianness can be specified/changed by passing an additional argument to the
SerializeandDeserializefunctions or by using the SerializeLittle/DeserializeLittle or SerializeBig/DeserializeBig functions, respectively. - Index of parameter
bufferarray should start from 0, likeARRAY[0..7] OF BYTE.
USING System.Serialization;
FUNCTION SerDe_Demo
VAR_TEMP
t : ARRAY[0..1] OF BYTE;
roundtrippedINT : INT;
END_VAR
// serialization/deserialization using big endianness:
Serialize(UINT#0, UINT#16#1234, t, Endianness#Big);
Deserialize(UINT#0, t, roundtrippedINT, Endianness#Big);
// alternative for serialization/deserialization using big endianness:
SerializeBig(UINT#0, UINT#16#1234, t);
DeserializeBig(UINT#0, t, roundtrippedINT);
// use INT offset
SerializeBig(0, UINT#16#1234, t);
DeserializeBig(0, t, roundtrippedINT);
END_FUNCTION