Controller-Funktionen
- Aktualisiert2025-07-30
- 6 Minute(n) Lesezeit
Mit den Controller-Funktionen wird der Controller konfiguriert, oder es werden IEEE-488-Befehle gesendet, auf die alle Messinstrumente reagieren.
cac—Funktion des aktiven Controllers übernehmen
dma—DMA-Modus oder programmierten I/O-Modus einstellen
gts—Aktiven Controller in Standby-Modus schalten
ist—Individuelles Statusbit setzen
loc—Controller in lokalen Modus versetzen
off—Controller in Offline-Modus schalten
ppc—Parallelpoll konfigurieren (aktivieren und deaktivieren)
ppu—Parallelpoll-Konfiguration aufheben
rsc—Systemsteuerung abgeben oder anfordern
rsv—Service anfordern und/oder das Statusbyte für serielles Pollen einstellen
cac—Funktion des aktiven Controllers übernehmen
| Syntax | cac 0 (Steuerung synchron übernehmen) |
| cac 1 (Steuerung sofort übernehmen) |
cac übernimmt die Steuerung entweder synchron oder sofort (und in einigen Fällen asynchron). Sie brauchen die Funktion cac normalerweise nicht zu verwenden, da andere Funktionen, wie zum Beispiel cmd und rpp, die Steuerung automatisch übernehmen.
Wenn Sie versuchen, die Steuerung synchron zu übernehmen, und es wird zu diesem Zeitpunkt ein Handshake durchgeführt, wartet die Funktion mit der Übernahme der Steuerung bis zum Ende des Handshakes. Wird kein Handshake durchgeführt, führt die Funktion die Übernahme der Steuerung sofort aus. Die synchrone Übernahme der Steuerung ist nicht garantiert, wenn eine Schreib- oder Leseoperation mit einem Timeout-Fehler oder einem anderen Fehler beendet wurde.
Sie müssen die Steuerung asynchron übernehmen, wenn die Steuerung nicht synchron übernommen werden kann (beispielsweise nach einem Timeout-Fehler).
Handelt es sich bei dem GPIB-Controller nicht um den aktiven Controller (CIC), führt dies zu einem ECIC-Fehler.
cmd—IEEE-488-Befehle senden
| Syntax | cmd String |
cmd sendet GPIB-Befehle. Die Meldungen mit den Befehlen enthalten die Adressen und Sekundäradressen der aktiven und passiven Geräte am Bus, Nachrichten für die Konfiguration für das serielle oder parallele Pollen sowie DCL- und Triggernachrichten.
Mit cmd werden keine Programmieranweisungen an Geräte gesendet. Programmieranweisungen und andere geräteabhängige Informationen werden mit den Befehlen GPIB lesen und GPIB schreiben übertragen.
String enthält die vom Controller gesendeten Befehlsbytes. Die Bytes in cmd string werden durch ASCII-Zeichen dargestellt. Wenn Sie Zeichen senden müssen, die nicht angezeigt werden können, können Sie unter Backslash-Codes für das String-Control oder die String-Konstante aktivieren , oder Sie können eine Formatierungsfunktion verwenden, um die Befehle in hexadezimaler Form aufzulisten.
dma—DMA-Modus oder programmierten I/O-Modus einstellen
| Syntax | dma 0 (programmierte I/O verwenden) |
| dma 1 (DMA verwenden) |
dma zeigt an, ob bei der Datenübertragung mit DMA gearbeitet wird.
Einige GPIB-Controller sind nicht DMA-fähig. Wenn Sie versuchen, dma 1 auszuführen, gibt die Funktion den GPIB-Fehler 11 zurück, um anzuzeigen, dass keine Fähigkeit vorhanden ist.
gts—Aktiven Controller in Standby-Modus schalten
| Syntax | gts 0 (kein Shadow-Handshake) |
| gts 1 (Shadow-Handshake) |
gts schaltet den GPIB-Controller in den Standby-Modus und deaktiviert das ATN-Signal (sofern es sich um den aktiven Controller handelt). Der GPIB-Controller ist normalerweise an der Datenübertragung beteiligt. Mit gts können GPIB-Geräte Daten ohne Beteiligung des GPIB-Controllers übertragen.
Bei aktivem Shadow-Handshake nimmt der GPIB-Controller an der GPIB-Übertragung als Empfangsgerät teil, übernimmt jedoch keine Daten. Wird END erkannt, aktiviert der GPIB-Controller die NRFD-Leitung (Not Ready For Data – nicht für Daten bereit), um den Freiwerdezustand des Handshake-Busses zu signalisieren.
Ohne Shadow-Handshake führt der GPIB-Controller weder Shadow-Handshake noch Handshake-Freigabe durch.
Wenn Sie die Shadow-Handshake-Option aktivieren, nimmt der GPIB-Controller am Daten-Handshake als Empfangsgerät teil, ohne die Daten jedoch zu übernehmen. Er überwacht die Übertragung auf die Ende-Nachricht und stoppt nachfolgende Übertragungen. Dieser Mechanismus ermöglicht es dem GPIB-Controller, die Steuerung für nachfolgende Operationen wie cmd oder rpp synchron zu übernehmen.
Nach dem Senden des Befehls gts müssen Sie immer auf das Ende der Übertragung warten, bevor ein anderer GPIB-Befehl ausgelöst wird. Dies kann mit Hilfe der Funktion GPIB: Warten erfolgen.
Handelt es sich bei dem GPIB-Controller nicht um den aktiven Controller (CIC), führt dies zu einem ECIC-Fehler.
ist—Individuelles Statusbit setzen
| Syntax | ist 0 (Das individuelle Statusbit wird deaktiviert.) |
| ist 1 (Das individuelle Statusbit wird gesetzt.) | |
| ist legt den Zustand des individuellen Statusbits (ist) fest. |
Sie verwenden ist, wenn es sich bei dem GPIB-Controller nicht um den aktiven Controller (CIC) handelt, der Controller jedoch an einem Parallelpoll teilnimmt, die von einem Gerät durchgeführt wird, das als aktiver Controller fungiert. Der CIC führt einen Parallelpoll durch, indem die EOI- und ATN-Signale aktiviert werden, welche die Nachricht IDY (Identify – Identifizieren) senden. Solange diese Nachricht aktiv ist, antwortet jedes Gerät, das zur Teilnahme am Poll konfiguriert wurde, durch Ansteuern einer vorher festgelegten GPIB-Datenleitung auf TRUE oder FALSE. Dies hängt von dem Wert des jeweiligen lokalen ist-Bits ab. Beispielsweise kann man dem GPIB-Controller zuweisen, dass er die Datenleitung DIO3 auf TRUE setzt, wenn er 1 ist , und auf FALSE, wenn er 0 ist . Umgekehrt können Sie ihm zuweisen, dass er DIO3 TRUE steuert, wenn er 0 ist , und FALSE, wenn er 1 ist .
Die für jedes Gerät geltende Nachricht PPE (Parallel Poll Enable – Parallelpoll aktivieren) legt die Beziehung zwischen dem Wert von ist, der angesteuerten Leitung und dem Richtungssinn dieser Leitung fest. Der GPIB-Controller kann diese Nachricht entweder lokal über ppc oder über das Netzwerk über einen Befehl vom CIC erhalten. Sobald die Nachricht PPE ausgeführt wird, wechselt ist den Richtungssinn, in den der GPIB-Controller die Leitung während des Parallelpolls schaltet, so dass der GPIB-Controller eine geräteabhängige Ein-Bit-Nachricht an den Controller übermitteln kann.
llo—Lokalen Modus sperren
| Syntax | llo |
llo versetzt alle Geräte in den lokalen Sperrmodus. Diese Aktion verhindert normalerweise Eingaben über das Frontpanel des Geräts.
llo sendet den Befehl LLO (Local Lockout).
loc—Controller in lokalen Modus versetzen
| Syntax | loc |
loc versetzt den GPIB-Controller in den lokalen Modus, indem die lokale Nachricht RTL (Return To Local – In lokalen Modus zurückkehren) gesendet wird, sofern der Controller nicht gesperrt ist oder sich im Netzwerkmodus befindet (entsprechend dem LOK-Bit von Status). Sie können mit loc eine RTL-Schaltung am Frontpanel simulieren, wenn Sie ein Instrument mit einem Computer simulieren.
off—Controller in Offline-Modus schalten
| Syntax | off |
off schaltet den Controller in den Offline-Modus. Dies ist nur dann notwendig, wenn ein Controller gemeinsam mit einer anderen Anwendung verwendet wird, die mit der 488-Bibliothek von National Instruments arbeitet.
ppc—Parallelpoll konfigurieren (aktivieren und deaktivieren)
| Syntax | ppc Byte |
ppc konfiguriert den GPIB-Controller für die Teilnahme an einem Parallelpoll, indem die Nachricht LPE (Local Poll Enable – Lokalen Poll aktivieren) des Controllers auf den Wert von Byte eingestellt wird. Ist der Wert von Byte 0, hebt der GPIB-Controller seine Konfiguration auf.
Alle 16 PPE-Nachrichten (Parallel Poll Enable) wählen eine GPIB-Datenleitung (DIO1 bis DIO8) und einen Zustand (1 oder 0) aus, die vom Gerät verwendet werden müssen, wenn bei einem Parallelpoll die Nachricht IDY (Identify – Identifizieren) beantwortet wird. Das Gerät interpretiert die zugewiesene Nachricht und den aktuellen Wert des individuellen Statusbits (ist), um festzustellen, ob die ausgewählte Leitung auf TRUE oder FALSE gesetzt werden soll. Wenn z. B. PPE=0x64 ist, wird DIO5 mit TRUE angesteuert, wenn es 0 ist , und mit FALSE, wenn es 1 ist . Wenn PPE=0x68, ist die DIO1-PPE-Meldung wirksam. Sie müssen wissen, welche PPE- und PPD-Nachrichten gesendet werden und die Bedeutung der Antworten ermitteln.
ppu—Parallelpoll-Konfiguration aufheben
| Syntax | ppu |
ppu sorgt dafür, dass keine Geräte Parallelpolls beantworten.
ppu sendet den Befehl PPU (Parallel Poll Unconfigure – Parallelpoll-Konfiguration aufheben).
rpp—Parallelpoll durchführen
| Syntax | rpp |
rpp führt einen Parallelpoll zuvor konfigurierter Geräte aus, indem die ATN- und EOI-Signale aktiviert werden, welche die Nachricht IDY (Identify – Identifizieren) senden.
rpp übergibt die Antwort auf den Parallelpoll im Ausgangs-String als ASCII-Zeichen.
rsc—Systemsteuerung abgeben oder anfordern
| Syntax | rsc 0 (Systemsteuerung abgeben) |
| rsc 1 (Systemsteuerung anfordern) |
rsc gibt die Fähigkeit des GPIB-Controllers, die Nachrichten IFC (Interface Clear – Schnittstelle zurücksetzen) und REN (Remote Enable – Netzwerkmodus aktivieren) mit den Funktionen sic und sre an GPIB-Geräte zu senden, ab oder fordert sie an. Damit der GPIB-Controller das von einem anderen Controller gesendete IFC beantwortet, darf der GPIB-Controller nicht System-Controller sein.
In den meisten Anwendungen fungiert der GPIB-Controller als System-Controller. Sie verwenden rsc nur, wenn der Computer für die Dauer der Programmausführung nicht System-Controller ist.
rsv—Service anfordern und/oder das Statusbyte für serielles Pollen einstellen
| Syntax | rsv Byte |
rsv stellt das Statusbyte für serielle Polls des GPIB-Controllers auf Byte ein. Wird in Byte das Bit 0x40 gesetzt, fordert der GPIB-Controller außerdem einen Service von dem Controller an, indem die GPIB-RQS-Leitung aktiviert wird. Wenn Sie beispielsweise die GPIB-RQS-Leitung aktivieren möchten, senden Sie das ASCII-Zeichen @, durch welches das Bit 0x40 gesetzt wird.
Sie verwenden rsv, um vom Controller mit dem SRQ-Signal (Service Request – Service anfordern) einen Service anzufordern und einen systemabhängigen Status bereitzustellen, wenn der Controller den GPIB-Anschluss seriell pollt.
sic—IFC senden
| Syntax | sic |
sic veranlasst, dass der Controller das IFC-Signal für mindestens 100 ms aktiviert, wenn der Controller als System-Controller fungiert. Dadurch wird der GPIB initialisiert und der Controllerport als aktiver Controller (CIC) bestimmt. Normalerweise wird sic verwendet, wenn ein Gerät die CIC-Funktion übernehmen soll, oder um einen Fehlerzustand auf dem Bus zu beheben.
Das IFC-Signal setzt keine internen Gerätefunktionen zurück, sondern nur die GPIB-Funktionen von Busgeräten. Die Funktionen DCL (Device Clear – Gerät initialisieren) und SDC (Selected Device Clear – Ausgewähltes Gerät initialisieren) setzen die Gerätefunktionen in die Ausgangskonfiguration zurück. Informationen zur Auswirkung dieser Nachrichten finden Sie in der Dokumentation der jeweiligen Instrumente.
sre—REN-Leitung aktivieren oder deaktivieren
| Syntax | sre 0 (REN deaktivieren) |
| sre 1 (REN aktivieren) |
sre aktiviert oder deaktiviert die GPIB-REN-Leitung. Die Geräte überwachen die REN-Leitung, wenn sie zwischen lokalem und Netzwerkbetrieb wechseln. Ein Gerät wechselt jedoch erst dann in den Netzwerkmodus, wenn es eine Listener-Adresse erhält.
Handelt es sich bei dem Controller nicht um den System-Controller, führt dies zu einem ESAC-Fehler.