LabVIEWForum.de - GPIB

LabVIEWForum.de

Normale Version: GPIB
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe eine Frage in der Sache GPIB ich habe hier ein Programm das in LabVIEW umgeschrieben und dann erweitert wird,
dieses benutzt jedoch noch Low Level Befehle von GPIB wie z.b. unt unl ,... usw. meine Frage ist nun ob jemand weiß wie
ich dieses auch in LabVIEW hin bekommen kann ?
Gibt es irgendwo so eine Möglichkeit bzw. hat das schon jemand gemacht ?

Danke schonmal im vorraus
Hast Du die Befehle schon mal so (unt unl) über VISA an Dein Gerät geschickt?
Ich schicke immer SCPI-Befehle, vielleicht klappt das ja auch.
Ansonsten gibt es unter "Instrument I/O" auch noch unterschiedlilche GPIB-VIs.

Gruß Markus

' schrieb:Hallo zusammen,

ich habe eine Frage in der Sache PIB ich habe hier ein Programm das in LabVIEW umgeschrieben und dann erweitert wird,
dieses benutzt jedoch noch Low Level Befehle von GPIB wie z.b. unt unl ,... usw. meine Frage ist nun ob jemand weiß wie
ich dieses auch in LabVIEW hin bekommen kann ?
Gibt es irgendwo so eine Möglichkeit bzw. hat das schon jemand gemacht ?

Danke schonmal im vorraus
Das Problem ist ja bei VISA das gleich das die VI immer eine Adresse haben wollen,
aber ich das ja allgemein haben will, bzw. das im alten Programm so ist.

Was ich nicht bisher verstanden habe ist warum sie den Befehl transmit bzw, so etwas ähnliches
in LabVIEW nicht hinein haben.
Wobei ich insgeheim hoffe das ich da immer noch irgendwo etwas übersehen habe.

Will einfach nur so etwas senden z.B.:

unt unl mta listen 19 data 'c1;me;a0;fd0;sp101;cw0' end

oder ist das einfach schon in einem anderen zusammengefasst.

unt = alle Geräte untalk
unl = alle Geäte hören zu
mta = PC spricht nur bzw. Controller
listen 19 = sendet listen Kommando an ein Gerä
data = sagt dem Gerät das nun Befehle für es folgen

habe gedacht könnte es ja auch direkt an das Gerät schicken, aber ich schreibe es nur um
und es muss ja einen Sinn haben warum es mit transmit gemacht wurde, weiß das jemand zufällig ?
Und warum gibt es transmit nicht mehr ?
transmit = einfach Befhl auf GPIB Bus senden

oder ist vielleicht SendCmd bei GPIB 488.2 der ersatz in LabVIEW ?

' schrieb:Ansonsten gibt es unter "Instrument I/O" auch noch unterschiedlilche GPIB-VIs.

Gruß Markus

Bei mir geht da immer nur ein Assistent auf.

Das mit SCPI Bfehle sagt mir ehrlich gesagt nicht so viel bin da gestern auch drüber gestolpert
aber die PDF konnte ich nicht herunterladen
Also die von Dir angesprochene Programmiering ist auf absolut lowest GPIB level. NI-488(.2) das von VISA in letzter Konsequenz angesprochen wird macht das fúr Dich alles schon automatisch.

Um einen String an ein Gerät zu schicken wird mit dem Write automatisch zuerst das GPIB Kommando untalk, unlisten, mta, listen <addr> und dann der String geschickt. Im Prinzip ist es also auf VISA Ebene genug um ganz einfach eine Resource zu Deinem Device 19 zu öffnen
(GPIB0::19::INSTR) und dann den String "c1;me;a0;fd0;sp101;cw0"zu schicken. Der Rest sollte ganz von alleine gehen.

Es gibt nur einen kleinen Haken dabei: Die Verwendung dieses low level GPIB Protokolls könnte entweder gewählt sein weil die Umgebung wo das entwickelt wurde keine höheren Kommandos zuliess oder der entsprechende Programmierer nichts besseres wusste, oder es könnte auch sein dass es sich um ein sehr altes GPIB Gerät handelt dass sich nicht an die IEEE-488.2 Normen hält. Diese Instrumente haben manchmal sehr spezifische und komische Anforderungen betreffend der Addressierungssequenz (zum Beispiel bei jedem einzelnen Kommando ein zwingend erforderliches unlisten and untalk auch wenn die vorige GPIB Transaktion bereits mit dem selben Gerät und in die selbe Richtung war), oder Message Termination (jeweils ein bestimmter Character statt der spezifisch dafür vorgesehenen Handshakeleitung), etc.
Viele dieser Dinge lassen sich aber über Property Nodes für die jeweilige VISA Session am Anfang einstellen, wie zum Beispiel Autoreaddressing, oder spezifische Message Termination. Nur in ganz speziellen und esoterischen Fällen könnte es notwendig sein um direkt auf tieferem Niveau einzugreifen.

Rolf Kalbermatter
Vielen Dank für deine Antwort Rolf,

genau das wollte ich wissen, hat mir sehr weitergeholfen, ich werde das gleich einmal herausfinden was der Hersteller dazu sagt, ob die Geräte sich an 488.2 halten.
Ansonsten Vielen Dank.
Referenz-URLs