Hardware Reference
In-Depth Information
fehle beendet worden sind. Damit ist nicht gemeint, dass die Befehle vom Parser
interpretiert sind und ihre Ausführung gestartet worden ist, sondern, dass die vom
jeweiligen Befehl ausgehende Aktivität vollständig abgeschlossen wurde. Für das
Beispielgerät bedeutet das, dass die Kontaktflugzeiten der Relais abgelaufen sein
müssen, wenn sie von einem Fernsteuerbefehl umgeschaltet worden sind. Das
betrifft also alle ROUTe:OPEN- und ROUTe.CLOSe-Befehle des Geräts. Sofern
keine Befehle mehr ausgeführt werden, wird das noop-Flag (no operation pending)
auf 1 gesetzt. Der Automat verlässt dann den Zustand OCAS und setzt dabei das
OPC-Bit im ESR auf 1. Dieses Bit kann vom „Operation Complete“-Automaten
nicht wieder zu 0 gelöscht werden. Zum Löschen siehe den folgenden Abschnitt
„Löschen des Standard Event Status Registers“. Im Beispielgerät findet sich folgende
einfache Realisierung der Flagsteuerung: Das bit noop wird beim Initialisieren des
Geräts auf 1 gesetzt. Diejenigen Fernsteuerbefehle, die den Schaltzustand von Relais
verändern können, löschen dieses Bit zu 0 und veranlassen den Ablauf einer Verzö-
gerungszeit in einem interruptgesteuerten Timer. Dieser Timer wird mit der vollen
Verzögerungszeit nachgeladen, wenn vor Ablauf ein neuer Fernsteuerbefehl mit
Relaissteuerung ausgeführt wird (retriggering). Sobald die Verzögerungszeit ablau-
fen konnte, wird das noop-Bit wieder auf 1 gesetzt. Es wird von der Software nicht
geprüft, ob irgendein Relais tatsächlich seinen Schaltzustand geändert hat, sondern
jeder gültige ROUTe:OPEN- oder ROUTe.CLOSe-Befehl triggert die Verzögerungs-
zeit. Wenn z. B. die Befehlsfolge OPEN (@1); OPEN (@1) ausgeführt wird, wird
zweimal die Verzögerungszeit getriggert, obwohl mit dem zweiten Befehl kein Relais
mehr umgeschaltet wird.
RQC
„Request Control“ wird von einem Gerät mit IEC-Bus-Schnittstelle auf 1 gesetzt,
wenn dieses Gerät als Controller den IEC-Bus übernehmen will ((IEEE 488.2:
11.5.1.1.8). Der USB sieht nicht vor, dass während der Laufzeit dynamisch der Host
gewechselt wird, deswegen ist dieses BitfürGerätemitUSB-Schnittstelleohne
Belang. Es wird im Beispielgerät daher immer als 0 gelesen.
QYE
„Query Error“ (IEEE 488.2: 11.5.1.1.7) wird vom Gerät unter zwei Bedingungen
auf 1 gesetzt. Entweder wurde vom Host der Versuch unternommen, Daten aus
einem leeren Ausgangspuffer (Bulk-IN Endpoint) zu lesen, oder es ist zu Datenver-
lusten im Puffer gekommen. Ein QYE soll nicht dazu führen, dass ein DDE, EXE
oder CME Bit auf 1 gesetzt wird.
DDE
„Device Dependent Error“ wird auf 1 gesetzt, wenn im Gerät ein Fehler aufgetreten
ist, der nicht in die Klasse der mit den Bits QYE, EXE und CME des ESR gemelde-
Search WWH ::




Custom Search