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
STACKINT
STACKINT 参数
参数
参数类型
数据类型
描述
PUSH
输入
BOOL
  • TRUE: 在 PUSH 命令上检测到上升沿。将 IN 值添加在堆栈的顶部。
  • FALSE:在 PUSH 命令上未检测到上升沿。
POP
输入
BOOL
  • TRUE: 在 POP 命令上检测到上升沿。删除上一个被推送到堆栈顶部的值。
  • FALSE:在 POP 命令上未检测到上升沿。
R1
输入
BOOL
  • TRUE: 将堆栈复位至其空状态。
  • FALSE:不复位。
IN
输入
DINT
推送的值。
N
输入
DINT
应用程序定义的堆栈大小。堆栈的最大大小为 128
EMPTY
输出
BOOL
  • TRUE: 堆栈为空。
  • FALSE:堆栈包含值。
OFLO
输出
BOOL
  • TRUE: 上溢,堆栈已满,且至少有一次将 R1 设置为 TRUE,然后再设置回 FALSE。
  • FALSE:堆栈大小为 128 或更小。无上溢。
OUT
输出
DINT
堆栈顶部的值。
当 OFLO 为 TRUE 时,OUT 等于 0。

STACKINT 示例

STACKINT 功能块图示例
STACKINT 功能块图示例
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;
结果
结果
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal