Counter with Non Zero Start Number
The MCFB_CTU_Start function block is similar to the CTU function block with the additional feature that the counter can be started with a non-zero value. The counter does not include a pulse detection for iCU input. Use R_TRIG or F_TRIG function block for counting pulses of CU input signal. Additionally, the counter allows for stating with a non-zero value that has been stored in retain memory through input iStartValue.
- iCU (BOOL) - Enable counting. Counter is increased on each call when iCU is TRUE
- iStartValue (DINT) - Count value saved in retain Memory
- iReset (BOOL) - Reset command. Counter is reset to 0 when called with RESET to TRUE
- iPV(DINT) - Programmed maximum value
Outputs:
- oMaxValueReached (BOOL) - TRUE when counter is full, i.e. when CV = PV
- oCV (DINT) - Current value of the counter
The attached example adds the MCFB_CTU_Start kUDFB to a KAS project starting template and includes the program VariableStartValueCounter to run it.
The variable r_counterValue was added to the Retain Variables and shows how a variable can be setup to retain the present count when the counter stop excecuting, and upon restart takes on the latest value as a starting point