Jump to content

Keithley 3706A automation


Recommended Posts


I am trying to get my Keithley3706A up and running with LabVIEW but there are still some problems I am facing.



I want to measure x channels with usage of filter.

So I want to measure each channel x times and filter the results.


I have found some functions like:

dmm.filter.enable = True

dmm.filter.count = 100

dmm.filter.type = dmm.FILTER_REPEAT_AVG

dmm.filter.window =0,1


but it seems it still wont work.


I am using the vi's Keithley itself provides on their homepage.


Another problem I have is that I cant get more than 9 values into my buffer, for example if i want to create a scanlist with 1001:1010 I only get one value. If i create my scanlist with 1001:1009 it works just fine.


I could not find any reference to this problem by now.



thanks in advance


Link to comment
  • 2 years later...

I'm also learning/using a 3706A with Labview, and might be able to provide some insight.  

There are two main ways to programmatically take measurements (that I'm aware of).  Calling the DMM directly, with dmm.measure(), and using the Scan Model with scan.execute().


When you create a scan, scan has two properties that will determine how many readings you will take.  scan.scancount, and scan.measurecount.

Scan.scancount = how many times to run the scan

Scan.measurecount = how many measurements to take per channel per scan


Also, make sure you set the buffer size to appropriate number with bufferVar = dmm.makebuffer(n),  and set the buffer to append with bufferVar.appendmode = 1 (actually, this may not be necessary on a single scan).  dmm.measurecount is how many filtered (in your case) measurements to take when you execute dmm.measure(bufferVar).  


When you set the dmm.filter.count, that is for how many readings to take to create one filtered reading, using dmm.filter.type.   You apply dmm configurations to channels, and then implement a scan to iterate over the channels in the scan list.    You don't have to use a scan, you could directly call dmm.measure(bufferVar) 


The 3706A also has Lua, a scripting language, on it.  Personally,  I'm using scripts that define Scan methods, which I can pass parameters (like the channel list, scan count, etc), to execute scans flexibly, and then reading the buffer back.   In Labview, I'm using the Script Execute .vi to execute the scripts. 


Let me know if this information makes sense :)  



edit : Oh, this is from 2015... :(

Edited by chriscoxtx
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.