STACKINT
Inputs
PUSH : BOOL Command: when changing from FALSE to TRUE, the value of IN is pushed on the stack
POP : BOOL Pop command: when changing from FALSE to TRUE, deletes the top of the stack
R1 : BOOL Reset command: if TRUE, the stack is emptied
and its size is set to N
IN : DINT Value to be pushed on a rising pulse of PUSH
N : DINT maximum stack size - cannot exceed 128
Outputs
EMPTY : BOOL
TRUE if the stack is empty
OFLO : BOOL
TRUE if the stack is full
OUT : DINT value at the top of the stack
Remarks
Push and pop operations are performed on rising pulse of PUSH and POP inputs. In FFLD language, the input rung is the PUSH command. The output rung is the EMPTY output.
The specified size (N) is taken into account only when the R1 (reset) input is TRUE.
ST Language
(* MyStack is a declared instance of STACKINT function block *)
MyStack (PUSH, POP, R1, IN, N);
EMPTY := MyStack.EMPTY;
OFLO := MyStack.OFLO;
OUT := MyStack.OUT;
FBD Language
FFLD Language
IL Language
(* MyStack is a declared instance of STACKINT function block *)
Op1: CAL MyStack (PUSH, POP, R1, IN, N)
FFLD MyStack.EMPTY
ST EMPTY
FFLD MyStack.OFLO
ST OFLO
FFLD MyStack.OUT
ST OUT
See also