Skip to content

[BUG] PublishResults Method Throws Exception With PinSiteData Returned By MeasureVoltage and MeasureCurrent For Merged Pin Group Data #419

@Mattjet27

Description

@Mattjet27

Description

When a merged pin group is present within a DCPowerSessionsBundle object, calling the MeasureVoltage or MeasureCurrent method will return a PinSiteData object that is incompatible with the PublishResults method. Passing this PinSiteData object to the PublishResults method results in an exception being thrown: "NationalInstruments.TestStand.SemiconductorModule.SemiconductorModuleContextException: <NI_TSM>Error in parameter pin: Expected a single pin, but pin group Vcc4ch contains 4 pins.</NI_TSM>"

Image

Expected Behavior

As documented here, when a merged pin group is present within a DCPowerSessionsBundle object, the PublishResults methods are expected to publish measurement results using the primary pin name. However, the current behavior is attempting publish results by directly using the merged pin group name instead.

When the results within a PinSiteData object map to a merged pin group, the STL publish utilities should publish those results using the primary pin associated with that group, since TSM does not support publishing by pin group name.

System Setup

  • STS Software Version: 24.5.x, 25.0, 25.5
  • Semiconductor Test Library Version: 25.5 (first version to support SMU Merged Pin Groups)
  • Hardware: Virtual Machine & Physical Hardware
  • Instrumentation: PXIe-4147, PXIe-4162, PXIe-4163

Workaround

Extract the pin data from the PinSiteData object by the merged pin group name using the ExtractPin method. Then, publish the resulting SiteData object.

To ensure the correct publishing behavior at the TestStand level, make sure the Pin field of the target test item in Tests tab of the calling TestStand step is either left empty or configured with the primary pin name. If configuring with the primary pin name, you must also specify the primary pin name in the PublishResults method call using the pin input parameter as shown in Example B below.

Example A: Pin Not Specified

var results = dcPower.MeasureCurrent();
tsmContext.PublishResults(results.ExtractPin("Vcc4ch"), publishedDataId: "Current");  
Image

Example B: Pin Specified

var results = dcPower.MeasureCurrent();
tsmContext.PublishResults(results.ExtractPin("Vcc4ch"), publishedDataId: "Current", pin: "Vcc0");  
Image

Status

The Semiconductor Test Library development team is working to address this issue, and the fix is expected to be included in the 26.0 NuGet package release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions