EasyManua.ls Logo

Scanlab RTC6 PCIe Board - Time Measurements; RTC6 Timer; Timestamps

Scanlab RTC6 PCIe Board
1004 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
RTC6 boards
Doc. Rev. 1.0.21 en-US
8 Advanced Functions for Scan Head Control and Laser Control
281
innovators for industry
8.12 Time Measurements
8.12.1 RTC6 Timer
RTC6 PCIe Boards are equipped with an integrated
timer, which is referred to as the RTC6 Timerin the
following. The RTC6 Timer only counts clock cycles of
list commands. Counting is paused during
interruptions by set_wait or pause_list.
In order to measure the marking time consumed by
any particular marking process,
save_and_restart_timer is called before and then
after the marking process. save_and_restart_timer
saves the present RTC6 Timer value and resets it to 0.
The elapsed time can then be read by get_time,
which returns the RTC6 Timer value saved during the
most recent call of save_and_restart_timer.
The present RTC6 Timer value can be read out by
get_lap_time. It returns the elapsed time since the
last call of save_and_restart_timer but without
resetting the RTC6 Timer to zero. In this way the
interim execution time of lengthy marking processes
can be monitored.
8.12.2 Timestamps
32-bit “Timestamp Counter”
There is also a 32-bit “Timestamp Counter” on
RTC6 boards. It starts counting at 0 with
load_program_file and counts uninterruptible all
10 µs clock periods. Using the
32-bit “Timestamp Counter”, an absolute reference
to the individual time periods can be established,
even if the RTC6 Timer has been reset by
save_and_restart_timer. The
32-bit “Timestamp Counter” can be recorded by
set_trigger/set_trigger4 (signal 52) and is read out
by get_value
( 52 )
.
store_timestamp_counter /
store_timestamp_counter_list reads out the
32-bit “Timestamp Counter” from the RTC6 board
and buffers it there as the time reference
TimeStampStorage
.
Subsequently, wait_for_timestamp_counter or
wait
_for_timestamp_counter_mode ca
n be used
to wait in a list for a fixed time difference to the
stored 32-bit “Timestamp Counter”. Overflows of
the 32-bit “Timestamp Counter” are detected and
corrected.
About 12 hours is the longest waiting time that can
be specified with the 32-bit offset. Waiting times
beyond this must be broken down into shorter blocks
and processed sequentially with sequences of
store_timestamp_counter_list and
wait_for_timestamp_counter /
wait_for_timestamp_counter_mode. This is not
always practicable with long process times.
64-bit “Timestamp Counter
As of DLL 624, OUT 624 get_timestamp_long with
64-bit “Timestamp Counter” and
wait_for_timestamp_counter_long with
64-bit offset are available as an alternative.
get_timestamp_long reads out the
64-bit “Timestamp Counter”
(=
TimeStampCounterLong
) from the RTC6 board. Its
lower part (=
returned parameter value TimeStampL
)
and the 32-bit “Timestamp Counter” are identical.
wait_for_timestamp_counter_long waits for an
absolute 64-bit “Timestamp Counter” value
(1)
(64-bit offset). The user program must control the
synchronization.
Notes
get_time and get_lap_time only take list
execution times into account.
To compare the RTC6 board-internal
save_and_restart_timer time measurement to
an external time measurement via the BUSY Pin,
you should insert a list_nop between
save_and_restart_timer and
set_end_of_list.
Thi
s ensures that a scanner delay is processed
before set_end_of_list. Without list_nop,
save_and_restart_timer includes the
scanner delay in its measurement even though it
completes only after set_end_of_list (and
therefore the BUSY Pin is already LOW).
(1) Analogously to wait_for_timestamp_counter_mode,
however, store_timestamp_counter /
store_timestamp_counter_list is not used.

Table of Contents