Hallo,
ich versuche bisher vergebens mit einem Hioki 7005 DC Standard zu
kommunizieren. Ich verwende dazu einen Agilent 82357B USB<->GPIB
Adapater.
Das Gerät wird im Agilent Connection Expert nicht gefunden, obwohl hier
mein HP 3478A gefunden wird (unterstützt auch kein *IDN?)
Dann habe ich versucht mit einem kleinen LabView Tool auf Adresse 0 bis
31 einfach ein Kommando an das Gerät zu schicken. Das Kommando habe ich
diesem PDF entnommen:
https://www.hioki.co.jp/products/file.php?t=catalog&iid=1_383
Aber auch hier gab es bei jedem Senden eine Fehlermeldung und auch am
Gerät keine Reaktion.
Am Gerät sind hinten unter der GPIB Buchse fünf DIP-Schalter (A0-A5).
Ich habe diese auch in diverse Stellungen bewegt und das LabView Tool
laufen lassen, aber bisher kein Erfolg.
Gibt es bei so alten Geräten noch irgendeinen Trick, den man kennen
muss? Das die GPIB Schnittstelle bei dem Gerät defekt ist und alles
andere in Ordnung ist wäre ja schon sehr seltsam.
Vielen Dank
Martin
PS: Das LabView Tool scheint auch wirklich etwas zu senden, denn wenn
ich ein anderes GPIB Gerät anschließe, dann reagiert dieses auf das
Tool.
Gefunden werden nur Geräte, die SCPI unterstützen. D.h. Befehle wie
"MODUL:FUNKT:WERT;" und Reaktion auf "*IDN?". Ältere Geräte haben einen
komplett frei definierten Befehlssatz, da weiss niemand wonach er suchen
sollte. Mein HP8660 hat noch nichtmal einen Prozessor, der nutzt einfach
die oberen vier Datenbits als Selektoren und die unteren als BCD-Wert.
D.h. stell das Gerät an den DIP-Schaltern auf eine freie Adresse (nicht
0 oder 31) und auf Talk+Listen. Dann schick einen Befehl an das Gerät,
wo was sichtbares passiert (z.B. Range auf 100V). Wenn die Remote-Lampe
angeht, kam der Befehl an, wenn der messbereich umspringt wurde er auch
verstanden.
Wenn der Befehl ankommt aber nicht verstanden wird, ist wahrscheinlich
der delimiter falsch. Da gibt es <CR> und <LF> einzeln oder zusammen
(das sind ASCII-Buchstaben) und EOI (das ist ein elektrisches Signal).
Die Kombinationen musst Du halt durchprobieren.
Werte zurücklesen ist dann der nächste Schritt.
Martin schrieb:> Das Kommando habe ich> diesem PDF entnommen:>> https://www.hioki.co.jp/products/file.php?t=catalog&iid=1_383>> Aber auch hier gab es bei jedem Senden eine Fehlermeldung und auch am> Gerät keine Reaktion.
Ich nehme an, Du meinst die Tabelle auf der zweiten Seite rechts mit den
Unterpunkten a) bis f). Wenn das Gerät in Ordnung ist, muß da was
passieren, wenn Du eines der Kommandos sendest, z.B. die
Bereichsumschaltung mit den R-Kommandos müßte am Gerät zu sehen sein.
Die Adresse muß natürlich richtig eingestellt sein. Außerdem muß die
Remote-LED leuchten, wenn das Gerät über GPIB angesprochen wird.
Werbungsmuffel schrieb:> Die Adresse muß natürlich richtig eingestellt sein.
Da gibt es aber leider alle möglichen Interpretationen der Schalter:
A5 kann Bit 4 oder Bit 0 der Adresse sein
A1 kann Bit 0 oder Bit 4 der Adresse sein
ON kann 1 oder 0 bedeuten
OFF kann 0 oder 1 bedeuten.
Alles schon gesehen :-(
Aber sobald das Gerät als LISTENER angesprochen wird, sollte die
Remote-LED leuchten.
Hallo,
leider ist es mir bisher nicht gelungen die Remote-LED zum Leben zu
erwecken und somit war bisher auch keine Steuerung des Geräts möglich.
Mir fiel allerdings auf, dass das Gerät als Gerät mit ID0 erkannt wird.
Allerdings immer, unabhängig von der Stellung der DIP-Switches.
Vielleicht ist es doch kaputt :(
Auf dem GPIB-Interface Board ist übrigens ein Motorola 6800, also nicht
nur Logik.
Vielen Dank!
Noch was zu den Befehlen der neueren io-connect SW, soweit ich es
mitbekommen haben, benutzen den 488.2 standard, die alten HP Geräte den
488.1, deshalb kommt auch nichts sinnvolles raus wenn man denen IDN?
schickt, probier mal nur ID?, dann sollte es gehen, Sitze auch gerade an
dem gpib zeugs, per e2050a, also LAN-gpib, damit versuche ich derzeit
vergebens per diverser progs einen screen plot vom 8591e zu bekommen...
IEEE 488.1 definiert eine elektrische Schnittstelle.
IEEE 488.2 definiert ein Kommunikationsprotokoll (SCPI) zur Verwendung
auf dieser Schnittstelle.
Wenn ein Gerät nicht explizit SCPI-kompatibel ist (das sind die, welche
auf IDN? hören), dann sind die Kommandos beliebige 8 bit-Werte. Es
müssen keine menschenlesbaren ASCII-Zeichen sein.
Insofern wird keine Software der Welt in der Lage sein, beliebige
GPIB-Geräte zu "identifizieren". Wenn Du ein bestimmtes Gerät erwartest,
kannst Du ein bestimmtes Kommando hinschicken und auf Reaktion prüfen.
Einfach alle Kombinationen zwischen 0x00 und 0xFF FF FF FF FF FF FF FF
ausprobieren dürfte nicht praktikabel sein (und würde wahrscheinlich
auch viele Geräte komplett verwirren).
Bitte mal darauf achten, ob es bei dem Adresswahlschalter außer den 5
Schalthebeln für die Adresse 0-31 nicht noch einen 6. Hebel gibt, mit
welcher man das gerät als Talker+Listener oder als Controller schalten
kann. ( letzteres wäre angesagt, wenn man von dem Gerät z.B. direkt
einen Drucker ansteuern wollte ).
In die IO-Connect Suite von HP gibt es die Möglichkeit an eine bestimmte
Adresse ( welches man vorher an dem Gerät eingestellt hat ) ein ASCII
Befehl abzusetzen.
( Die Befehle sind eigentlich fast immer ASCII. Ich habe bisher nur
einmal eine Ausnahme erlebt, das war das Rohde&Schwarz BDS der
Bildspeicher zum Swob5 . Der wollte in der Tat Befehle im Binärformat ).
Da die Befehle aus der Bedienungsanleitung des Gerätes hoffentlich
bekannt sind, sollte dieses Vorgehen zum Erfolg führen.
Auch kann man in dem Programm vorgeben, welche Deheader benutzt werden.
Es werden fast ausnahmslos CR+LF benutzt. Auch das sollte in der
Bedienungsanleitung des Gerätes vorgegeben sein.
Ein Scannen der IEC-Busadressen könnte eventuell hilfreich sein, wenn
man als Befehl ein dem Gerät bekanntes Befehl sendet. Dann sollte im
Erfolgsfall wenigstens die Remotelampe des Gerätes brennen, weil man bei
irgendeinen Scanschritt die richtige Adresse des Gerätes erwischt hat.
Es sei denn das Gerät ist als Controller konfiguriert.
Es ist dabei völlig egal ob IEEE488.1 oder IEEE488.2, solange man keine
Mehrdrahtbefehle nach IEEE488.2 sendet, wie z.B. *IDN?
Ralph Berres
Nachtrag
Ich habe mir gerade die japanische Seite angeschaut.
In der Rückseitenabbildung steht der Adressschalter auf Adresse 1 ( 1-ON
)
Und die Befehle sind auch dokumentiert.
Also gebe mal einfach in ASCII F1 auf die IECbussadresse 1 , dann sollte
das Gerät auf DC V springen.