INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

GPIB fuer Dummies. Bidirectional ? Puffer ?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

11.02.2010, 23:30
Beitrag #1

Andinger Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Feb 2010

7.1
2010
de_en

95447
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
Hallo,
ich bin neu. Ich habe ein bisschen mit LabVIEW herumexperimentiert und moechte nun ein evtl. groesseres Projekt starten.
Ein Teil hierbei ist die Kommunikation via GPIB mit einem Impedanzspektroskop.

Ich habe sehr wenig Ahnung von GPIB und Geraetekommunikation allgemein und dementsprechend ein paar allgemein Fragen, die fuer die erfahrenen hier wahrscheinlich etwas laecherlich klingen. Ich wuerde mich aber dennoch ueber antworten freuenSmile

Einen ersten einfachen Test habe ich mit einem Keithley 2000 gemacht. Das folgende VI liefert den aktuellen Messwert.

   

Hier bei faellt auf, dass die Wartezeit anscheinend egal ist. Der Wert steht solang irgendwo Schlange bis er ausgelesen wird.
Danach ist er allerdings weg, denn hier:

   

...haengt das Programm dann beim 2. Mal lesen und ich muss es mit dem STOP Knopf beenden.
Das Geraet bleibt aber auf TALK stehen. Dann verstehe ich nicht, warum ich nicht oefter READ GPIB verwenden kann.

1. Es gibt also anscheinend irgendwie einen Puffer und der merkt wann etwas davon ausgelesen wird. Ist das korrekt?

2. Der Puffer scheint sich im Keithley zu befinden und nicht auf der Controllerkarte, denn wenn ich waehrend der Wartezeit das Keithley ausschalte klappt es nicht mehr. Ist das korrekt?

3. Ich habe gelesen das VISA eine Art verallgemeinerte, hoehere Sprache fuer GPIB Befehle ist. Kann man das so sagen?

4. Was ist denn dann nun der Unterschied von VISA Write und GPIB Write. Die Befehle die das Geraet erwartet sind doch im Geraet festgelegt und muessen im Manual nach geschaut werden.

5. Ist mein VI vom Aufbau her korrekt oder ist es irgendwie unsauber? Ich meine, muessen irgendwelche Verbindungen erst initializiert werden bzw. wieder geschlossen werden, damit es sauberer ist?

6. Lese ich zweimal, piept das Keithley. Anscheinend heisst das der Puffer war noch nicht leer und der alte Wert wurde ueberschrieben.    
Das ist aber komisch, weil da doch sicherlich mehr als ein Messwert reinpasst...

7. Kann man noch waehrend der Puffer ausgelesen wird neue Befehle schicken? Oder kann ein Geraet immer nur entweder TALKer oder LISTENer sein?

Ueber jegliche Erklaerung sehr dankbar.
Andinger
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.02.2010, 08:15
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
Ich kann Dir zu den ganzen GPIB-VIs nichts sagen. Ich steuere meine Geräte immer mit VISA und SCPI-Befehlen an. Da gibt es keine Probleme.
Dort habe ich mal ein Bsp. gemacht:
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=48667

   

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2010, 08:41 (Dieser Beitrag wurde zuletzt bearbeitet: 12.02.2010 08:43 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
Hi Andinger,

dann schnapp dir mal das (gut gemachte) Manual zu deinem K2000.

Dort findest du einen Punkt, wie man das K2000 einstellen muss, dass es auf Anfragen auch antwortet. Es gibt nämlich die Möglichkeit, nur zu antworten, wenn mit einem expliziten Befehl danach gefragt wird. Das Gerät kann aber auch auf jede Leseanfrage mit einem neuen Wert antworten... Man muss es dem Gerät nur entsprechend mitteilen. Wie und was steht im Manual. Wer lesen kann, ist klar im Vorteil :-)

Da GPIB im Grunde eine parallele Schnittstelle ist, können die Geräte immer nur in eine Richtung arbeiten...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2010, 14:42
Beitrag #4

Andinger Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Feb 2010

7.1
2010
de_en

95447
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
@Y-P: Ist VISA also eine hoehere Sprache die auf dem GPIB Bus laueft ?

@GerdW: Ich hab momentan doch noch gar kein Probleme. Mein VI funktioniert doch (zumindest die erste Variante).
Ich habe nur Fragen zu GPIB.
Eine Frage wurde bisher beantwortet, und zwar das die Kommunikation nicht bi-direktional ist.
Die Begruendung ist allerdings nicht richtig, denn parallele Kommunikation allgemein kann sowohl Full- als auch Half-Duplex sein.


Kennt sich damit echt keiner genauer aus?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2010, 14:45
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
' schrieb:Kennt sich damit echt keiner genauer aus?
Reicht das?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2010, 14:51
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
Hi Andinger,

ok, ich habe mich unklar ausgedrückt: Es kann immer nur einen Talker am Bus geben! Die Geräte können immer Daten empfangen und senden, aber halt nicht gleichzeitig...

VISA ist eine allgemeinere (Software-)Schnittstelle, über die man diverse Hardware-Schnittstellen ansprechen kann. Zu den unterstützten Schnittstellen gehört auch GPIB. Die (älteren) GPIB-Funktionen sind nur speziell auf die GPIB-Schnittstelle ausgerichtet. VISA bietet aber die gleichen Funktionen an, nur etwas stärker abstrahiert...

Ansonsten gibt's ja immer noch http://www.giyf.de für allgemeine Fragen zu Schnittstellen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.02.2010, 15:19
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
Ich kenne mich nicht mit GPIB aus (naja, jetzt schon als ichs in WikiPedia nachgelesen habe), aber ich kann was zu deinen Fragen sagen.

Vorab:
GPIB ist ein Protokoll auf einer ganz tiefen Ebene. Hier sind also nur hardwarenahe Sachen spezifiziert. Ob ein gerät einen Puffer hat (etc.), liegt nicht in der Spezifikation des GPIB.


' schrieb:1. Es gibt also anscheinend irgendwie einen Puffer und der merkt wann etwas davon ausgelesen wird. Ist das korrekt?
Das ist kein Puffer im Sinne eines Puffers.
Das Endgerät bekommt den Befehl, bestimmte Daten zum Senden bereitzustellen (dein erster GPIB-Befehl). Mit diesem Befehl stellt sich das Gerät zuerst die Daten zusammen, senden darf das Gerät aber nicht. Senden darf es erst, wenn der READ-Befehl (dein zweiter GPIB-Befehl) kommt. Dem Endgerät ist es egal, welche Zeitspanne zwischen dem ersten und dem zweiten Befehl liegt. Wurden die Daten einmal gesendet, sind sie, von Endgerät ausgesehen, weg. Zweimal READ hintereinander geht also zu erst einmal nicht.

Zitat:2. Der Puffer scheint sich im Keithley zu befinden und nicht auf der Controllerkarte, denn wenn ich waehrend der Wartezeit das Keithley ausschalte klappt es nicht mehr. Ist das korrekt?
Klar. Muss so sein. Es muss ja ein bestimmter Ablauf für die DÜ zwischen PC und Endgerät eingehalten werden. Dieser Ablauf ist im übrigen ein "Protokoll". In wie weit ein solches (höheres) Protokoll in GPIB (siehe DIN) integriert ist, weiß ich nicht.

Zitat:3. Ich habe gelesen das VISA eine Art verallgemeinerte, hoehere Sprache fuer GPIB Befehle ist. Kann man das so sagen?
Nein. So allgemein kann man das nicht sagen.
VISA ist eine sehr hohe Protokollebene. Das bedeutet aber (leider), dass, wenn man was mit VISA macht, ein Handle benötigt wird. Dem VISA-System muss man nämlich mitteilen, was man machen will: COM-Schnittstellen, LPT-Schnittstellen, möglicherweise auch GPIB-Schnittstellen, TCP/IP oder was auch immer. Während dieser Initialisierung, "sucht" sich nämlich das VISA-System die entsprechenden (gekapselten) Treiber, die dann genau diese eine Aufgabe machen können.
Möglicherweise gibt es für dein Endgerät VISA-Treiber. Die sind dann aber spezifisch nur für dieses Endgerät anwendbar. Beim Initialisieren musst du dann angeben: "K2000". Dann würde ein Lesebefehl, der jetzt aus zwei GPIB-Befehlen besteht, nur noch ein einziger Aufruf sein.

Zitat:4. Was ist denn dann nun der Unterschied von VISA Write und GPIB Write. Die Befehle die das Geraet erwartet sind doch im Geraet festgelegt und muessen im Manual nach geschaut werden.
VISA ist eine Protokollebene mindestens drei (sag ich jetzt mal so) höher als GPIB.
Ein VISA-Treiber könnte die Befehle kennen, dafür ist die Protokollebene ja höher. Ein VISA-Befehl würde aus mehreren GPIB-Befehlen bestehen - wieder aufgrund der höheren Protokollebene.

Zitat:5. Ist mein VI vom Aufbau her korrekt oder ist es irgendwie unsauber? Ich meine, muessen irgendwelche Verbindungen erst initializiert werden bzw. wieder geschlossen werden, damit es sauberer ist?
Hier zu antworten fehlen mir diverse Hintergrund Infos zu der GPIB-Implementierung in LV.
Wäre ein Öffnen/Schleißen etc. notwendig, müsste das GPIB-VI einen Handle-Eingang haben, der zwangsverdrahtet werden muss.

Zitat:6. Lese ich zweimal, piept das Keithley. Anscheinend heisst das der Puffer war noch nicht leer und der alte Wert wurde ueberschrieben. Das ist aber komisch, weil da doch sicherlich mehr als ein Messwert reinpasst...
Gemäß der niedrigen Protokollebene ist es eben kein Puffer, sondern nur eine (1) Warteposition.

Zitat:7. Kann man noch waehrend der Puffer ausgelesen wird neue Befehle schicken?
Sowas wäre eine Funktion einer höheren Protokollschicht.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2010, 17:21
Beitrag #8

Andinger Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 65
Registriert seit: Feb 2010

7.1
2010
de_en

95447
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
Vielen Dank euch! Langsam wird es mir klarer.

@Ich selbst: Ich gehe mal davon aus dass du dieses Wissen nicht von dem Wikipedia-Artikel hast, denn ich kann das alles da nicht zwischen den Zeilen rauslesenSmile

Interessant jedenfalls. Ich sag dem Geaet Daten sammeln und dann sag ich Daten uebertragen. OK. Ma kucken in wie weit ich dass jetzt auf das Impedanzspektroskop uebertragen kann.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.02.2010, 19:59
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
GPIB fuer Dummies. Bidirectional ? Puffer ?
' schrieb:Ich gehe mal davon aus dass du dieses Wissen nicht von dem Wikipedia-Artikel hast, denn ich kann das alles da nicht zwischen den Zeilen rauslesen
Stimmt. Cool

Dank einmal Überfliegen WikiPedia weiß ich jetzt, dass GPIB "General Purpose Interface Bus" heißt, die Norm dazu wohl "DIN IEC 60625-1:1981-05" und dass GPIB also ein Protokoll ich tippe mal Ebene 2 ist.

Der Rest ist Grundwissen zu Datenübertragung, die Kenntnis, wie ein Protokoll im allgemeinen funktioniert und wie das OSI-Sieben-Schichten-Modell im Groben aussieht und funktioniert. Cool

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VISA liest weniger Bytes wie im Puffer beppone 2 4.269 14.11.2011 19:53
Letzter Beitrag: beppone
  USB-Raw Visa Puffer svabinio 0 3.974 09.12.2007 00:54
Letzter Beitrag: svabinio
  Visa liest nicht alle Daten vom Puffer Frostenskog 3 3.782 17.08.2006 16:41
Letzter Beitrag: Mr.T
  Konfigurierung eines SDO fuer CAN-Bus HW UoS 2 5.077 12.07.2005 06:25
Letzter Beitrag: UoS

Gehe zu: