一条程序段中的堆栈最多能有多少层?
刘玉蓉
发布于2014-10-13 17:38
8
0
标签:
原来好像只有9层?但是现在的PLC程序里能达多少层了?
我们假如一个输入点I0.0,后面如果输出线圈M0.0,请问我在一个程序段里能并接多少M点线圈呢?也就是输出能同时接触多少线圈?这个有没有限制?(不是指一个I0.0带线圈的个数,指的是一条回路里输出线圈能达多少个?)
佳答案
1、程序段中的堆栈多能有多少层?
B堆栈与L堆栈:
B堆栈是CPU系统内存中的一部分,它存储以下被中断块的数据:
(1) 块号、块类型、优先级、被中断块的返回地址;
(2) 块寄存器DB、DI被中断前的内容;
(3) 临时变量的指针(被中断块的L堆栈地址)。
STEP 7中可使用的B堆栈大小是有限制的,对于S7-300 CPU,则可在B堆栈中存储8个块的信息。因此,块调用嵌套深度也是有限制的,多可同时激活8个块。
L堆栈是CPU内存中的一部分,它在块调用时被重新分配。L堆栈用来存储逻辑块中定义的临时变量,也分配给临时本地数据使用。梯形图的方块指令与标准功能块也可能使用L堆栈存储运算的中间结果。
2、一条回路里输出线圈能达多少个?
没有限制。只要在你的系统中的地址范围内,并且在程序段长度容许范围内就可以。