Herunterladen Inhalt Inhalt Diese Seite drucken

Alternierender Listenwechsel; Strukturierte Programmierung; Unterprogramme; Nichtindizierte Unterprogramme - Scanlab RTC 5 Installation Und Inbetriebnahme

Inhaltsverzeichnis

Werbung

Alternierender Listenwechsel

Alternativ kann die kontinuierliche Befehlsausgabe
über eine sich wiederholende alternierende Ausgabe
der beiden Listen realisiert werden. Dazu muss der
Befehl
start_loop
aufgerufen werden. Dies führt
dann zu einer automatischen, kontinuierlichen, alter-
nierenden Ausgabe der beiden Listen, vorausgesetzt,
beide Listen werden am Ende jeweils mit dem
set_end_of_list-Befehl abgeschlossen. Die alternie-
rende Ausgabe wiederholt sich so lange, bis der
Befehl
quit_loop
aufgerufen wird. Der Befehl
quit_loop
bricht die kontinuierliche Ausgabe ab,
sobald die aktuelle Liste beendet ist.
Die jeweils nicht-aktive Liste kann auch während der
Abarbeitung der anderen Liste neu geladen werden.
Damit ist neben der alternierenden Ausgabe zweier
konstanter Listen auch eine ständig inhaltlich wech-
selnde Liste ausführbar.
Hinweise
• Befehle zum Starten eines einmaligen, automati-
schen Listenwechsels und der start_loop-Befehl
zum Starten eines alternierenden Listenwechsels
können zu einem beliebigen Zeitpunkt aufge-
rufen werden.
• Beim Laden einer Liste während der Abarbeitung
einer anderen Liste, sollte sichergestellt werden,
dass keine Befehle überschrieben werden, die
noch gebraucht werden. Dazu eignet sich der
load_list-Befehl. Dieser Befehl startet das Laden
einer Liste nur dann, wenn die ausgewählte Liste
nicht aktuell in Verwendung bzw. bereits abgear-
beitet ist (siehe
"Listen laden", Seite
• Außerdem sollten die jeweils neuen Listen bereits
mindestens zu einem gewissen Anteil geladen
sein, bevor der Listenwechsel stattfindet. Andern-
falls werden u.U. "alte" Befehle ausgeführt. Der
Input-Pointer sollte immer einen ausreichenden
Vorsprung gegenüber dem Output-Pointer
haben, da der PCI-Transfer der Listenbefehle in
den Listenspeicher gepuffert erfolgt (siehe
Seite
75) und evtl. sogenannte kurze Listenbe-
fehle verwendet werden können (siehe
• Der Ringpuffer-Modus wird von der RTC
mehr unterstützt. Effektiv lässt sich dieser
Betriebsmodus aber auch mit Hilfe des oben
beschriebenen alternierenden Listenwechsels und
des load_list-Befehls realisieren.
®
®
RTC
5 PCI-Karte, RTC
5 PCI-Express-Karte, RTC
Rev. 1.10 d
6 Programmierung von Anwenderprogrammen
6.5 Strukturierte Program-
Zur Unterstützung einer strukturierten Program-
mierung und Ausgabe von Listenbefehlen enthält der
Befehlssatz der RTC
zur Definition von Unterprogrammen und Zeichen-
sätzen, sowie Listenbefehle zur Steuerung des
Programmflusses. Dies wird im Folgenden näher
beschrieben.

6.5.1 Unterprogramme

Unterprogramme können als Listenbefehlssequenzen
prinzipiell an jeder beliebigen Stelle des Listenspei-
chers stehen. Sie sollten bevorzugt in das obere Ende
des Listenbereichs geschrieben werden (siehe
"Geschützter Speicherbereich", Seite
keine Listengrenzen mitten durch Unterprogramme
verlaufen.
Unterprogramme müssen mit einem list_return-
Befehl abgeschlossen werden.
Es können indizierte und (wie auch bereits bei den
Vorgängerkarten der RTC
programme definiert werden.

Nichtindizierte Unterprogramme

Nichtindizierte Unterprogramme werden wie
normale Listenbefehlssequenzen mit den Listen-
Lade-Befehlen (siehe
einen Listenbereich ("Liste 1" oder "Liste 2") geladen,
müssen jeweils mit einem list_return-Befehl abge-
75).
schlossen werden und werden mit dem list_call-
Befehl unter Angabe der absoluten Speicheradresse
aufgerufen.
Nach Abarbeiten eines Unterprogramms
einschließlich des abschließenden list_return-Befehls
wird mit dem der aufrufenden Stelle nachfolgenden
Befehl fortgefahren.
Es sind auch verschachtelte Aufrufe mit einer
Verschachtelungstiefe von bis zu 63 Aufrufen
Seite
65).
möglich.
®
5 nicht
Hinweise
• Nichtindizierte Unterprogramme können nicht in
den geschützten Speicherbereich ("Liste 3")
geschrieben werden, können aber nachträglich
geschützt werden (siehe auch
Schützen und Konvertieren von nichtindizierten
Unterprogrammen", Seite
®
®
5 PC/104-Plus-Karte, RTC
5 PCIe/104-Karte
mierung
®
5 eine Reihe von Möglichkeiten
®
5) nichtindizierte Unter-
"Listen laden", Seite
83). Damit das Unter-
73). Es sollten
75) in
"Nachträgliches
80

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis