• {{item.name}}
SIMATIC S7-1500系列 {{item.name}}
{{item2.name}}
更多
常问问题

在 STEP 7 (TIA Portal) 中如何从一个数据块复制存储区和结构体数据到另一个数据块?

star star star star star
5.0 分
文档编号:42603881| 文档类型:常问问题| 发布时间:2023年10月11日
  • 0
  • 1860
  • 7
对于S7-1200/S7-1500,在STEP7(TIA Portal)中可以使用 "MOVE_BLK", "MOVE", "Serialize" and "Deserialize" 指令复制存储区。

对于S7-1200/S7-1500,在STEP7(TIA Portal)中可以使用 "MOVE_BLK", "MOVE", "Serialize" and "Deserialize" 指令复制存储区。


下面例程示范如何将数据从源数据存储区复制到目标存储区。也可以使用"MOVE"指令复制结构数据,相关信息参考条目ID 78678760.

描述

例1:从一个数据块复制数组变量到另外一个数据块

如果需要从一个数据块复制数据区到另外一个数据块,可以在数据块中创建数组变量。使用数组变量和 "MOVE_BLK"指令,可以实现从一个数据块到另一个数据块的部分移动或者整体移动。 "COUNT"参数定义从源区域移动到目标区域的数据元素数量。

图. 1

图.1  显示了用2个DB变量对 "MOVE_BLK"指令的调用和参数化。

形参 "IN"以DB块数组元素变量"Block.Send[5]"进行参数化。

形参"OUT"以DB块数组元素变量 "Data.Receive[10]"进行参数化。

实参"Control.Count" 中的数值5指明了要拷贝的数据数量

这样就将数据从源数据区 "Block.Send[5]...Block.Send[9]" 复制到目标区域"Data.Receive[10]...Data.Receive[14]"


图. 2

例2:从一个数据块复制结构体数据到另外一个数据块,源数据区和目标数据区存在不同 PLC 数据类型

"Copy"功能将结构体数据从DB块 "Source",变量名为"Variable" (PLC数据类型: "Speed")的区域,复制到 DB块"Target",变量名为"Value" (PLC数据类型"Drive")的数据区域 。两个存储区存在不同的数据类型。

图. 3

图.4显示了 "Copy"功能的内部程序对"Serialize"和"Deserialize"两个指令的调用及参数化。"Serialize"指令可以将PLC数据类型转化成序列表示的数据并且存放到缓冲区"tempStore"。在网络2,"Deserialize“指令用来将缓冲区"tempStore"中存放的序列表示的数据转换成 PLC 数据类型。

图. 4

注意
要满足下列2个要求之一才能使用"Serialize" 和 "Deserialize" 功能。


要求 1:禁用优化的块访问


  1. 在项目树中右键点击功能 "Copy"
  2. 点击 "Properties"
  3. 在右边的列中选择 "Attributes"
  4. 移除“优化块访问”的复选标记

要求 2: 在“Retain”一栏选择“Set in IDB”

  1. 选择一个FB代替FC
  2. 保存数组(“tempstore”)为一个静态变量
  3. 对于数组("tempStore") 在 "Retain"列中选择 "Set in IDB"

例子 3: 从输入模块复制结构数据到DB块
在下面的例子中 (图. 5),输入区域 (IB0, IB1) 和输出区域 (数据块 "DBrange") 定义了PLC数据类型"DataRange"。 输入输出地址有一个更高级的PLC变量,这种将输入输出地址进行结构化编组到更高一级的PLC变量的方式可以使编程更加方便。


  1. 图. 5

使用此方法,您也可以将大于64字节的输入区域复制到数据块中。 对于S7-1200 CPU 需要固件版本V4.1或更高。注意
上述指令可以在 "Basic Instructions" 任务卡中找到:

  • 在 "Move" 文件夹中或者
  • 用鼠标将 "General" 文件夹中的"Empty box"拖放到程序段中。然后将光标移动到空框中的黄色三角形上,打开下拉列表,在下拉列表中选择所需指令。

更多信息
更多信息参考STEP 7 (TIA 博图) 在线帮助。
关于“指针寻址”的主题的信息可参考条目号  42603286.


创建环境
FAQ 中的截图是在 STEP 7 (TIA Portal) V13 SP1 中创建。

您可以前往全球资源库查看此文档:https://support.industry.siemens.com/cs/cn/zh/view/42603881

剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定

0元领课点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。