Forum: PC-Programmierung Agilent / HP 34401A GPIB Matlab


von Tobias X. (Gast)


Lesenswert?

Hallo,

ich möchte mein Agilent (ehemals HP) Tischmultimeter 34401A über die 
GPIB-Schnittstelle mit Matlab ansteuern über den SCPI-Befehlssatz.

Der prinzipielle Kommunikationsaufbau funktioniert auch. Ich kann 
beispielsweise die Geräteidentifikation auslesen.

Sobald ich aber eine Befehl zum starten einer Messung sende, bekomme ich 
folgende Fehlermeldung:

+550,"Command not allowed in local"

Das Multimeter schein sich also im local-Mode zu befinden und nicht im 
remote-Mode.
Aber wie kann ich in den remote-mode wechseln?

Über Hilfe würde ich mich sehr freuen.

Gruß
Tobias

: Verschoben durch Moderator
von wieOskar (Gast)


Lesenswert?

Richtige Programmiersprache am Gerät ausgewählt?
Programming Manual gelesen?

von Karsten F. (Firma: von Dänemark) (bingo600)


Lesenswert?

@wieOskar

Meinst du ob die 34401A sind im 3478A emu mode ?

/Bingo

von Tobias X. (Gast)


Lesenswert?

@Oskar
Ja, z.B. mit *IDN? kann ich die Gerätekennung auslesen. Auch diverse 
andere Standardbefehle funktionieren. Kann z.B. halt auch den Error-Code 
auslesen.
Im Programming-Manual finde ich nur Informationen wie man wieder zurück 
in den Local-Mode kommt. Aber halt nicht anders herum.

Die Beispiel im Manual sind leide aller nur für TurboC und QuickBasic. 
Matlab war damals wohl noch nicht so verbreitet.

@Karsten
Verstehe nicht ganz was du meinst.

Gruß Tobias

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Tobias C. schrieb:
> Im Programming-Manual finde ich nur Informationen wie man wieder zurück
> in den Local-Mode kommt. Aber halt nicht anders herum.

Weil man aus dem Local-Mode an sich immer automatisch durch den
Zugriff via GPIB rausfliegt.

von Tobias X. (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Weil man aus dem Local-Mode an sich immer automatisch durch den
> Zugriff via GPIB rausfliegt.

Genau das scheint aber leider nicht zu funktionieren.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

http://forums.ni.com/t5/Instrument-Control-GPIB-Serial/Problem-with-34401A-DMM/td-p/1268148

Das REN-Signal muss wohl aktiviert werden, damit er in den
Remote-Betrieb geht.  Das müsste irgendwie der Treiber tun, der
da drunter liegt.

Bei all den Systemen, bei denen ich bislang GPIB gemacht habe, hat
der Lowlevel-Treiber das REN bereits beim Öffnen gesetzt.  Beispiel
FreeBSD (weil ich da gerade den Sourcecode auf die Schnelle zur Hand
habe):
1
static int
2
gpib_ib_open(struct cdev *dev, int oflags, int devtype, struct thread *td)
3
{
4
        // ...
5
        upd7210_wr(u, AUXMR, AUXMR_CIFC);
6
        DELAY(100);
7
        upd7210_wr(u, AUXMR, AUXMR_SIFC);
8
        upd7210_wr(u, AUXMR, AUXMR_SREN);  // <-- hier
9
        return (0);
10
}

Du musst also die Doku deines Treibers mal konsultieren, wie das bei
dir geht.

: Bearbeitet durch Moderator
von rmf (Gast)


Lesenswert?

Welchen Gpib Treiber verwendest Du denn?
Grund der Frage: Bei NI Treibern und auch bei Agilent Treibern ist meist 
ein kleines Tool dabei mit dessen Hilfe direkt Befehle aus einem Windows 
Fenster an ein Gerät übertragen werden können. Bei Agilent IO Control 
zB. das Utility Interactive IO.
Wenn damit die Kommunikation funktioniert ist zumindest eine 
Fehlerquelle ausgeschlossen.

Gruß
Udo

von Tobias X. (Gast)


Lesenswert?

Danke schon mal für die Info. Es ist tatsächlich das nicht aktivierte 
REN-Signal. Konnte das schon mal über ein Tool von NationalInstruments 
(zum Konfigurieren von LabView) dieses Problem umgehen. Auch wenn das 
noch nicht recht zufriedenstellend ist.

Bei anderen Messgeräte dich ich über Matlab ansteuere funktioniert das 
auch immer automatisch.

Nur bei diesem Tischmultimeter leider nicht.

Gibt es denn keine Möglichkeit das REN-Singal aus Matlab herraus zu 
setzten?

Gruß
Tobias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.