GPIB ? GPIB !

Antworten
abacom
Site Admin
Beiträge: 3324
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

GPIB ? GPIB !

Beitrag von abacom » Dienstag 14. Oktober 2008, 12:47

ulliban



Anmeldungsdatum: 09.08.2007
Beiträge: 22
Wohnort: Gross Ippener
Verfasst am: 24.03.2008 12:06 Titel: GPIB ? GPIB !

--------------------------------------------------------------------------------

Wer einen Bedarf an GPIB-Kommunikation aus PROFILAB heraus hat, der kann sich von meiner Downloadseite

http://www.ulrich-bangert.de/html/downloads.html

Komponenten dazu downloaden.

Voraussetzung für die Benutzung der Komponenten ist das Vorhandensein eines NATIONAL INSTRUMENTS GPIB-Interfaces (egal ob Einsteckkarte, USB oder sonstwie angeschlossen) sowie eine installierte NI GPIB32.DLL.

Die Frontplatten-Screenshots 6 und 7 zeigen einige PROFILAB-Einschrängungen auf (Messgerät liefert 14 (!) sginifikante Stellen, PROFILAB kann nur 12 signifikante Stellen im Exponentialformat darstellen, y/t-Schreiber Autoscale überfordert, wenn kleine Differenzen mit einem hohen Offset versehen sind, erst Beseitigen des Offsets macht überhaupt etwas sinnvolles sichtbar, Beschriftung der vertikalen Achse nicht richtig sichtbar bzw. zu wenige signifikante Stellen u.s.w.), die mich daran zweifeln lassen, ob es sinnvoll ist, PROFILAB im Bereich professioneller Messtechnik einzusetzen, aber ich weiss, dass ich 2-3 Leute damit richtig glücklich mache.

MfG
Ulrich Bangert

Nach oben


irrer polterer



Anmeldungsdatum: 10.01.2008
Beiträge: 12

Verfasst am: 16.05.2008 16:00 Titel: EZGPIB.DLL für PLE zum Laufen bringen für GPIB-Kommunikation

--------------------------------------------------------------------------------

Hallo!

Ich habe ein kleines Beispiel für mein Multimeter Keithley 2700 zur Spannungsmessung. Dies ist im wesentlichen die Bedienung des Meßgerätes mittels Meßgerätebefehlssatz nach SCPI-Standard. Diese Befehle stellen die Gerätehersteller zur Verfügung.

Bevor ich die EZGPIB.DLL in der PLE-runtime nutzen kann, muß ich erst EZGPIB starten und zur Erläuterung dient das Beispiel. Es liest Meßwerte via GPIB in EZGPIB und kann dann per DLL in PLE genutzt werden.

Program Keithleyinitialisierung;

const Dev = 16;
len = 30;

var str : string;
time : TDateTime;

procedure Init;
begin;
EZGPIB_BusWriteData(Dev,'*IDN?');
EZGPIB_TimeSleep(0.1);
EZGPIB_BusWaitForData(Dev,str,2.0);
Time:=EZGPIB_TimeNow;
//EZGPIB_BusWriteData(Dev,' *RST ; *CLS ;');
//EZGPIB_TimeSleep(5.0);
EZGPIB_BusWriteData(Dev,'TRAC:CLE');
EZGPIB_TimeSleep(0.3);
EZGPIB_BusWriteData(Dev,':SENSE:VOLT:DC:AVER:STAT OFF');
EZGPIB_TimeSleep(0.1);
EZGPIB_BusWriteData(Dev,':SYSTEM:AZERO:STATE OFF');
EZGPIB_TimeSleep(0.1);
EZGPIB_BusWriteData(Dev,':SENSE:VOLT:DC:RANGE 10');
EZGPIB_TimeSleep(0.1);
EZGPIB_BusWriteData(Dev,':SENSE:VOLT:DC:DIGITS 4.5');
EZGPIB_TimeSleep(0.1);
EZGPIB_BusWriteData(Dev,':SENSE:VOLT:DC:NPLC 0.01');
EZGPIB_TimeSleep(0.05);
EZGPIB_BusWriteData(Dev,':FORM:ELEM READ');
EZGPIB_TimeSleep(0.3);
end;

procedure FetchData;
begin;
EZGPIB_BusWriteData(Dev,':fetch?');
EZGPIB_TimeSleep(0.05);
EZGPIB_BusWaitForData(Dev,str,2.0);
Time:=EZGPIB_TimeNow;
end;

procedure DisplayData;
begin;
EZGPIB_ScreenWrite(Time);
EZGPIB_ScreenWrite(' ');
EZGPIB_ScreenWriteLn(Str);
end;

//procedure HandleData;
//begin;
// EZGPIB_DDEServerAssignvalue('AverageVoltage',Str);
//end;

begin;
Init;
repeat
FetchData;
//HandleData;
DisplayData;
EZGPIB_TimeSleep(0.05);
until EZGPIB_KbdKeyPressed;
end.

Als runtime in PLE reichen eine handvoll Blöcke. Darunter der DLL-Import und eine string-Anzeige.

Ausgang DLL-Block ist der string-Ausgang, der die string-Anzeige speist.

Eingänge von oben:

Taktgeneratorgenerator
FW Nr.1 mit Geräteaddresse, bei mir 16 oder 14
FW Nr.2 "11" ist gut, Länge des time out
Vcc +5VDC
Schalter logisch 1 oder 0, für Zuschalten der ÜTRA-Anzeige
Konstante <=> der Befehl, der vom Meßgerät den Meßwert abruft, zB. ":MEASure?"
ABACOM support

Antworten

Zurück zu „Thema GPIB“