西门子博图功能指令(反序列化)

西门子博客功能指令—序列化

  • 功能描述
  • 程序举例
  • 仿真测试效果
  • 源程序

功能描述

       反序列化和序列化的功能刚好相反。反序列化功能主要:反向转换 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块内的数据要和序列化前的数据结构保持一致。防止数据出现丢失。

序列化前的数据结构

西门子博图功能指令(反序列化)_第1张图片

反序列化后的数据结构

西门子博图功能指令(反序列化)_第2张图片
2.在FB块中添加程序。其中序列化功能块的POS和Ret_Val接口参数可以在FB的Static中添加。

西门子博图功能指令(反序列化)_第3张图片

仿真测试效果

西门子博图功能指令(反序列化)_第4张图片
数据仿真对比
西门子博图功能指令(反序列化)_第5张图片

源程序

博图版本为V15

你可能感兴趣的:(PLC,反序列化,博图功能指令)