哪些系统功能块可以拷贝数据,它们有什么区别?


n

组态注意事项:
下表描述了这些系统功能块的主要特性和区别。可以在应用中选择正确的系统功能块。此处介绍了如下系统功能块:n

  1. SFC20 "BLKMOV"n
  2. SFC81 "UBLKMOV"n
  3. SFC83 "READ_DBL"n
  4. SFC84 "WRIT_DBL"

系统功能块描述:

  1. 系统功能块 SFC20:
属性 SFC20
名称: "BLKMOV"
(块移动)
描述: 拷贝源存储器的值(源区域)至目的存储器(目的区域)
允许的源区域: 在主存储器的数据块: n

  • M 区域n
  • 输入过程映像区n
  • 输出过程映像区

如果CPU 不支持 SFC83,但是如果 DB 被编译为“UNLINKED”,数据也可以被存储在装载存储器中。

允许的目的区域:在主存储器的数据块: n

  • M 区域n
  • 输入过程映像区n
  • 输出过程映像区
使用MMC (Micro Memory Card)作为装载存储器: 无法读取也不需要装载存储器
可拷贝的最大数据量: 依赖于 CPU 的限制。
其它操作是否可中断拷贝过程:
数据一致性: 为了保证数据一致性,如果操作系统被中断(执行循环中断),不要更改目标区域。
过程: 同步,例如在 SFC 调用结束后,拷贝过程终止
注意事项: 本地数据块(源及目的区域)也可被拷贝
  1. 系统功能块 SFC81:
属性 SFC81
名称: “UBLKMOV”
(非中断块移动)
描述: 一致性拷贝源存储器的值(源区域)至目的存储器(目的区域)
允许的源区域: 在主存储器的数据块: n

  • M 区域n
  • 输入过程映像区n
  • 输出过程映像区
允许的目的区域: 在主存储器的数据块: n

  • M 区域n
  • 输入过程映像区n
  • 输出过程映像区
使用MMC (Micro Memory Card)作为装载存储器: 不需要装载存储器
可拷贝的最大数据量: 依赖于 CPU 的限制,最大512 字节
其它操作是否可中断拷贝过程: 否(增加了报警响应时间)
数据一致性:
过程: 同步,例如在 SFC 调用结束后,拷贝过程终止。
注意事项: 本地数据块(源及目的区域)也可被拷贝。
  1. 系统功能块 SFC83:
属性 SFC83
名称: “READ_DBL”
(读取装载存储器中的数据块)
描述: 将装载存储器数据块的值拷贝至主存储器的数据块中。
允许的源区域: 装载存储器中的数据块
允许的目的区域: 主存储器中的数据块
使用MMC (Micro Memory Card)作为装载存储器: 读取装载存储器
可拷贝的最大数据量: 依赖于 CPU 的限制
其它操作是否可中断拷贝过程:
数据一致性: 为了保证数据一致性,在SFC83执行过程当中(例如只要参数“BUSY”为 TRUE 时),不可以改变目的区域
过程: 异步,例如,操作过程需要数个 SFC 调用或OB1 周期
  1. 系统功能块 SFC84:
属性 SFC84
名称: “WRIT_DBL”
(写装载存储器中的数据块)
描述: 将主存储器数据块的值拷贝至装载存储器的数据块中。
允许的源区域: 主存储器中的数据块
允许的目的区域: 装载存储器中的数据块
使用MMC (Micro Memory Card)作为装载存储器: 写装载存储器
可拷贝的最大数据量: 依赖于 CPU 的限制
其它操作是否可中断拷贝过程:
数据一致性: 为了保证数据一致性,在 SFC84 执行过程当中(例如当参数“BUSY”为 TRUE 时),不可以改变目的区域
过程: 异步,例如,操作过程需要数个 SFC 调用或 OB1 周期
注意事项: 由于 MMC 写操作的次数有限,SFC84 不适合于频繁(或周期性)向装载存储器写变量。

表格解释:

  • “装载存储器中的数据块”:
    与运行不相关的数据块(被“UNLINKED”编译过的数据块)。
  • “在主存储器中的数据块”:
    与运行相关的数据块
  • 在拷贝之前,源区域及目的区域必须为可用的。
  • “依赖于 CPU 的限制”:
    该限制涉及到CPU模板特定的数据块的最大容量,可以参考CPU手册中的技术参数。同理,ANY类型的指针的最大长度同被传送的数据区域一样受限。

注意:
更多的信息可以参考如下FAQ:

  • “How can the program runtime be optimized if the main memory of the CPU is too small for the runtime-relevant STEP 7 program?”
    条目号:19413912
  • “How can the data from an I/O module be copied to a target field with the SFC20 and the parameterization of the ANY pointer?”
    条目号:22783999
  • “How can you copy whole data areas and what should you watch out for when writing a variable of the STRING type to a data block?”
    条目号: 12423713

关键词:
SFC 比较,数据传输

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc336436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论