Keithley 2182 - komunikacja rs232

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Keithley 2182 - komunikacja rs232

Post autor: fajfi »

Cześć,
piszę program pomiarowy, w którym wykorzystuję nanowoltomierz Keithley 2182.
Nie mamy karty GPIB stąd pomysł komunikacji przez port rs232.
Jak na razie potrafię wysyłać rozkazy do miernika. Np. zmienić kanał, ustawić odpowiednią liczbę cyfr na wyświetlaczu czy przełączać się między pomiarem napięcia i temperatury.
Jednak do tej pory nie udaje mi się niczego odczytać z miernika.
Swoją próbę załączam w pliku.
Wpisywałem przykładowe stringi z manuala, ale nie widzę efektu.
Nie mam pojęcia jakiej liczby bajtów potrzebuje bloczek "read visa".
Co robię źle i jak uzyskać odczyt?
I jeszcze jedno dziwne zachowanie: jak puszczam program po raz pierwszy po włączeniu miernika, to wysyłanie komend działa prawidłowo (z wyjątkiem odczytu),
jeśli jednak uruchomię go po raz drugi, to na mierniku pojawia się błąd -110 czyli command header error.
Pozdrawiam
Fajfi
Załączniki
moje-proby.vi
(13.79 KiB) Pobrany 409 razy
TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

Keithley 2182 - komunikacja rs232

Post autor: TMa »

Spróbuj nawiązać komunikację poprzez zwykły COM terminal. Przetestuj wszystkie komendy odczytu i zapisu. Następnie możesz uruchomić VISA test panel spod MAX i tam powtórzyć te czynności. Tak będziesz miał pewność, że jedyne błędy jakie występują są związane z twoim kodem.
Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Keithley 2182 - komunikacja rs232

Post autor: fajfi »

Cześć,
próbowałem wysyłać odpowiednie komendy przez MAXa (swoją drogą bardzo fajna rzecz, szkoda, że wcześniej tego nie używałem).
Efekt jest taki jak poprzednio: tzn. w zakładce viWrite wszelkie rozkazy ustawień miernika działają bez zarzutu, zaś w zakładce viRead bezustannie pojawia się błąd: BFFF0015.
Jak dotąd nie udało mi się odczytać nawet jednej wartości...
Aha, odczyt próbowałem poprzedzić różnymi rozkazami, nie tylko "read?'. Efekt wciąż ten sam.
Czy ktoś zmagał się z podobnym problemem?
Pozdrawiam
Fajfi
PS. Multimetr na pewno jest w porządku, gdyż jeszcze niedawno komunikacja przez rs działała pod visual basicem.
Grzesiek080
Posty: 82
Rejestracja: 26 maja 2009 07:18
Wersja środowiska: LabVIEW 2012
Lokalizacja: Sucha Beskidzka
Kontakt:

Re: Keithley 2182 - komunikacja rs232

Post autor: Grzesiek080 »

TMa
Posty: 203
Rejestracja: 07 sty 2010 12:56
Wersja środowiska: LabVIEW 2017

Re: Keithley 2182 - komunikacja rs232

Post autor: TMa »

Awatar użytkownika
fajfi
Posty: 185
Rejestracja: 28 sty 2004 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Wrocław

Re: Keithley 2182 - komunikacja rs232

Post autor: fajfi »

Ech, przyznaję: spanikowałem...
Okazało się, że za mało szczegółowo inicjalizowałem pomiar.
Już wszystko działa jak należy.
Jakby na przyszłość ktoś potrzebował, to wystarczyło dać następujęce komendy:
*IDN?
*RST
*CLS
:INIT:CONT OFF;:ABORT
:SENS:CHAN 1
:SYST:AZER:STAT ON
:VOLT:CHAN1:LPAS:STAT OFF
:VOLT:CHAN1:DFIL:STAT OFF
:SENS:VOLT:DC:NPLC 1
:TRIG:DEL 0
:TRIG:SOUR IMM
:SAMP:COUN 1
:INIT
a potem w pętli:
READ?
:TRAC:CLE
i zakończyć:
*RST
:STAT:PRES
:INIT:CONT ON

Pozdrawiam
Fajfi
PS. ad TM: Wolałbym jednak coś "prostszego" :)
ODPOWIEDZ