Herunterladen Inhalt Inhalt Diese Seite drucken

Verwendung Durch Mehrere Anwenderprogramme; Hinweise Zur Übernahme Einer Karte Durch Ein Anwenderprogramm - Scanlab RTC 5 Installation Und Inbetriebnahme

Inhaltsverzeichnis

Werbung

6.7 Verwendung durch mehrere
Anwenderprogramme
Die Verwendung der installierten RTC
durch unterschiedliche Anwenderprogramme wird
von der DLL über eine DLL-interne Kartenverwaltung
koordiniert. Die Kartenverwaltung wird durch den
Befehl
init_rtc5_dll
initiiert.
Dieser Befehl vergibt einem Anwenderprogramm
acquire_rtc
automatisch mit
tigung für die gefundenen Karten, sofern die
Zugriffsberechtigung nicht bereits an ein anderes
Anwenderprogramm vergeben wurde (es können
®
zwar beliebig viele RTC
5-Karten oder Anwenderpro-
gramme gleichzeitig verwendet werden, ein und
dieselbe Karte kann aber nicht gleichzeitig von
mehreren Anwenderprogrammen verwendet
werden). Zugriffsberechtigungen (auch zeitweise)
auf die vorhandenen Karten werden von der DLL
exklusiv vergeben. Mehrere Threads eines Anwender-
programms können zwar ein und dieselbe Karte
verwenden, aber nicht gleichzeitig Befehle senden
(die DLL serialisiert die Befehlsaufrufe automatisch).
Ohne Zugangsberechtigung ist eine Karte von einem
Anwenderprogramm nur mit ausschließlich DLL-
intern wirkenden Funktionen ansprechbar, die keine
Zugriffsberechtigung erfordern – z.B. mit get_error,
get_last_error
oder select_rtc. Auch die meisten
Multi-Board-Befehle sind nur auf zugriffsberech-
tigten Karten ausführbar.
Hat ein Anwenderprogramm die Zugriffsberech-
tigung für eine Karte erhalten, dann kann diese Karte
erst dann wieder von einem anderen Anwenderpro-
gramm beansprucht werden, nachdem die Karte mit
release_rtc
oder
free_rtc5_dll
zugriffsberechtigten Anwenderprogramm freige-
geben wurde. Die Übernahme einer freigegebenen
Karte durch ein Anwenderprogramm erfolgt dann
mit
acquire_rtc
(bzw.
init_rtc5_dll
Bei Übernahme einer Karte mit
init_rtc5_dll
oder select_rtc) erfolgt eine Versions-
prüfung für die Treiber-DLL und die Programmda-
teien RTC5OUT.out, RTC5RBF.rbf und RTC5DAT.dat.
Sind noch keine Programmdateien geladen, kann die
Versionsprüfung zwar nicht explizit durchgeführt
werden, gilt aber dennoch als bestanden und
verhindert damit die Übernahme nicht. Sind
Programmdateien geladen und bei der Versions-
prüfung wird ein Fehler festgestellt, dann wird der
Zugriff verweigert (get_last_error-Returncode
RTC5_ACCESS_DENIED|RTC5_VERSION_MISMATCH ).
®
®
RTC
5 PCI-Karte, RTC
5 PCI-Express-Karte, RTC
Rev. 1.10 d
6 Programmierung von Anwenderprogrammen
®
5-Karten
die Zugriffsberech-
explizit von dem
oder select_rtc).
acquire_rtc
(bzw.
®
5 PC/104-Plus-Karte, RTC
6.7.1 Hinweise zur Übernahme einer
Karte durch ein Anwenderpro-
gramm
Die Befehle init_rtc5_dll, acquire_rtc, free_rtc5_dll,
release_rtc
und
select_rtc
berechtigung oder die Aktivierung der installierten
®
RTC
5-Karten, lösen aber keinen Reset der RTC
Karten aus (ein Karten-Reset wird nur durch den
Befehl
load_program_file
also weder den Listenspeicher, noch die zuvor durch
Kontrollbefehle vorgenommenen Einstellungen der
Karte. Auch der Programmablauf eines evtl. auf der
Karte zuvor gestarteten und noch laufenden Listen-
programms wird durch diese Befehle nicht beein-
trächtigt. Auch löschen die Befehle nicht die
diesbezüglichen Informationen in der DLL.
Anwenderprogramme, die eine Karte nachträglich
mit
acquire_rtc
(bzw.
init_rtc5_dll
beanspruchen, übernehmen daher die Karte mit
unbereinigtem Speicher und Betriebszustand, und sie
können die auf der Karte gespeicherten Daten und
Einstellungen verwenden und in den Programm-
ablauf eines evtl. durch das vorherige Anwenderpro-
gramm gestarteten Programms eingreifen.
Falls eine Karte von einem Anwenderprogramm mit
release_rtc
freigegeben und anschließend – ohne
zwischenzeitliche Beanspruchung durch ein anderes
Anwenderprogramm – wieder von demselben
Anwenderprogramm beansprucht wird, so kann die
®
RTC
5-Karte unverändert weiterbetrieben werden,
da hier auch alle Konfigurationsdaten in der DLL
unverändert erhalten bleiben. Letzteres gilt aber
nicht, wenn die Karte mit
und nach
init_rtc5_dll
wieder beansprucht wird.
®
Wenn eine RTC
5-Karte von einem anderen Anwen-
derprogramm übernommen wird, werden einige
wichtige, vom vorherigen Anwenderprogramm nur
in der DLL verwaltete Informationen nicht (automa-
tisch) übernommen. Dem übernehmenden Anwen-
derprogramm fehlen dadurch etwa Informationen
bzgl. der Speicherkonfiguration, der Verwaltung des
geschützten Bereichs oder dem Betriebsstatus.
Wenn nach einer Kartenübernahme ohnehin mit
load_program_file
ein Karten-Reset ausgeführt wird
und alle Einstellungen neu definiert werden, dann
spielen solche fehlende Informationen keine Rolle.
®
5 PCIe/104-Karte
beeinflussen die Zugriffs-
®
5-
initiiert). Sie beeinflussen
oder select_rtc)
free_rtc5_dll
freigegeben
93

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis