Serialize:序列化 (S7-1500) 说明 可以使用“序列化”指令将多个 PLC 数据类型 (UDT)、STRUCT 或 ARRAY of
优化存储区 对固件版本 V4.2 及以上版本的 S7-1200 系列 CPU 和固件版本 V2.0 及以上版本的 S7-1500 系列 CPU,要对较大结构进行序列化,可将存储区声明为优化访问。对于标准存储区,顺序 表示保存不变。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 SRC_VARIA BLE Input 所有数据类型 I、Q、D、FB 的 块接口, 无 I/O 数据 待序列化的变量。 S7-1500: 进行性能优化时,该参数 不能为 VARIANT 指针。 DEST_ARRA Y InOut ARRAY of BYTE 或 ARRAY of CHAR I、Q、D、FB 的 块接口(可在 Input、 Output、Static 和 Temp 部分 中)。 无 I/O 数据 用于存储所生成数据流的 ARRAY。 S7-1500: 进行性能优化时,该参数 不能为 VARIANT 指针。 POS InOut DINT I、Q、M、D、L POS 参数处的操作数,将 根据已转换客户数据所占 用的总字节数,存储第一 个字节的下标。POS 参数 将从 0 开始计算。 RET_VAL Output INT I、Q、M、D、L 错误信息 有关有效数据类型的更多信息,请参见“另请参见”。在程序编辑器中,错误代码可显示为整数或十六进制值。有关切换显式格式的更多信息, 请参见“另请参见”。 固件版本 V2.8 及以上版本中的特殊功能 (S7-1500): 要对“序列化”指令(版本 V2.1)的性能进行优化,参数 SRC_VARIABLE 和 DEST_ARRAY 不能为 VARIANT 指针,而只能使用特定的数据类型。请注意,对指令的错误响应将会因此更改:出错时,CPU 不输出任何错误代码,而是切换为 STOP 模式并生成访问错误。为了避免该错误,可通过指令 "GET_ERROR" 和 "GET_ERR_ID" 进 行本地错误处理。 固件版本 V2.2 及以上版本中的特殊功能 (S7-1200/S7-1500): 使用“序列化”指令(版本 V2.2)时,工艺对象(如,TO_SpeedAxis.Statusword)中的元 素无法再互连输入或输出参数 (SRC_VARIABLE/DEST_ARRAY)。 固件版本 V2.1 及以上版本中的特殊功能 (S7-1200/S7-1500): 在“序列化”指令(版本 V2.1 及以上版本)的优化版本中,由于过程数据的复杂性,需要 比之前版本更多的工作存储器空间。MOVE_BLK:块移动 (S7-1500) 说明 可以使用“移动块”指令将一个存储区(源范围)的数据移动到另一个存储区(目标范围) 中。使用参数 COUNT 可以指定将移动到目标范围中的元素个数。可通过 IN 参数处的元素宽 度来指定待移动元素的宽度。 仅当源范围和目标范围的数据类型相同时,才能执行该指令。 如果复制的数据量超出输入 IN 或输出 OUT 可容纳的量,输出 OUT 的值将无效。 说明 ARRAY 的使用 该指令用于从指定索引开始,将定义元素中 n 个元素(n 取决于参数 COUNT 的值)的内容 从源范围复制到目标范围。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 IN 1) Input 二进制数、整 数、浮点数、定 时器、TOD、 LTOD、DATE、 CHAR、WCHAR D、L 待复制源区域中的首个元 素 COUNT Input USINT、UINT、 UDINT、ULINT I、Q、M、D、 L、P 或常量 要从源范围复制到目标范 围的元素个数 OUT 1) Output 二进制数、整 数、浮点数、定 时器、TOD、 LTOD、DATE、 CHAR、WCHAR D、L 源范围内容要复制到的目 标范围中的首个元素 1) ARRAY 结构中的元素只能使用指定的数据类型。MOVE_BLK_VARIANT:存储区移动 (S7-1500) 说明 可以使用“块移动”指令将一个存储区(源范围)的数据移动到另一个存储区(目标范围) 中。可以将一个完整的 ARRAY 或 ARRAY 的元素复制到另一个相同数据类型的 ARRAY 中。源 ARRAY 和目标 ARRAY 的大小(元素个数)可能会不同。可以复制一个 ARRAY 内的多个或单 个元素。 要复制的元素数量不得超过所选源范围或目标范围。 如果在创建块时使用该指令,则无需确定该 ARRAY,源和目标将使用 VARIANT 进行传输。 无论后期如何声明该 ARRAY,参数 SRC_INDEX 和 DEST_INDEX 始终从下限“0”开始计数。 如果复制的数据多于可用的数据,则不执行该指令。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 SRC Input 2) VARIANT(指向 一个 ARRAY 或一 个 ARRAY 元 素),ARRAY of