整个功能块是否真的存储在RETAIN存储器中?

戴维德·鲁特科夫斯基

在CodeSys手册中,我们可以阅读以下内容:

如果将功能块中的局部变量声明为RETAIN,则CODESYS将该功能块的完整实例存储在Retain范围(功能块的所有数据)中;但是,只有声明的RETAIN变量才被这样对待。

但是有人真的测试过吗?我仅使用以下变量创建了一个功能块:

VAR
   Test1:   ARRAY[1..50] OF UINT;   //100 bytes
END_VAR
VAR RETAIN
   Test2:   ARRAY[1..50] OF DINT;   //200 bytes
END_VAR

我的程序仅实现此功能块的一个实例。SIZEOF在运行时使用显示的功能块大小为312字节

现在,如果我右键单击设备,然后转到“设备内存信息”,则“保留数据”的大小仅为203个字节。

如果功能块的完整实例存储在保留范围内,则我希望保留数据的大小与功能块的大小(312字节)相同,但事实并非如此,只有203字节(保留数据)。手册不正确吗?

史考特

我可以说是真的。我需要的第一个项目保留在FB中,在需要许多实例(FB并非“简单”)之后,我的内存不足。一旦我从FB中删除了保留项并链接到一个外部Retained变量,我的问题就消失了。那一天,我得知文档警告了我。

但是我可以说在那种情况下,我正在制定一个解决方案,其中包含大约100个独特而复杂的FB,每个FB都存储一个用户条目。我做了其他几个简单得多的项目,只是让编译器保留了整个FB。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

外部功能如何使用设备存储器中的变量?

来自分类Dev

真的可以在OoOE处理器中对存储器进行重新排序吗?

来自分类Dev

真的可以在OoOE处理器中对存储器进行重新排序吗?

来自分类Dev

在引导加载程序中向/从存储器存储/读取功能指针符号地址

来自分类Dev

C存储器地址中的If语句

来自分类Dev

C存储器地址中的If语句

来自分类Dev

当数据大小较小时,是否需要权衡存储器到存储器的DMA传输?

来自分类Dev

Simulink中存储块的功能

来自分类Dev

快速将字典存储在永久存储器中

来自分类Dev

显示存储在内部存储器中的图像

来自分类Dev

如何从RAM存储器中存储和加载类?

来自分类Dev

读取存储在存储器或内存中的文件

来自分类Dev

如何在ARM ELF文件中查找功能存储器映射?

来自分类Dev

将代码存储为功能块,以便稍后在该范围内执行

来自分类Dev

便携式存储器搜索功能的返回类型

来自分类Dev

C语言中的功能指针存储器说明

来自分类Dev

函数中声明的const变量在堆栈中是否有只读存储器?

来自分类Dev

尝试保存并检查文件是否已保存在内部存储器中

来自分类Dev

存储器地址是否指向信息字节?

来自分类Dev

是否可以监视每个单元存储器的特定过程

来自分类Dev

C#中的内联功能块

来自分类Dev

C中的封闭/功能块

来自分类Dev

C中的封闭/功能块

来自分类Dev

NodeRed功能块中的数学

来自分类Dev

Java,仅在同步块中的变量或所有实例变量中发生与主存储器的同步?

来自分类Dev

将对象推入向量存储器中C ++

来自分类Dev

Flink死了;Director缓冲存储器中的OutOfMemory

来自分类Dev

在Java中的堆栈存储器上创建对象?

来自分类Dev

无法在M预览中从外部存储器加载图像

Related 相关文章

  1. 1

    外部功能如何使用设备存储器中的变量?

  2. 2

    真的可以在OoOE处理器中对存储器进行重新排序吗?

  3. 3

    真的可以在OoOE处理器中对存储器进行重新排序吗?

  4. 4

    在引导加载程序中向/从存储器存储/读取功能指针符号地址

  5. 5

    C存储器地址中的If语句

  6. 6

    C存储器地址中的If语句

  7. 7

    当数据大小较小时,是否需要权衡存储器到存储器的DMA传输?

  8. 8

    Simulink中存储块的功能

  9. 9

    快速将字典存储在永久存储器中

  10. 10

    显示存储在内部存储器中的图像

  11. 11

    如何从RAM存储器中存储和加载类?

  12. 12

    读取存储在存储器或内存中的文件

  13. 13

    如何在ARM ELF文件中查找功能存储器映射?

  14. 14

    将代码存储为功能块,以便稍后在该范围内执行

  15. 15

    便携式存储器搜索功能的返回类型

  16. 16

    C语言中的功能指针存储器说明

  17. 17

    函数中声明的const变量在堆栈中是否有只读存储器?

  18. 18

    尝试保存并检查文件是否已保存在内部存储器中

  19. 19

    存储器地址是否指向信息字节?

  20. 20

    是否可以监视每个单元存储器的特定过程

  21. 21

    C#中的内联功能块

  22. 22

    C中的封闭/功能块

  23. 23

    C中的封闭/功能块

  24. 24

    NodeRed功能块中的数学

  25. 25

    Java,仅在同步块中的变量或所有实例变量中发生与主存储器的同步?

  26. 26

    将对象推入向量存储器中C ++

  27. 27

    Flink死了;Director缓冲存储器中的OutOfMemory

  28. 28

    在Java中的堆栈存储器上创建对象?

  29. 29

    无法在M预览中从外部存储器加载图像

热门标签

归档