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

article/2025/8/29 23:35:16

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

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

功能描述

       反序列化和序列化的功能刚好相反。反序列化功能主要:反向转换 PLC 数据类型 (UDT)、STRUCT 或 ARRAY of <数据类型> 的顺序表示并填充所有内容。

       该指令可以逐步将已转换数据的多个顺序表示转换回原始状态。
如果只想转换回 PLC 数据类型 (UDT)、STRUCT 或 ARRAY of <数据类型> 的单个顺序表示,则还可以直接使用指令“TRCV:通过通信连接接收数据”。

接口参数

参数声明数据类型存储区说明
ENInputBOOLI、Q、M、D、L 或常量使能输入
ENOOutputBOOLI、Q、M、D、L使能输出
SRC_ARRAYInputVARIANTD、FB 的块接口ARRAY of BYTE 数据类型的变量
用于存储生成的数据流
DEST_VARIABLEInOutVARIANTD、FB 的块接口(可在 Input、Output、Static 和 Temp 部分中。)存储转换后 PLC 数据类型
(UDT)
STRUCT
ARRAY of <数据类型>
的变量
POSInOutDINTI、Q、M、D、LPOS 参数处的操作数
将根据已转换客户数据所占用的总字节数
存储第一个字节的下标
POS 参数将从 0 开始计算
RET_VALOutputINTI、Q、M、D、L错误信息

程序举例

1.新建DB块,作为保存反序列化后的数据。注意此DB块内的数据要和序列化前的数据结构保持一致。防止数据出现丢失。

序列化前的数据结构

 序列化前的数据结构

反序列化后的数据结构

在这里插入图片描述
2.在FB块中添加程序。其中序列化功能块的POS和Ret_Val接口参数可以在FB的Static中添加。

在这里插入图片描述

仿真测试效果

在这里插入图片描述
数据仿真对比
在这里插入图片描述

源程序

博图版本为V15


http://chatgpt.dhexx.cn/article/Zemirwn3.shtml

相关文章

js的序列化和反序列化

js的序列化&#xff08;即js中的object转化为字符串&#xff09; ① 使用toJSONStringvar last obj.toJSONString(); // 将JSON对象转化为JSON字符串 ② 使用stringifyvar last JSON.stringify(obj); // 将JSON对象转化为JSON字符串js的反序列化&#xff08;即js中JSON字…

@responseBody + 序列化

为什么转载responseBody这个注解的博客呢&#xff1f;因为我在看序列化的时候&#xff0c;就在考虑&#xff0c;Spring中使用responseBody的Json序列化&#xff0c;为啥不用最常用的Serializable序列化呢&#xff1f;直接转换为二进制流不好吗&#xff1f;&#xff1f;&#xf…

Django序列化器

一、序列化器作用 1、数据格式转换&#xff1a; 序列化&#xff1a; 对象 -> 字典 反序列化&#xff1a; 字典 -> 对象&#xff08;OrderedDict&#xff09; 2、校验参数合法性&#xff1b; 3、保存和修改数据&#xff1b; 二、定义序列化器 通过继承rest_framework.seri…

Qt知识点梳理 —— 自定义数据结构序列化与反序列化

文章目录 定义 Qt中序列化与反序列化 序列化&#xff1a; 反序列化&#xff1a; 自定义数据结构序列化与反序列化 项目结构 数据结构信息 执行效果 项目源码 开发环境 定义 序列化&#xff1a;将对象或数据结构转换为二进制序列 反序列化&#xff1a;二进制序列转换…

序列化作用

没有implements Serializable&#xff0c;你就不能通过rmi(包括ejb)提供远程调用。 serialization 允许你将实现了Serializable接口的对象转换为字节序列&#xff0c;这些字节序列可以被完全存储以备以后重新生成原来的对象。 serialization不但可以在本机做&#…

PHP反序列化

定义 序列化&#xff08;串行化&#xff09;&#xff1a;是将变量转换为可保存或传输的字符串的过程&#xff1b; 反序列化&#xff08;反串行化&#xff09;&#xff1a;就是在适当的时候把这个字符串再转化成原来的变量使用&#xff1b; 这两个过程结合起来&#xff0c;可以轻…

Spark序列化简介

参考文章&#xff1a;Spark序列化 spark之kryo 序列化 Spark序列化入门 1. 什么是序列化和序列化? 序列化是什么 序列化的作用就是可以将对象的内容变成二进制, 存入文件中保存反序列化指的是将保存下来的二进制对象数据恢复成对象 序列化对对象的要求 对象必须实现 Serial…

谈谈序列化的作用

文章目录 1. 写在前面2. 问题阐述3. 解释3.1 一些不够完整的解释3.2 一种完整的解释3.2.1 去地址3.2.2 节省空间 4. 小节参考链接 1. 写在前面 我们应该都用过各种序列化&#xff08;serialization&#xff09;的方法&#xff08;如Python中的pickle.dumps&#xff09;&#x…

Java 之 Serializable 序列化和反序列化的概念,作用的通俗易懂的解释

遇到这个 Java Serializable 序列化这个接口&#xff0c;我们可能会有如下的问题 a&#xff0c;什么叫序列化和反序列化 b&#xff0c;作用。为啥要实现这个 Serializable 接口&#xff0c;也就是为啥要序列化 c&#xff0c;serialVersionUID 这个的值到底是在怎么设置的&#…

cas 原理分析

CAS 原理分析 1、了解java中锁的类型 1.1 悲观锁(Pessimistic Lock) 顾名思义&#xff0c;就是很悲观&#xff0c;假定会发生并发冲突&#xff0c;屏蔽一切可能违反数据完整性的操作&#xff0c;每次去拿数据的时候都认为别人会修改&#xff0c;所以每次在拿数据的时候都会上…

JAVA中的CAS算法

java 中的线程之间的栈空间是相互独立&#xff0c;堆空间是共享的 V&#xff1a;内存值就是主内存中i值 A&#xff1a;预估值(期望值)就是子线程拿到主内存的值&#xff08;读取到高速缓存中的值&#xff09; B&#xff1a;更新值是子线程拿到i值后,修改i的值 假设有两个线程…

面试:CAS算法原理

1、什么是CAS&#xff1f; CAS&#xff1a;Compare and Swap&#xff0c;即比较再交换。 jdk5增加了并发包java.util.concurrent.*&#xff0c;其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的&#x…

CAS原理详解

CAS介绍 CAS全称是Compare And Swap&#xff0c;它的实现和它的字面意思一样&#xff0c;先比较后交换&#xff0c;它是CPU硬件层面的一种指令&#xff0c;从CPU层面能保证"比较并更新"这一段操作的原子性。 与synchronized关键字比较不同是synchronized是一种悲观锁…

CAS算法与ABA问题

锁是用来做并发最简单的方式&#xff0c;当然代价也是最高的。 独占锁是一种悲观锁&#xff0c;synchronized就是一种独占锁&#xff1b;它假设最坏的情况&#xff0c;并且只有在确保其它线程不会造成干扰的情况下执行&#xff0c;会导致其它所有需要锁的线程挂起直到持有锁的…

CAS算法-实现原理

目录 CAS是什么&#xff1f; CAS解决了什么问题&#xff1f; CAS存在什么问题&#xff1f; CAS有哪些应用场景&#xff1f; cas的实现 最后 CAS是什么&#xff1f; CAS的全称为Compare and swap 比较并交换。CAS又经常被称为乐观锁&#xff0c;主要的三个变量&#xff0c;内存值…

并发策略-CAS算法

对于并发控制而言&#xff0c;我们平时用的锁&#xff08;synchronized&#xff0c;Lock&#xff09;是一种悲观的策略。它总是假设每一次临界区操作会产生冲突&#xff0c;因此&#xff0c;必须对每次操作都小心翼翼。如果多个线程同时访问临界区资源&#xff0c;就宁可牺牲性…

深入理解CAS算法原理

转载自 深入理解CAS算法原理 1、什么是CAS&#xff1f; CAS&#xff1a;Compare and Swap&#xff0c;即比较再交换。 jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证…

CAS操作原理

1、什么是CAS&#xff1f; CAS&#xff1a;Compare and Swap&#xff0c;即比较再交换。 jdk5增加了并发包java.util.concurrent.*,其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的&#xff0c;这是一…

CAS原理

一、CAS 1.1 CAS概述和作用 CAS的全称是&#xff1a; Compare And Swap(比较相同再交换)。是现代CPU广泛支持的一种对内存中的共享数据进行操作的一种特殊指令。 CAS的作用&#xff1a;CAS可以将比较和交换转换为原子操作&#xff0c;这个原子操作直接由CPU保证。 CAS可以保证…

CAS算法详解

CAS算法 1、CAS概念&#xff1a; CAS是CompareAndSwap的缩写&#xff0c;中文意思是&#xff1a;比较并替换。当要进行CAS操作时&#xff0c;先比较内存地址和原来预期的 地址比较&#xff0c;如果相同&#xff0c;表示这块内存地址没有被修改&#xff0c;可以用新地址替换&…