Hallo, weiß nicht ob es hier rein gehört, aber ich bin so langsam am verzweifeln. Versuche ein HP8153A (Leistungsmessgerät) über einen ADLINK GPIB-USB Adapter über Labview anzusprechen, leider ohne Erfolg. Sowohl der Adapter als auch das Gerät werden erkannt und ich kriege eine VISA Adresse zugewiesen. Auch wenn ich am Gerät die Adresse ändere, wird diese auf dem Rechner aktuallisiert. Die Verbindung besteht also. Nur sobald ich versuche Befehle zu schicken, kommt ein Fehler wegen Zeitüberschreitung ( sprich keine Antwort vom Gerät). Der HP steht auf Listen und Talk, müsst also antworten können. Auch schaltet er in den Remote Modus sobald eine Anfrage kommt, nur schickt er nichts zurück. Hab zuvor leider noch nicht mit GPIB gearbeitet. Was muss ich beim übermitteln von Kommandos beachten ? Habe auch schon alle möglichen Abschlußzeichen drangehängt ( \n, CR usw. ) alles ncihts gebracht. Habe auch die Labview treiber für das Gerät von der NI Seite runtergeladen, die funktionieren auch nicht. Wäre für jegliche Hilfe Dankbar.
Nur zum Beantworten der Frage, falls jemand per Suche auf diesen Artikel stößt, ist ja schon fast fünf Monate alt.... Nicht jedes Gerät gibt auf den "*IDN?" Befehl eine Rückmeldung. Ich meine es waren auch Toellner Netzteile der 1200 Watt Klasse, die darauf nicht reagieren. Grund ist, sofern ich es noch richtig im Kopp habe, daß diese Geräte nach der IEEE-488 Norm arbeiten und da gibt es lt. Spezifikation diesen Befehl nicht. Erst als viel später GPIB rauskam mit einer Erweiterung des Befehlssatzes, war das möglich. Zwar steht in deinem Frage-Artikel nicht der Befehl, aber in dem Thread-Titel. Daher gehe ich mal davon aus, daß du es nur mit dem Befehl versucht hast.
Hi, um mal die Richtigstellung richtig zu stellen: GPIB und IEEE488 ist eigendlich alles dassselbe. Den IDN? Befehl gibt es aber tatsächlich nicht bei allen Geräten. IDN? ist erst ab IEEE488.2 spezifiziert. Ältere Geräte, aber auch einige neuere arbeiten aber nur nach IEEE488.1. Wobei gerade die neueren Geräte nach 488.1 Standart oft auch IDN? und einige andere Befehle des .2 Modes unterstützen. Der Grund warum die nur als .1 Verkauft werden liegt in anderen Unterschieden. Wenn es Probleme mit der Kommunikation gibt, dann kann es auch am eingestellten Verfahren der Befehlsübermittlungsabschlussidentifikation oder kürzer "String Termination" liegen. Es gibt einmal eine sogennate EOI Leitung. EOI steht für "End or Identify", diese Leitung wird gesetzt wenn das letzte Byte einer Übertragung erreicht ist und somit die Übertragung beendet ist. Neben der ENDE Erkennung übder die EOI Leitung gibt es noch die Möglichkeit eines Termination Bytes, also ein Bestimmtes Byte das als letztes übertragen wird und das Ende der Übertragung anzeigt. Jetzt kann man bei vielen Geräte einstellen ob man die Erkennung über EOI, über das Terminierungsbyte oder aber gar beides Zusammen nutzen will. Passen die Einstellungen von Sender und Empfänger nicht zusammen, funktioniert es einfach nicht. Zu den Bezeichnugnswirrwar: Der IEEE488 Bus wurde ursprünglich von der Firma HP entwickelt und dort bei MEssgeräten eingesetzt. Er nannte sich da HP-IB. (=HP Instrumennten BUS) Dann begannen aber auch andere diesen Bus zu verwenden, ausserdem wurde die Anwendung auch ausserhalb des reinen Messgerätebereiches betrieben. Z.B. Verbindung Computer Laufwerke, oder Computer Drucker usw... Da wurde dann aus dem HP-IB dann GP-IB (B= General Purpose Interface BUS = Universeller Interface Bus) Da die Bedeutung dieses Busses immer weiter zunahm wurde er dann schließlich auch von weiteren Institutionen stadartisiert. In den USA dann von der IEEE als Standart 488, von der ANSI als Standart MC 1,1 und in Deutschland als IEC-625. Wobei alles dasselbe meint. Nur die teilweise unterstützten Mindestbefehle unterscheiden sich bei den Verschiedenen Revisionen. Natürlich unterscheidne sich auch die möglichen Arten der Datenübertragung, es wurde immer schneller, aber das ist ALLES abwärtskompatibel. Man kann problemlos ein NEUES R&S Gerät mit HS488 Funktion an einen alten C64 mit IEC Bus hängen und damit bedienen. Umgekehrt funktioniert das auch! Erwähnenswert ist vieleicht noch, das sich die Standart IEEE488 und IEC-625 allerdings im Punkt des Steckers unterscheiden. IEEE488 beschreibt den alseits bekannten 24Poligen Centronics Stecker, IEC 625 hingegen einen normalen 25 Poligen Sub-D Stecker (meine aber auch schon die Version mit 23Poligen SubD gesehen zu haben). Mit hilfe eines Adapters ist aber schnell für Kompatiblität gesorgt. Die sonstigen Specs sind 100% Identisch. Gruß Carsten
Carsten hat einen großen Teil schon richtig erklärt. Bliebe noch die Frage ob das Gerät den SCPI Zeichensatz implementiert hat oder noch mit alten scryptischen Zeichen, die für jedes Gerät erfahrungsgemäß anders ausgesehen, hat. Ich kenne jetzt dein Monitorprogramm nicht. Aber fast jede IEC-Buskarte hat in seinen Treiberpaket auch ein Zusatzprogramm, in der man einfach ein Befehl eingeben kann um zu sehen ob und wie das Gerät reagiert. Manche Geräte unterscheiden , ob es ein Befehl zur Einstellung eines Gerätes ist, oder ein Befehl zur Abfrage eines Gerätes ist mit einen ? hinter dem Befehl. Also z.B. bei einen Signalgenerator lautet der Befehl zur Frequenzeinstellung "F100MHz" die Abfrage der Frequenz aber "F?". Wieder andere Geräte z.B Counter wollen erst ein"F" und dann hinterher ein Trigger in der Form z.B."T" als Auslösen der zuvor gewählten Funktion haben. Das muss man im Handbuch des Gerätes nachschauen. Dann wie Cartsen schon geschrieben hat auf das EOI achten. Bei vielen Geräten kann man entweder mit Dipschalter , oder über ein Menue konfigurieren, wie er auf das letzte Datenbyte reagiert. EOI Leitung? CR oder ( und ) LF als letztes Zeichen in einen Datenstring. Die Computerseitige IECbús Schnittstelle muss auf de´n gleichen EOI Modus eingestellt sein. Keinesfalls wird in den Ascii Befehle die man eingibt ein CR oder LF drangefügt. Das macht der Computer gegebnfalls selber. Was ich auch schon erlebt habe ( Rohde&Schwarz BDS das ist der digitale Bildspeicher zum Swob5 ) das ein Gerät keine sonst übliche Ascii Befehle kennt, sondern die Befehle ( sogar die Gerätenachrichten ) in Binärfile haben wollte. Das gab ganz lustige Effekte beim erstellen des Steuerprogrammes. An diesem Fehler habe ich beinahe ein halbes Jahr gesucht, bis ich dahinter gekommen bin. Ralph Berres
Hallo Alex Ich habe mal nachgeschaut. Lade dir mal dieses PDF File runter http://cp.literature.agilent.com/litweb/pdf/08153-90011.pdf Da stehen sämtliche Befehle, die das Gerät kann, drin. Es hat die heute allgemein gültige SCPI Sprache implementiert. Es reagiert auch auf das "IDN?", und sollte sich mit der Typenbezeichnung, Softwarestand zurückmelden. Wenn sich der Bus aufhängt, stimmt entweder was nicht mit der Konfiguration deinem IEC-Bus Adapter, ( EOI? Das Gerät antwortet mit CR als Endzeichen ), oder du gibst die Befehle falsch ein. Eventuell könnte es noch sein , das ein anderes Gerät am Bus dein Bus blockiert, weil er aus welchen Grund auch immer die Handshakeleitung nicht freigibt. ( Hatte ich auch schon mal bei einem Rohde&Schwarz SMLU Fernbedienungscontroller ). Verbinde mal dein HP8153 als einziges Gerät mit deinen PC, um das auszuschließen. Ralph Berres
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.