Program instructions
7.6 Counters
S7-200 SMART
System Manual, 09/2015, A5E03822230-AC
239
Initialization of modes 0 and 1
The following steps describe how to initialize HSC0 for single-phase up/down counter with
internal direction (modes 0 and 1).
1. Use the first scan memory bit to call a subroutine in which the initialization operation is
performed. Since you use a subroutine call, subsequent scans do not make the call to the
subroutine, which reduces scan time execution and provides a more structured program.
2. In the initialization subroutine, load SMB37 according to the desired control operation.
For example: SMB37 = 16#F8 produces the following results:
– Enables the counter
– Writes a new current value
– Writes a new preset value
– Sets the direction to count up
– Sets the reset input to be active high
3. Execute the HDEF instruction with the HSC input set to 0 and the MODE input set to one
of the following:
– Mode 0 for no external reset
– Mode 1 for external reset
4. Load SMD38 (double-word-sized value) with the desired current value (load with 0 to
clear it).
5. Load SMD42 (double-word-sized value) with the desired preset value.
6. In order to capture the current value equal to preset event, program an interrupt by
attaching the CV = PV interrupt event (event 12) to an interrupt routine. See the section
that discusses the Interrupt instructions for complete details on interrupt processing.
7. In order to capture an external reset event, program an interrupt by attaching the external
reset interrupt event (event 28) to an interrupt routine.
8. Execute the global interrupt enable instruction (ENI) to enable interrupts.
9. Execute the HSC instruction to cause the CPU to program HSC0.
10. Exit the subroutine.