Hi everyone,
we were recently asked how to perform a measurement with reaching a certain stability of a current signal. I would like add the answer here to make use of it. One can use the folliwing sequencer:
The SMU module iterates through voltages to run an IV curve. For each voltage, a first branch is used to loop nonstop until a CustomFunction script returns True instead of False. This triggers the Condtion module to skip all sweeps below or to skip the current branch. Both will lead to the fact that the second branch with the Hold module is processed.
The Hold module has no hold value, but it helps to read out the SMU once again after the reach process was successful.
For each branch of the sequencer, the MakeFile module creates own data files because each branch has its own dimension and thus number of variables.
Without the second branch, all data of the reach process would be in one file and you would need to filter out the last point at each voltage. Due to the second branch, SweepMe! writes a new file for the second branch that only contains the data of measurement points after reach process is done.
In your CustomFunction script, you can handover the measured current, write it into a list and analyzer whether it meets a certain criteria. Then, return either True or False. The CustomFunction script can make use of the semantic phase function “configure” that is called by SweepMe! whenever the branch get active again. In this step, the list storing the currents can be emptied so that it is clear when a new iteration starts.
Hope this example helps. Feel free to reply if you have any questions to this.
Best, Axel