Hi Daniel,
thanks a lot for using the forum.
The PMU mode of the Keithley 4200-SCS should allow you to create pulsed IV curves where one pulse is sent for each requested voltage.
Regarding question 1:
Could you send your setting or a screenshot of the SMU module? You can also go to the sequencer, right-click the SMU module and use copy. Then paste the text here in the forum as a code snippet. It is a json string that contains all information about the configuration of the SMU module.
I guess you already installed the LPTlib server application on the Keithley 4200-SCS and configured the config file to run at the IP address of your parameter analyzer? If not you can follow the steps as listed on the instrument driver webpage:
https://sweep-me.net/device/82/Keithley_4200-SCS
I went through the code of the driver that you can also see here
https://github.com/SweepMe/instrument-drivers/blob/main/src/SMU-Keithley_4200-SCS/main.py
and saw that you need to enable pulse mode in the UI of the SMU module. Then configure the pulse properties. Use the Sweep editor to define voltage for a voltage sweep.
Regarding question 2:
You can run the SMU_example.py in your own python environment, independent from SweepMe!. The example shows how to use the open-source library pylptlib that we put on GitHub. I guess you tried to run the script in the “Python Script Tool” that can be found menu “Tools” in SweepMe!. It should basically also work but might not work in the current version of the script. So far the SMU_example.py is designed to work as a python script running on the 4200-SCS because it looks there for the lptlib.dll. If you like to run the script via an external computer, you need to use a Proxy as given here
https://github.com/SweepMe/pylptlib-4200SCS/blob/main/src/tcp_client/ProxyClass.py
and use the option 2 in SMU_example.py from line 8 to 11.
Regarding question 3:
Does this message appear in SweepMe! or in the console of the LPTlib Server tool running on the 4200-SCS? I cannot tell you immediately what the problem is but there might be an issue. Basically, this is an error message from the lptlib.dll that we use to control the parameter analyzer. You can thus also check the documentation of the Keithley LPT library for the 4200-SCS.
https://www.tek.com/en/manual/parametric-analyzer/model-4200a-scs-lpt-library-programming-4200a-scs-parameter-analyzer
While we try to make the automaton of instruments as much as possible plug&play, the control of the 4200-SCS via SweepMe! or own python scripts remains a bit cumbersome as one needs to correctly set up our LPTlib server tool and configure SweepMe! or your python script.
If you like to control the PMU using arbitrary waveforms and pulse segments, it is not supported yet as discussed in this issue:
So far, we only support PMU operation for pulsed IV curves where a single pulse is sent for each voltage of the IV curve.
Here, we are open to extend the range of supported options or help you with configuring everything using our professional services. If needed, please write to:
contact@sweep-me.net
Let us know if you figure something out or have a follow-up question.
Thanks and best
Axel