EasyManua.ls Logo

Scanlab RTC6 PCIe Board - Usage of RTC6 PCI Express Boards by Several User Programs; Notes on Board Acquisition by a User Program

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
6 Developing RTC6-User Programs
128
innovators for industry
6.7 Usage of RTC6 PCI Express
Boards by Several User
Programs
Usage of RTC6 PCIe Boards by several user programs
is coordinated by the (RTC6 DLL-internal)
RTC6 board management, see also Chapter 16.5.3
”About the RTC6 Board Management”, page 905. By
init_rtc6_dll, it is initialized.
init_rtc6_dll automatically grants a user program
access rights (by acquire_rtc) to the found boards,
as long as the access right has not been already
assigned to another user program (several
RTC6 PCIe Boards or user programs can be used
simultaneously, but no board can be simultaneously
used by several user program).
Access rights (even if temporary) to boards are
granted on an exclusive basis by the RTC6 DLL.
Multiple threads of one user program can use the
same board, but can not send commands to it at the
same time (the RTC6 DLL automatically serializes the
command calls).
Without access rights, a board can only be accessed
by a user program through purely RTC6 DLL-internal
commands that do not require access rights (for
example, get_error, get_last_error and select_rtc).
If a user program has granted access rights for a
board, then this board can be acquired by another
user program only after the original user program
explicitly has been released it explicitly by release_rtc
or free_rtc6_dll.
When a board is acquired by acquire_rtc (or
init_rtc6_dll or select_rtc), a version check of the
RTC6 DLL,
RTC6OUT.out
, and
RTC6RBF.rbf
is
performed.
If these files are not loaded yet, then a version check
cannot be explicitly performed but the check is still
regarded as successful and does thus not hinder the
board acquisition. If these files are loaded and the
version check detects an error, then access is denied
(get_last_error return code
RTC6_ACCESS_DENIED
|
RTC6_VERSION_MISMATCH
).
6.7.1 Notes on Board Acquisition by
a User Program
init_rtc6_dll, acquire_rtc, free_rtc6_dll, release_rtc
and select_rtc affect the access rights of
RTC6 PCIe Boards. They do not initialize the
RTC6 PCIe Boards.
A user program acquiring a board by acquire_rtc (or
init_rtc6_dll or select_rtc) inherits its unadjusted
memory contents and operational state. The
user program therefore can use the stored data and
settings of the board and could intervene in the flow
of any list program started (by the previous
user program).
If a user
program releases a board by re
lease_rtc and
subsequently reacquires it – without it having been
acquired in the meantime by another user program
then the RTC6 PCIe Board can be further used
without changes, because in this situation all
RTC6 DLL configuration data remain unaltered.
However, the above does not apply, if the acquired
board has been released by free_rtc6_dll and
reacquired after init_rtc6_dll.

Table of Contents