-
RE: Running measurement customizable scripts on Keithley 2636 via Python (PyVISA) - Speed problems
How goes the project with the 4 SMU channels?
You can treat the A and B versions the same from command set standpoint.
Are you putting them on TSP-LINK and connect PC to just one of them?
For fast performance in the source + measure actions, using trigger model is way to go.
But this means place the data into buffers.
Most typically, the data is available when the trigger model task completes.
Your script/collection of commands could just print the data or you can have PC send a printbuffer() command.
So the task shifts to coordination of the 2600x trigger model with the PC/Python.
With the script writing feature of TSP, you can bundle the trigger model definition commands in a function that is loaded into runtime memory. You can define parameters so that the function is flexible. Also make a run_it() function. Then your Python code does not have to send a lot of characters for each time you run it. -
RE: Running measurement customizable scripts on Keithley 2636 via Python (PyVISA) - Speed problems
A couple comments and a file attachment that may help.
Example 3 in the attachment has some Python snippets and TSP code.
Comment 1: if your model is 2636 without any letter suffix after, it does not support the smuX.trigger.xxx commands.
Comment 2: check the readings/sec rate supported by the model for various settings (datasheet has them). 1 usec reading rates are way too fast of an expectation. -
RE: error in using TekPWS4000 (Tektronix.TekPWS4000.Interop)
Are there C# examples distributed with the IVI driver? How are those?
Does driver support 64-bit target? -
RE: Keithley DMM7510 2-Wire RTD Feature request
In meantime, can you use 4-wire RTD mode, but jumper the sense hi to HI and sense LO to LO at the DMM terminals and then connect your 2-wire sensor -
RE: Tektronix 2424L self test problems
-
RE: TekTalk Search Not Working
-
RE: How to capture screen via USB on MSO44
Check out the free TekScope Utility.
TekScope Utility -
RE: eScope not display scope screen but a broken image icon instead
Escope can be finicky with the older TDS3000B series scopes. If you are unable to get a browser combo to work consider looking at TekScope Utility. -
RE: Simultaneous Source Output and Digital IO
Attached is a document that describes how to make use of the TSP functions and scripts from LabVIEW.
The LV driver for 2600x has a Load Script VI. -
RE: Simultaneous Source Output and Digital IO
Great progress. Let me give you some trigger model sample code to illustrate the very tight timing you can achieve.
Attached is a scope capture.
The digital IO have pull up resistors so will be at 5V or logic HI by default. Looks like you want a rising edge trigger for your DAC board, so you've been using a mode command to change the DIO state. The scope capture starts at that occurrence.
Subsequently, when the trigger model task is started, the DIO goes to 5V and the SMU goes to 10V.- function config_smu(v_src, iLimit)
- smua.source.func = smua.OUTPUT_DCVOLTS
- smua.source.limiti = iLimit
- smua.source.rangev = v_src
- smua.source.levelv = 0 -- this is the resting bias level as soon as output is turned on
- smua.measure.nplc = 1
- smua.measure.delay = smua.DELAY_AUTO
- smua.measure.delayfactor = 1.0
- end -- function
- function config_dio()
- digio.trigger[1].mode = digio.TRIG_RISINGM
- digio.trigger[1].stimulus = smua.trigger.ARMED_EVENT_ID
- digio.trigger[1].pulsewidth = 1.000000
- end -- function
- function config_trigger_model()
- smua.trigger.arm.count = 1
- smua.trigger.arm.stimulus = 0
- smua.trigger.source.stimulus = smua.trigger.ARMED_EVENT_ID
- smua.trigger.source.action = 1
- --smua.trigger.source.linearv(10.000000, 10.000000, 1)
- smua.trigger.source.listv({10}) -- single point list sweep is another way
- smua.trigger.source.limiti = 0.1
- --smua.source.delay = 1.000000
- smua.trigger.autoclear = smua.ENABLE
- smua.trigger.count = 1 -- set this equal to number of sweep or list points
- smua.trigger.endpulse.action = smua.SOURCE_HOLD
- smua.trigger.endsweep.action = smua.SOURCE_HOLD
- end -- function
-
- -- **************************************************
- -- use the functions
- reset()
- errorqueue.clear()
- config_smu(10, 0.1)
- config_dio()
- config_trigger_model()
- smua.source.output = smua.OUTPUT_ON
- delay(0.5) -- not needed....just allows us to see the dio setup of getting to LO state
- smua.trigger.initiate()
- delay(1.25) -- not needed...just delay a bit before setting the SMU source level back to zero
- smua.source.levelv = 0