03-26-2009 12:11 PM
Hello,
This time I try to read data from a Pico-Amperemeter Keithley 6485. It is connected via serial RS232. I installed the driver found on the website of Keithley. I have LV 8.5 and installed VISA 4.5 (with COM support).
I am a beginner so I might be missing something big... I tried to write a program as short and simple as possible that first intializes, then reads and closes the device (see attached file). But when I run it, nothing happens and clicking the "stop" button only really stops after around 10 seconds. I'm not quite sure about the device name I should enter, I just used one I read somewhere "ASRL1::INSTR". Could it be the mistake ?
Any help is welcome 🙂
03-26-2009 02:59 PM
You did not include the driver so I had to look at Keithley's web site. The only driver I saw there is an IVI driver. It mentions that you need something called the Keithley I/O Layer. You would also need the IVI Compliance Package. You should also verify that you are using the correct type of serial cable. I would recomend a quick check by using Hyperterminal. Assuming the instrument supports it (check the manual), just send a *IDN? command and see if you get anything back. Your VI would also return an error message and error code. You should also provide the code that you get.
03-27-2009 06:13 AM
Hi,
Thanks for your answer. Yes, I forgot to put a link to the driver.
I now intalled both the I/O Layer and the IVI Compliance Package. I just tried Hyperterminal. I'm not sure I used it properly: as I could not write directly in the terminal I wrote in a text file containing "*IDN?" that I sent to the device. I got no answer on Hyperterminal but the device display changed from the current value display to something like "--------". I didn't know there were different types of serial cable.
The problem also is that with my VI I get no error message, it just seems to be blocked and I have to click stop and wait.
03-27-2009 06:36 AM
I just used "Measurement and Automation" and clicked on "Open VISA Test panel" then "Basic I/O". I sent *IDN? and the device displayed Error -101 which, owing to the manual, means Invalid Character.
03-27-2009 06:38 AM
If you can't type in the Hyperterminal window, then something is seriously wrong with the connection.
The two general types of serial cable are null-modem and straight-through. A null modem has the Tx and Rx signals crossed. The manual should tell you which type to use and you can check what you have with an ohmmeter.
03-27-2009 08:38 AM
03-27-2009 09:47 AM
In "Measurement and Automation", I can send *IDN?\n with the tab viWrite and with the tab viRead, I get "KEITHLEY INSTRUMENTS INC etc.." and status (in red) says BFFF0015 which meaning I don't know. But with the function READ? , I get nothing but the same status code. I tried adding \n at the end and I tried with a different endings configuration (CR, LF) without succes. When I send "READ?\n", the device gives an error code meaning "Invalid with INFinite ARM:COUNT" (from the manual).
03-27-2009 10:08 AM
Okay, so you are able to communicate. There must have been something wrong with the setup in Hyperterminal.
With many instruments, you cannot simply issue a Read? command. The instrument needs to be triggered and a measurement stored before you can read it. If the instrument supports it, you can try a MEAS? command which might force a reading to be stored.
You got comunication to work by appending a \n. I don't know what the driver expects. See if this is selectable for the instrument itself. If it is (i.e. you could select either \r or \r), try changing the setting of the instrument and rerunning the driver.
03-27-2009 11:13 AM
I still have an error on the instrument when receiving MEAS?\n
But I was able to change some settings like the measure range. I'll do some more tests later.
Thanks for your help