CTUD
PROGRAM CTUD_DEMO VAR BOOL1,BOOL2,BOOL3,BOOL4,BOOL5,BOOL6: BOOL; INT1,INT2: INT; FB:CTUD; END_VAR FB(CU:=BOOL1,CD:=BOOL2,R:=BOOL3,LD:=BOOL4,PV:=INT1,QU=>BOOL5,QD=>BOOL6,CV=>INT2); END_PROGRAM
The block is an up and down counter. If both r and ld are true, r has higher priority.
Input | Type | Description | Default value |
CU | BOOL | Adds 1 on rising edge | False |
CD | BOOL | Subtracts 1 on rising edge | False |
R | BOOL | Reset to zero | False |
LD | BOOL | Sets the counter to the maximum value | False |
PV | INT | Maximum counter value | 0 |
Output | Type | Description |
QU | BOOL | Status when the counter reaches its maximum value |
QD | BOOL | Status when the counter is zero |
CV | INT | Current counter value |