ni / semi-test-library-dotnet

Semiconductor Test Library
https://ni.github.io/semi-test-library-dotnet/
MIT License
3 stars 2 forks source link

[BUG] TestStand Steps ForceCurrentMeasureVoltage and ForceDcCurrent incorrectly program the PPMU high and low voltage limits. #136

Closed ktvanzwol closed 1 month ago

ktvanzwol commented 1 month ago

Describe the bug The current implementation of the TestStand Steps ForceCurrentMeasureVoltage and ForceDcCurrent set the high and low voltage limits to the same value. The result of this is that the instrument will change the forced current in order to get the Voltage at this limit value.

To Reproduce Steps to reproduce the behavior:

  1. Connect a resistor to a digital pin.
  2. Run the ForceCurrentMeasureVoltage step configured to sink current with a voltage limit (negative force current test DUT digital driver strangth).
  3. Note that this will result in an unexpected current being forced. E.g, the instrument will likely source a current and measure a positive voltage.
  4. DPE example of incorrect behavior forcing -1mA with a 1V voltage limit: image
  5. Expected results in DPE (-1V low limit and 1V high limit): image

Expected behavior The low limit to be program a negative voltage to implement Symmetric limits on the PPMU. It would also make sense to coerce the low limit on the PPMU to be greater or equal to -2V as the PPMU has an asymmetric range of -2V to +6V.

Screenshots See steps 4 & 5

System Setup(please complete the following information):

NI Support Status Has this issue been reviewed separately by NI Support team member? Please provide a NI service request number if you have one. n.a.

Additional context Add any other context about the problem here. n.a.

Mattjet27 commented 1 month ago

@ktvanzwol, thank you for submitting this issue! The team and I have evaluated this issue and can confirm that there is indeed a bug in how the PPMU limit is being set in the ForceCurrentMeasureVoltage and ForceDcCurrent methods, in the TestStandSteps. We have implemented a fix to address this issue, which @lornazh raised PR #142 for. It has now been merged with the main branch. You can expect the fix to available in the next release (24.5.1).