RTC
®
5 PC Interface Board
Rev. 1.9 e
10 Commands And Functions
337
innovators for industry
Parameters
ListNo
Number of the list in which the input pointer should be set, as an unsigned
32-bit value; permissible values: [0 … 3]; only the two least significant bits are
evaluated.
=1:
“List 1” will be opened if not BUSY (BUSY1 status not set).
=2:
“List 2” will be opened if not BUSY (BUSY2 status not set).
=0:
The list that is currently not BUSY will be opened. If both lists are not BUSY, then “List 1” will
be opened.
=3:
The list that is currently not BUSY but USED (USED status set) will be opened. If both lists are
not BUSY and both are USED, then that list will be opened, which would be executed by a
following automatic list change.
For Mem2 = 0 (see
) “List 1” will be opened if not BUSY (ListNo = 0…2) or if not BUSY
but USED (ListNo = 3).
Pos
Position of the input pointer (offset relative to the start of the respective list)
as an unsigned 32-bit value; permissible range: [0 … (2
20
–1)]
Result
Number of the opened list [1 or 2] if successful, otherwise 0
(as an unsigned 32-bit value)
Comments
• The
load_list
command (
ListNo
= 3) is useful in scenarios such as alternating list
changes, where you want to wait specifically for a list to be processed (see
) without needing to separately query the list status. Uninten-
tional overwriting of not-yet-executed commands is thereby automatically avoided. To
instead perform
unconditional
loading, you can use commands such as
• After a successful check of the list number (BUSY status not set and, if applicable, USED
status set), the
load_list
(see comments
there).
• If the
load_list
command was not successful (return code 0), then no list will be opened
and the input pointer will be set to an invalid position. Then no further list commands
can be input until the input pointer is correctly set (e.g. by repeating the
load_list
command with a positive result or via the
command etc.). It is up to
the user to react to a return code of 0. The
load_list
command produces
no
wait loop
and
doesn’t
block execution of subsequent control commands.
• If
ListNo
= 0…2 when using the
load_list
command, then note that a list’s BUSY status
can change between opening of the list with
load_list
and the actual loading of list
commands, e.g. if in the meantime an automatic list change has occurred that was
previously defined via
. In cases such as this, where loading
of a list might occur simultaneously with processing of the same list, the user must
always ensure that the output pointer does not overtake the input pointer.
• In contrast, for
ListNo
= 3
load_list
ensures that a list is actually opened for loading
only directly after processing (and after any successful automatic list changes). Particu-
larly, if no list is BUSY and both lists are USED (e.g. after initialization, after
or after an external list stop), the opened list number is synchronized
with the following automatic list change.
RTC
®
4
RTC
®
5 new command
References
Ctrl Command load_list