-
RE: License File Not Working for KickStart
Try this:
- if open, close KickStart application.
- use file explorer to navigate to the C:\ProgramData\Keithley directory
- delete the Keithley directory
- restart KickStart and again navigate to the manage license.
Any host id info now?
If still not, please contact your local sales/support office for assistance. -
RE: Python VISA control of DAQ6510 with 7700 MUX card
There are many, but I typically use the status byte and opc() for operation complete.
Here I setup for 10 scans of 4 thermocouple channels:my_instr.write("status.clear()") my_instr.write("status.request_enable = 32") my_instr.write("status.standard.enable = 1") my_instr.write("myScanList = \"101,110, 115, 120\"") my_instr.write("channel.setdmm(myScanList, dmm.ATTR_MEAS_FUNCTION, dmm.FUNC_TEMPERATURE)") my_instr.write("channel.setdmm(myScanList, dmm.ATTR_MEAS_THERMOCOUPLE, dmm.THERMOCOUPLE_K)") my_instr.write("channel.setdmm(myScanList, dmm.ATTR_MEAS_REF_JUNCTION, dmm.REFJUNCT_INTERNAL)") my_instr.write("channel.setdmm(myScanList, dmm.ATTR_MEAS_OPEN_DETECTOR, dmm.ON)") my_instr.write("channel.setdmm(myScanList, dmm.ATTR_MEAS_NPLC, 1)") my_instr.write("display.watchchannels = myScanList") my_instr.write("scan.scancount = 10") my_instr.write("scan.scaninterval = 1") my_instr.write("scan.create(\"101,110, 115, 120\")")
Then when ready to run the scan:#status poll for opc() my_instr.write("status.clear()") #attach our session to read_stb channel print("First status byte value: " + str(my_instr.read_stb())) #my_instr.read_stb() my_instr.write("trigger.model.initiate()") my_instr.write("opc()") #this signals operation complete #repeat until the SRQ bit is set still_running = True status_byte = 0 debug = 1 while still_running: status_byte = int(my_instr.read_stb()) #if debug: print(status_byte) if debug: print(str(status_byte) + ' - ' + str(bin(status_byte)) + ' - ' + str(hex(status_byte))) if (status_byte and 64) == 64: still_running = False time.sleep(0.5) #500msec pause before asking again print("Last status byte value: " + str(status_byte)) print("Scan is done - go get the data")
Typical output from the Python code:First status byte value: 0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 0 - 0b0 - 0x0 96 - 0b1100000 - 0x60 Last status byte value: 96 Scan is done - go get the data
The attached PDF has a second example for when using TSP functions. -
RE: DMM 2750 Auto recording & export of measured values
Are you using any scan cards with the 2750? Or using it as a DMM to measure Ohms of a single devices at a time.
The 2750 can be controlled by sending the SCPI commands that it understands over GPIB or RS-232.
The SCPI commands are documented in the 2750 manual.
The KickStart software can interface with 2750 over GPIB interface.
The Windows computer will need a GPIB interface from National Instruments or Keithley (KUSB-488B).
If using scan cards, use the datalogger application of KickStart (KICKSTARTFL-DL).
If not using scan cards, use the DMM application of KickStart (KICKSTARTFL-DMM)
More info:KickStart -
RE: Python VISA control of DAQ6510 with 7700 MUX card
Assuming the scan is complete, then from Python you could send something like this:my_instr.write("printbuffer(1, defbuffer1.n, defbuffer1.readings)") raw_data = my_instr.read() raw_data_array = raw_data.split(",") my_instr.write("printbuffer(1, defbuffer1.n, defbuffer1.relativetimestamps)") raw_time = my_instr.read() scaled_time = raw_time.split(",")
The data from the readings will be from the various channels.
So here is simple code for putting that into arrays for each channel#for the number of channels in the scan, need to decimate the data number_channels_in_scan = 4 number_data_elements_per_chan = 1 ch101_time = [] ch101 = [] ch102 = [] ch103 = [] ch104 = [] for i in range(0, len(raw_data_array), number_data_elements_per_chan*number_channels_in_scan): if len(raw_data_array[i]) > 0: ch101_time.append(float(scaled_time[i])) ch101.append(float(raw_data_array[i])) ch102.append(float(raw_data_array[i+1])) ch103.append(float(raw_data_array[i+2])) ch104.append(float(raw_data_array[i+3]))
-
RE: how to get EXIT key file in kickstart for checking it in AMS
Step 1: In the KickStart, generate an exit key (and have the LIC file).
Seems you already did that as the screen shot of KickStart shows no license. I assume you already exported it to have this state.
Step 2: in the AMS license site, navigate into your in use license inventory and use the Upload to receive the LIC file.
See attached file/screen shots. -
RE: Problem when Measure I-V curve with 4200, triax-cable
To have more insight, under the Advanced settings of the Terminal Settings, place a check box on the Status Reporting for each SMU.
This will put a new column in the sheet. When you hover or dwell the mouse cursor on that column of data, the tool tip window will decode the status info.
In particular, knowing which current measure range is in use could be helpful.
What settings for current measure range do you use? Limited auto?
The level of current is quite small, so more settling time might help too. Try adding some Sweep Delay.
Or try using smaller dV/dt step sizes on the gate voltage sweep (more points).
If you have the 8101-PIV and the 1GΩ sample resistor, you could compare the current measure of the two SMU.
Use two terminal device and force a small voltage with one SMU while other forces 0V and measures the arriving current.
In Clarius, under the Tools icon in the ribbon, run the SMU Auto Calibration to see if this helps.
When was last time system went to calibration lab/service center? -
RE: DMM6500 External trigger IN operation
The trigger in on the dmm6500 is 5v logic.
Your GPIO might be 3.3v, so you’d need an interface for that.
something like : https://www.sparkfun.com/products/12009
The default mode of the trigger is falling edge from 5v to zero.
Depending on what you want to do, the TSP script environment in the DMM might allow you to implement some of the automation with the dmm.
Info: https://www.tek.com/en/video/product-features/what-is-tsp
-
RE: 2470 Triax Connectors
The HV triax at rear of 2470 is deliberately different so that “conventional” triax cables from max 200V products cannot connect.
The TRX-1100V-x cable is required for the HV triax on rear panel of 2470.
Maybe what is unexpected: The male triax connector on this cable is also compatible with “conventional” sized female triax barrels, feed through, etc. However, do keep in mind the 1100V rating.
There are various TRX-1100V-xxx accessories. Also our legacy 237-xxx accessories are also rated for 1100v and are compatible with the HV triax cable.
I advise you to consider the voltage rating of the probing setup and use 1100V components throughout. -
RE: I have a question regarding the Keithely 6514 overhead time.
Last page of Datasheet says 1200 readings per second into buffer at 0.01 nplc and with other things turned off.
This gives some idea of the overhead.
using trigger model to acquire N measurements into buffer will be most time determinant was to operate the 6514.
Can the timestamps give you some info?
Alternately, there is an analog signal on the preamp output. You can sample that for exactly 1 second with scope if looking for area under current vs time curve for amp-hr info. -
RE: How to speed-up triangle wave generation?
The smu.source.sweeplinear() function is doing two things:
- it builds a source configuration list containing voltage levels to source; it also has source settings such as range and current limit, etc.
- it builds a trigger model to loop through the source config list and get a measurement.
To have control over the volt / sec ramp rate, need to modify the trigger model to make use of a timer to control the rate that it moves through the list.
I'll upload some demo code, but keep in mind there are many opportunities for logical error pitfalls in it.
For example, at faster desired ramp rates, need to make sure the measurements can keep up.
But at 100msec at each source level, there is plenty of time.
See attached.