STACKINT(堆栈整数)
STACKINT 指令管理整数值的堆栈。
操作详细信息︰
- STACKINT 包括 PUSH 和 POP 命令的上升沿检测。堆栈的最大大小为 128。OFLO 值仅在重置之后有效(R1 至少有一次设置为 TRUE,然后再设置回 FALSE)。
- 应用程序定义的堆栈大小 (N) 不能小于 1 或大于 128。
- 如果 N < 1,STACKINT 假设大小为 1。
- 如果 N > 128,STACKINT 假设大小为 128。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 Micro810、L20E、L50E 和 L70E 控制器。
STACKINT

参数 | 参数类型 | 数据类型 | 描述 |
|---|---|---|---|
PUSH | 输入 | BOOL |
|
POP | 输入 | BOOL |
|
R1 | 输入 | BOOL |
|
IN | 输入 | DINT | 推送的值。 |
N | 输入 | DINT | 应用程序定义的堆栈大小。堆栈的最大大小为 128 |
EMPTY | 输出 | BOOL |
|
OFLO | 输出 | BOOL |
|
OUT | 输出 | DINT | 堆栈顶部的值。 当 OFLO 为 TRUE 时,OUT 等于 0。 |
STACKINT 示例
STACKINT 功能块图示例

STACKINT 梯形图示例

STACKINT 结构化文本示例

(* ST Equivalence: STACKINT1 is an instance of a STACKINT block *) STACKINT1(err_detect, acknowledge, manual_mode, err_code, max_err); appli_alarm := auto_mode AND NOT(STACKINT1.EMPTY); err_alarm := STACKINT1.OFLO; last_error := STACKINT1.OUT;
结果

提供反馈