LCTUD (FB)

FUNCTION_BLOCK PUBLIC LCTUD

Increments and decrements a given value

(* Example declaration *)
LCTUDInst : LCUTD ;

(* Example in ST *)
LCTUDInst(CU := VarBOOL1, CD:= VarBOOL2, RESET := VarBOOL3, LOAD:=VarBOOL4 , PV:= VarLWORD1);

VarBOOL5 := CTUDInst.QU ;
VarBOOL6 := CTUDInst.QD ;
VarLWORD2 := CTUDInst.CV ;
InOut:

Scope

Name

Type

Comment

Input

CU

BOOL

Rising edge: Incrementing CV by one

CD

BOOL

Rising edge: Decrementing CV by one

RESET

BOOL

TRUE: Reset CV to 0

LOAD

BOOL

TRUE: Set CV to the start value PV

PV

LWORD

Start value for decrementing / upper limit for incrementing

Output

QU

BOOL

TRUE if CV >= PV

QD

BOOL

TRUE if CV = 0

CV

LWORD

Current counter value