Grundlegende Schritte der IEC-Bus-Programmierung
Befehlssynchronisation
Die im folgenden Beispiel realisierten Möglichkeiten zur Synchronisation sind im Kapitel 5, Abschnitt
"Befehlsreihenfolge und Befehlssynchronisation" beschrieben.
REM -------- Beispiele zur Befehlssynchronisation ---------
PUBLIC SUB SweepSync()
REM Der Befehl INITiate[:IMMediate] startet einen Single-Sweep, wenn zuvor
REM der Befehl INIT:CONT OFF gesendet wurde. Es soll sichergestellt werden,
REM dass der nächste Befehl erst ausgeführt wird, wenn ein kompletter
REM Sweep abgeschlossen ist.
CALL IBWRT(receiver %, "INIT:CONT OFF")
REM -------- Erste Möglichkeit: Verwendung von *WAI --------
CALL IBWRT(receiver %, "ABOR;INIT:IMM; *WAI")
REM -------- Zweite Möglichkeit: Verwendung von *OPC? --------
OpcOk$ = SPACE$(2)
CALL IBWRT(receiver %, "ABOR;INIT:IMM; *OPC?")
REM ------ hier kann der Controller andere Geräte bedienen ------
CALL IBRD(receiver %, OpcOk$)
REM -------- Dritte Möglichkeit: Verwendung von *OPC --------
REM Um die Service-Request-Funktion in Verbindung mit einem GPIB-Treiber von
REM National Instruments verwenden zu können, muss die Einstellung "Disable
REM Auto Serial Poll" mittels IBCONF auf "yes" geändert werden!
CALL IBWRT(receiver %, "*SRE 32")
CALL IBWRT(receiver %, "*ESE 1")
CALL IBWRT(receiver %, "ABOR;INIT:IMM; *OPC")
CALL WaitSRQ(boardID%,result%)
REM Hier das Hauptprogramm fortführen.
END SUB
REM ***********************************************************************
1164.6459.11
'Platz für *OPC?-Antwort bereitstellen
'Warten auf die "1" von *OPC?
'Service Request ermöglichen für ESR
'Event-Enable Bit setzen für
'Operation-Complete-Bit
'Sweep starten mit
'Synchronisierung auf OPC
'Warten auf Service Request
7.6
R&S ESPI
D-2