10-11-2013 09:25 AM
Hi all,
Like many grad students before me, I am stuck using legacy equipment in the lab. Specifically for us a handful of Keithley 196 Digital Multimeters. They still work great and there's no need to buy new more modern equivalents. However, they haven't really been supported in a while, and the LabVIEW drivers (while available) don't look like they've been updated since 1993. (Is that really 20 years ago now? Yikes!) In an effort to learn more about LabVIEW and also to learn to use VISA instead of GPIB calls I've written an updated driver using VISA calls based on the official Keithley one found here: http://sine.ni.com/apps/utf8/niid_web_display.model_page?p_model_id=953.
It also adds some functionality to the driver originally excluded. I'm not sure it'll be useful for anyone but me, but I thought I'd post it here just in case. I'd also welcome any constructive criticism, hints, tips, etc, as this is the first time I've written an instrument control driver.
10-11-2013 11:05 AM
Have you tested this driver? All of the instruments I have used in the past want some time of termination for a command, usually a semicolon. But you have all of the commands smashed up together. If the instrument is fine with that, that's fine. I just find it weird.
And you should look into the Format Into String function. You can make your code a lot easier to read with that guy instead of constantly concatenating strings together.
10-11-2013 11:42 AM
Using Ext representation seems silly and when you convert the filter from ext to an integer, even more so. Doesn't affect the operation probably, though.
10-11-2013 02:01 PM
Dennis,
Using ext for the filter was just copy paste laziness on my part. Will definitely take a closer look at the data types I'm throwing around.
Crossrulz,
The concatenating strings is what the Keithley guys used in their original driver, I just followed suit. I'll definitely look into using format into string and try to make the code a little cleaner. I have tested this driver extensively and everything works so far! Not to say there aren't issues that might pop up later. The 196 is a little odd in that all you need to give device specific commands is a string all smashed up together follwed by X. X then executes the command. No other characters necessary as far as I know. For anyone interested the manual can be found here: http://www.testitnow.co.uk/media/files/test_equipment_manuals/Keithley/Keithley%20196%20(Rev%20D)%20...
Thanks for the critiques guys!