Posted Mon, 12 Jun 2023 08:22:18 GMT by Bert, Gabriel
Hello everyone,<br> <br> I am trying to perform a linear sweep using&#160;smuX.trigger.source.linearv(start, stop, numPoints).&#160;<br> <br> Using this function, I can set a current compliance by smuX.trigger.source.limiti.<br> <br> However, I cannot set a stop criteria, and since I am sweeping up to breakdown, I have no interest on continue the sweep after this point.&#160;<br> <br> I have achieved it by using for loops, but since I need to perform parallel sweeps using trigger method, this is not possible.&#160;<br> <br> Thank you for your help.<br> &#160; <div dir=ltr style=""> <div style="color:initial;font:initial;text-rendering:initial;writing-mode:initial;zoom:initial;alignment-baseline:initial;backface-visibility:initial;background:initial;baseline-shift:initial;border:initial;border-radius:initial;border-collapse:initial;box-shadow:initial;box-sizing:initial;caption-side:initial;clear:initial;clip:initial;clip-path:initial;clip-rule:initial;color-interpolation:initial;color-interpolation-filters:initial;color-rendering:initial;columns:initial;column-fill:initial;column-rule:initial;column-span:initial;counter-increment:initial;counter-reset:initial;cursor:initial;display:initial;dominant-baseline:initial;empty-cells:initial;fill:initial;fill-opacity:initial;fill-rule:initial;flex:initial;flex-flow:initial;float:initial;flood-color:initial;flood-opacity:initial;height:initial;image-rendering:initial;letter-spacing:initial;lighting-color:initial;line-break:initial;list-style:initial;margin:initial;mask:initial;max-height:initial;max-width:initial;min-height:initial;min-width:initial;opacity:initial;outline:initial;overflow:initial;padding:initial;perspective:initial;perspective-origin:initial;pointer-events:initial;position:absolute;ruby-position:initial;shape-rendering:initial;size:initial;speak:initial;stop-color:initial;stop-opacity:initial;stroke:initial;stroke-dasharray:initial;stroke-dashoffset:initial;stroke-linecap:initial;stroke-linejoin:initial;stroke-miterlimit:initial;stroke-opacity:initial;stroke-width:initial;table-layout:initial;text-align:initial;text-align-last:initial;text-anchor:initial;text-decoration:initial;text-emphasis-position:initial;text-indent:initial;text-overflow:initial;text-shadow:initial;text-transform:initial;text-underline-position:initial;white-space:initial;transform-origin:initial;transform-style:initial;transition:initial;vertical-align:initial;visibility:initial;border-spacing:initial;width:initial;word-break:initial;word-spacing:initial;z-index:2147483647;"></div> </div> <div style=""></div> <div style="color:initial;font:initial;text-rendering:initial;writing-mode:initial;zoom:initial;alignment-baseline:initial;backface-visibility:initial;background:initial;baseline-shift:initial;border:initial;border-radius:initial;border-collapse:initial;box-shadow:initial;box-sizing:initial;caption-side:initial;clear:initial;clip:initial;clip-path:initial;clip-rule:initial;color-interpolation:initial;color-interpolation-filters:initial;color-rendering:initial;columns:initial;column-fill:initial;column-rule:initial;column-span:initial;counter-increment:initial;counter-reset:initial;cursor:initial;display:initial;dominant-baseline:initial;empty-cells:initial;fill:initial;fill-opacity:initial;fill-rule:initial;flex:initial;flex-flow:initial;float:initial;flood-color:initial;flood-opacity:initial;height:initial;image-rendering:initial;letter-spacing:initial;lighting-color:initial;line-break:initial;list-style:initial;margin:initial;mask:initial;max-height:initial;max-width:initial;min-height:initial;min-width:initial;opacity:initial;outline:initial;overflow:initial;padding:initial;perspective:initial;perspective-origin:initial;pointer-events:initial;position:absolute;ruby-position:initial;shape-rendering:initial;size:initial;speak:initial;stop-color:initial;stop-opacity:initial;stroke:initial;stroke-dasharray:initial;stroke-dashoffset:initial;stroke-linecap:initial;stroke-linejoin:initial;stroke-miterlimit:initial;stroke-opacity:initial;stroke-width:initial;table-layout:initial;text-align:initial;text-align-last:initial;text-anchor:initial;text-decoration:initial;text-emphasis-position:initial;text-indent:initial;text-overflow:initial;text-shadow:initial;text-transform:initial;text-underline-position:initial;white-space:initial;transform-origin:initial;transform-style:initial;transition:initial;vertical-align:initial;visibility:initial;border-spacing:initial;width:initial;word-break:initial;word-spacing:initial;z-index:2147483647;"></div> <div style="color:initial;font:initial;text-rendering:initial;writing-mode:initial;zoom:initial;alignment-baseline:initial;backface-visibility:initial;background:initial;baseline-shift:initial;border:initial;border-radius:initial;border-collapse:initial;box-shadow:initial;box-sizing:initial;caption-side:initial;clear:initial;clip:initial;clip-path:initial;clip-rule:initial;color-interpolation:initial;color-interpolation-filters:initial;color-rendering:initial;columns:initial;column-fill:initial;column-rule:initial;column-span:initial;counter-increment:initial;counter-reset:initial;cursor:initial;display:initial;dominant-baseline:initial;empty-cells:initial;fill:initial;fill-opacity:initial;fill-rule:initial;flex:initial;flex-flow:initial;float:initial;flood-color:initial;flood-opacity:initial;height:initial;image-rendering:initial;letter-spacing:initial;lighting-color:initial;line-break:initial;list-style:initial;margin:initial;mask:initial;max-height:initial;max-width:initial;min-height:initial;min-width:initial;opacity:initial;outline:initial;overflow:initial;padding:initial;perspective:initial;perspective-origin:initial;pointer-events:initial;position:absolute;ruby-position:initial;shape-rendering:initial;size:initial;speak:initial;stop-color:initial;stop-opacity:initial;stroke:initial;stroke-dasharray:initial;stroke-dashoffset:initial;stroke-linecap:initial;stroke-linejoin:initial;stroke-miterlimit:initial;stroke-opacity:initial;stroke-width:initial;table-layout:initial;text-align:initial;text-align-last:initial;text-anchor:initial;text-decoration:initial;text-emphasis-position:initial;text-indent:initial;text-overflow:initial;text-shadow:initial;text-transform:initial;text-underline-position:initial;white-space:initial;transform-origin:initial;transform-style:initial;transition:initial;vertical-align:initial;visibility:initial;border-spacing:initial;width:initial;word-break:initial;word-spacing:initial;z-index:2147483647;"></div> <div style="color:initial;font:initial;text-rendering:initial;writing-mode:initial;zoom:initial;alignment-baseline:initial;backface-visibility:initial;background:initial;baseline-shift:initial;border:initial;border-radius:initial;border-collapse:initial;box-shadow:initial;box-sizing:initial;caption-side:initial;clear:initial;clip:initial;clip-path:initial;clip-rule:initial;color-interpolation:initial;color-interpolation-filters:initial;color-rendering:initial;columns:initial;column-fill:initial;column-rule:initial;column-span:initial;counter-increment:initial;counter-reset:initial;cursor:initial;display:initial;dominant-baseline:initial;empty-cells:initial;fill:initial;fill-opacity:initial;fill-rule:initial;flex:initial;flex-flow:initial;float:initial;flood-color:initial;flood-opacity:initial;height:initial;image-rendering:initial;letter-spacing:initial;lighting-color:initial;line-break:initial;list-style:initial;margin:initial;mask:initial;max-height:initial;max-width:initial;min-height:initial;min-width:initial;opacity:initial;outline:initial;overflow:initial;padding:initial;perspective:initial;perspective-origin:initial;pointer-events:initial;position:absolute;ruby-position:initial;shape-rendering:initial;size:initial;speak:initial;stop-color:initial;stop-opacity:initial;stroke:initial;stroke-dasharray:initial;stroke-dashoffset:initial;stroke-linecap:initial;stroke-linejoin:initial;stroke-miterlimit:initial;stroke-opacity:initial;stroke-width:initial;table-layout:initial;text-align:initial;text-align-last:initial;text-anchor:initial;text-decoration:initial;text-emphasis-position:initial;text-indent:initial;text-overflow:initial;text-shadow:initial;text-transform:initial;text-underline-position:initial;white-space:initial;transform-origin:initial;transform-style:initial;transition:initial;vertical-align:initial;visibility:initial;border-spacing:initial;width:initial;word-break:initial;word-spacing:initial;z-index:2147483647;"></div> <style> @media print { .ms-editor-squiggler { display:none !important; } } .ms-editor-squiggler { display:block !important; height:0px !important; width:0px !important; } </style> <div class=ms-editor-squiggler></div>
Posted Tue, 13 Jun 2023 03:08:11 GMT by C, Andrea
See if this helps. &#160;The code should apply to any 2600A or 2600B.<br> https://forum.tek.com/viewtopic.php?f=224&amp;t=142633<br> <br> &#160;
Posted Wed, 21 Jun 2023 17:42:57 GMT by Bert, Gabriel
Thank you for your repply.

It helps but I have some questions about this method :
  • The delay() in the compliance verification loop only works for me if its bigger than 200ms. Any delay less than 200ms it is not effective, the sweep continues up to the end without stopping on compliance.
  • This delay is sweep speed sensitive, so to use it I cannot use a sweep that measures more than 1 point in this time.
  • Does this SMU have some sort of "hardware" stop on compliance ? Like an overlapping function that is not time delay sensitive?
  • What does Keithley Automated Characterization Suite (ACS) when STOP ON COMPLIANCE is set ? It is like this verification loop approach?
Thanks
Posted Thu, 29 Jun 2023 12:18:10 GMT by C, Andrea
What is your exact model and firmware level?  The response to a *IDN? command will tell us.

For the delay, are you talking about the stime parameter?  Or the delay inside the my_wait_complete().
Of course, if the my_wait_complete() loop rate is very slow relative to the speed of the Source-Measure sweep, then it will be slow to detect the exit condition.  In the sample as posted, it uses 50msec loop rate.

What parameter values do you use when calling the ExitCondition_SweepVLinMeasureI(smu, startv, stopv, stime, points, current_limit, lowest_range) function?
And at appx what voltage and currents are you expecting the exit to occur?

Keep in mind, during the active trigger model sweep and during the my_wait_complete() loop, attempts to interact with instrument from the PC will be blocked.  This is why the logic of an exit condition is moved into the TSP code.

As for ACS, it is doing a for/next loop and able to check for compliance at each iteration.  These are implemented as functions in the TSP runtime memory on the instrument so there is no required bus traffic to the PC for each iteration of the loop to decide about exit condition.

 

You must be signed in to post in this forum.