对于运行相关的STEP 7程序,当CPU 工作存储器太小时,如何优化运行的程序?

n

使用说明
与运行相关的S7的用户程序部分是工作在CPU的工作存储器中。这些是必须的程序代码和用户数据。CPU的装载存储器包含了完整的用户程序包括了某快的配置和模块的参数,下表列出了关于此主题的信息。n

序号 程序顺序的优化信息
1 配置数据块的”Unlinked”属性
由于工作存储器的大小是有限的,用于一个配方管理的多个具有不同配方值的数据块只能存储在加载存储器中。而 工作存储器中只存储当前配方值。 n

对于运行相关的STEP 7程序,当CPU 工作存储器太小时,如何优化运行的程序?
图 01n

如果将数据块组态为“UNLINKED”属性,并将其加载到CPU中,则这些数据块只能位于CPU加载存储器中而不需消耗任何工作存储器空间。” 通过这个方式,就可以节省CPU的工作存储器空间。这些数据块的内容只能通过系统功能SFC20 “BLKMOV”或SFC83 “ READ_DBL”传送到工作存储器中。n

对于运行相关的STEP 7程序,当CPU 工作存储器太小时,如何优化运行的程序?
图 02n

打开数据块的“object properties”,并在标签页“General – Part2”(图 2)激活属性“ Unlinked”。然后将数据块加载到CPU后,这个数据块只存储在装载存储器中。n

对于运行相关的STEP 7程序,当CPU 工作存储器太小时,如何优化运行的程序?
图 03n

通过功能SFC20将数据从加装载储器中复制到工作存储器,然后,如:通过“L DB20.DBW 0”将 其装载到累加器 1中。.n

注意Note
当用STL进行编程时,该 属性通过关键字UNLINKED (位于“DATA_BLOCK DB <No.>”和 数据块的STRUCT定义之间)设定数据块。

2影响内存需求的操作的区域
当编程的时候操作区镜像对内存的需求有影响

  • 对输入和输出的限制是在地址 127.7和 128.0之间。
  • 从另一方面编程者的限制是在地址 255.7和 256.0之间。

为了解释上面的两个描述下面编写一个功能

描述:

U M256.0
= M0.0

在工作存储器中需要6个字节。

对于编程者使用相同描述的地址,如下:

U M255.0
= M0.0

这是在工作存储器中只需要4个字节。.
对于一个空的功能需要38个字节。所以,在工作存储器,完整的FC需要38个字节+语句的字节数。

3对于两个相同大小数据块有着不同的装载存储器大小使用
一个带有16个布尔数据类型变量的数据块需要的装载存储器比一个带有一个字数据类型的数据块要多。对于数据块中的每个变量和数据类型需要占用一个字节。这意味着:

  • 带有16个布尔数据类型变量的数据块:
    16 x 2 字节 (名字和数据结构) = 32 字节
  • 一个带有一个字数据类型的数据块:
    1 x 2 字节 (名字和数据结构) = 2字节
4 在数据块中申明变量
数据块的大小一般受限于所使用的CPU (例如,S7-400是 64 KB S7-300是 8 KB 或者 6 KB )。 然后也受限于 STEP 7的数据块的变量申明的数量。

如果申明超过了32000变量, 就会显示: “申明太长”。 这是由于每个变量需要占用2个字节在64-KB的内存 (与第3点描述的一样)。

补救措施
建议使用数组或者多个小的数据块,而不是在一个数据块中使用多个单个的变量。而且小的的数据块在编辑中可以被快速的打开和保存。

创建环境
这个FAQ的图片是在 STEP 7 V5.5中拷贝的。

关键字
集成 RAM, 内存卡, EPROM.

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

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

相关推荐

发表回复

登录后才能评论