Hardware Reference
In-Depth Information
11.2.7 *OPC? (Operation Complete Query)
Dieser Fernsteuerbefehl dient ebenso wie *OPC der Detektierung, ob die von den
vorangehenden Fernsteuerbefehlen ausgehende Aktivität vollständig abgeschlossen
wurde. Die Methoden unterscheiden sich jedoch gravierend. Während *OPC ledig-
lichveranlasst,dassdasOPC-BitimESRgesetztwird,erzeugt*OPC?eineAntwort,
die vom Gerät an den Host gesendet werden kann. Diese Antwort ist immer 1, denn
sie wird erst erzeugt, wenn das noop-Flag auf 1 gesetzt worden ist. Für diese
Methode gibt es wiederum einen Automaten, der nachfolgend dargestellt ist [IEEE-
488.2: 10.19, 12.5.3].
Der „Operation Query“-Automat
Dieser Automat unterscheidet sich
vom bereits beschriebenen „Opera-
tion Complete“-Automaten in zwei
Punkten: Der Übergang in den
Aktivzustand (OQAS) erfolgt nicht
mit dem Befehl *OPC, sondern mit
dem Abfragebefehl *OPC?. Bei der
Rückkehr in den Idle-Zustand
(OQIS) wird nicht das OPC-Bit im ESR auf 1 gesetzt, sondern es wird eine 1 in den
Ausgangspuffer für Geräteantworten geschrieben. Im Beispielgerät wird das vom
Response-Formatter veranlasst, der die Antwort in den Bulk-IN Endpoint einreiht.
In Abschnitt 12.7 des Standards IEEE 488.2 lassen sich interessante Ausführungen
zum unsauberen Gebrauch der Befehle *OPC und *OPC? finden, die für Anwen-
dungsprogrammierer recht hilfreich sind.
;******************************************************************************
; *OPC? Operation Complete Query
;******************************************************************************
opc?
movlw OQAS
movwf OPCqstate
return
Search WWH ::




Custom Search