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
|
|