文章目录
功能作用
保存运行信息
用于保存程序块的运行信息,当某个程序块因中断或调用其他块而被挂起时,其相关运行信息会存储到 L 存储区,以便程序返回时能从断点处继续执行。
存储局部变量
主要用于存储子程序和中断程序中的局部变量,这些变量的作用范围仅限于子程序或中断程序内部,不能在其他程序块中直接访问,有助于实现程序的模块化和封装,提高程序的可读性和可维护性。
分配与使用规则
空间分配
S7-200 SMART 为每个程序组织单元(POU)分配了 64 个字节的局部存储区,即从 LB0 到 LB63,可按位、字节、字和双字的方式进行访问,对应的位地址范围是 L0.0 到 L63.7,字地址范围是 LW0 到 LW62,双字地址范围是 LD0 到 LD60。
嵌套共享规则
每一级嵌套共用同一片 64 个字节的 L 存储区。主程序有 64 个字节的 L 存储区,被主程序直接调用的子程序共享主程序的 64 个字节 L 存储区,上述子程序再调用的下级子程序又共享下一片 64 个字节的 L 存储区,以此类推,CPU 支持最大嵌套深度为 8 层。
调用实例
如果一个子程序在 OB1 中被调用了多次,那么每次调用占用的都是调用层级 1 的 L 区,即使用的 L 区都是同一个地址区域。
使用注意事项
先赋值后使用
在使用 L 存储区的变量时,需要先对其进行赋值,然后再使用,否则可能会导致程序出现意外的结果。
避免地址冲突 (注意嵌套)
不同的子程序如果使用了相同的 L 存储区地址,可能会导致数据相互覆盖或冲突,影响