功能描述
反序列化和序列化的功能刚好相反。反序列化功能主要:反向转换 PLC 数据类型 (UDT)、STRUCT 或 ARRAY of <数据类型> 的顺序表示并填充所有内容。
该指令可以逐步将已转换数据的多个顺序表示转换回原始状态。
如果只想转换回 PLC 数据类型 (UDT)、STRUCT 或 ARRAY of <数据类型> 的单个顺序表示,则还可以直接使用指令“TRCV:通过通信连接接收数据”。
接口参数
参数 | 声明 | 数据类型 | 存储区 | 说明 |
---|---|---|---|---|
EN | Input | BOOL | I、Q、M、D、L 或常量 | 使能输入 |
ENO | Output | BOOL | I、Q、M、D、L | 使能输出 |
SRC_ARRAY | Input | VARIANT | D、FB 的块接口 | ARRAY of BYTE 数据类型的变量 用于存储生成的数据流 |
DEST_VARIABLE | InOut | VARIANT | D、FB 的块接口(可在 Input、Output、Static 和 Temp 部分中。) | 存储转换后 PLC 数据类型 (UDT) STRUCT ARRAY of <数据类型> 的变量 |
POS | InOut | DINT | I、Q、M、D、L | POS 参数处的操作数 将根据已转换客户数据所占用的总字节数 存储第一个字节的下标 POS 参数将从 0 开始计算 |
RET_VAL | Output | INT | I、Q、M、D、L | 错误信息 |
程序举例
1.新建DB块,作为保存反序列化后的数据。注意此DB块内的数据要和序列化前的数据结构保持一致。防止数据出现丢失。
2.在FB块中添加程序。其中序列化功能块的POS和Ret_Val接口参数可以在FB的Static中添加。
仿真测试效果
数据仿真对比
源程序
博图版本为V15