Status-Reporting-System
Einsatz des Status-Reporting-Systems
Um das Status-Reporting-System effektiv nutzen zu können, muß die dort enthaltene Information an
den Controller übertragen und dort weiterverarbeitet werden. Dazu existieren mehrere Verfahren, die im
Folgenden
dargestellt
Programmbeispiele, zu finden.
Bedienungsruf (Service Request), Nutzung der Hierarchiestruktur
Das Gerät kann unter bestimmten Bedingungen einen "Bedienungsruf" (SRQ) an den Controller
schicken. Dieser Bedienungsruf löst üblicherweise beim Controller einen Interrupt aus, auf den das
Steuerprogramm mit entsprechenden Aktionen reagieren kann. Wie aus Bild 5-4 ersichtlich, wird ein
SRQ immer dann ausgelöst, wenn eines oder mehrere der Bits 2, 3, 4, 5 oder 7 des Status Bytes
gesetzt und im SRE freigeschaltet sind. Jedes dieser Bits faßt die Information eines weiteren Registers,
der Error Queue oder des Ausgabepuffers zusammen. Durch entsprechendes Setzen der ENABle-Teile
der Statusregister kann erreicht werden, daß beliebige Bits in einem beliebigen Statusregister einen
SRQ auslösen. Um die Möglichkeiten des Service-Request auszunutzen, sollten in den Enable-
Registern SRE und im ESE alle Bits auf "1" gesetzt werden.
Beispiel
(vergleiche
Programmbeispiele):
Den Befehl *OPC zur Erzeugung eines SRQs am Ende eines Sweeps verwenden
im ESE das Bit 0 setzen (Operation Complete)
im SRE das Bit 5 setzen (ESB)
Das Gerät erzeugt nach Abschluß seiner Einstellungen einen SRQ.
Der SRQ ist die einzige Möglichkeit für das Gerät, von sich aus aktiv zu werden. Jedes Controller-
Programm sollte das Gerät so einstellen, daß bei Fehlfunktionen ein Bedienungsruf ausgelöst wird. Auf
den Bedienungsruf sollte das Programm entsprechend reagieren. Ein ausführliches Beispiel für eine
Service-Request-Routine findet sich im Kapitel 7, Programmbeispiele.
Serienabfrage (Serial Poll)
Bei einem Serial Poll wird, wie bei dem Befehl *STB, das Status Byte eines Gerätes abgefragt.
Allerdings wird die Abfrage über Schnittstellennachrichten realisiert und ist daher deutlich schneller. Das
Serial-Poll-Verfahren ist bereits in IEEE 488.1 definiert und war früher die einzige geräteübergreifend
einheitliche Möglichkeit, das Status Byte abzufragen. Das Verfahren funktioniert auch bei Geräten, die
sich weder an SCPI noch an IEEE 488.2 halten.
Der QuickBASIC-Befehl für die Ausführung eines Serial Poll lautet IBRSP(). Der Serial Poll wird
hauptsächlich verwendet, um einen schnellen Überblick über den Zustand mehrerer an den IEC-Bus
angeschlossener Geräte zu erhalten.
1119.5063.11
werden.
Ausführliche
auch
Bild
5-3,
"Aufbau
Programmbeispiele
eines
SCPI-Statusregisters"
5.32
hierzu
sind
im
Kapitel
und
Kapitel
FSIQ
7,
7,
D-13