06-23-2022 02:01 PM
I configured Instrument Studio to show the SCOPE and the SMU so I can test the pulse capability but I can't see how to generate a pulse on the SMU using Instrument Studio. I can see the scope change when I run the SMU and change the voltage.
06-23-2022 02:10 PM - edited 06-23-2022 02:11 PM
I tried running the PulseVoltage SMU example with 1s pulse and monitored the scope it is hooked to using InstrumentStudio and I do not see anything change.
Why am I not seeing the pulse?
07-20-2022 11:41 AM
Allan Avila at NI Tech Support identified the issue with the PulseVoltage C# example.
Since there is no delay after the Initiate, the code proceeds quickly to the Reset which cancels the pulse.
Change:
dcPowerSession.Control.Initiate();
//Fetch voltage and current.
DCPowerFetchResult result = dcPowerSession.Measurement.Fetch(FullyQualifiedChannelName,new PrecisionTimeSpan(10), 1);
DisplayResult(result);
dcPowerSession.Utility.Reset();
To:
dcPowerSession.Control.Initiate();
dcPowerSession.Events.PulseCompleteEvent.WaitForEvent(PrecisionTimeSpan.FromSeconds(5));
//Fetch voltage and current.
DCPowerFetchResult result = dcPowerSession.Measurement.Fetch(FullyQualifiedChannelName,new PrecisionTimeSpan(10), 1);
DisplayResult(result);
dcPowerSession.Utility.Reset();
07-20-2022 03:38 PM - edited 07-20-2022 03:40 PM
> Since there is no delay after the Initiate, the code proceeds quickly to the Reset which cancels the pulse.
The Fetch() call should block until the measurement has occurred and the data has been retrieved. What's missing from the code is telling the instrument when to perform the measurement. As written I'm not sure when the measurement happens but it seems it happens before the pulse has come out. I see two options on how the code can be fixed depending on when you want the measurement to happen:
1. Configure the instrument to measure On Demand
2. Wait for PulseCompleteEvent
3. Call Measure (not fetch)
1. Configure the instrument to measure After Source Complete Event
2. Fetch
See: Pulsing - NI
07-28-2022 11:50 AM
@kirsch I get an error when I try to set MeasureWhen (1150057) to AutomaticallyAfterSourceComplete (1025)
Ivi.Driver.SelectorNameException: ModularInstruments.NIDCPower: ModularInstruments.NIDCPower: IVI: (Hex 0xBFFA0045) The channel or repeated capability name is not allowed.
Attribute: NIDCPOWER_ATTR_MEASURE_WHEN, Channel: 0
Error code: -1074134971 ---> Ivi.Driver.IviCDriverException: ModularInstruments.NIDCPower: IVI: (Hex 0xBFFA0045) The channel or repeated capability name is not allowed.
Attribute: NIDCPOWER_ATTR_MEASURE_WHEN, Channel: 0
Error code: -1074134971
--- End of inner exception stack trace ---
at NationalInstruments.ModularInstruments.NIDCPower.Internal.DCPowerImpl.CheckErrorStatus(UInt32 handle, Int32 status)
at NationalInstruments.ModularInstruments.NIDCPower.Internal.DCPowerImpl.TestForGeneralErrorAndWarning(Int32 status)
at NationalInstruments.ModularInstruments.NIDCPower.Internal.DCPowerImpl.TestForErrorAndWarning(Int32 status)
at NationalInstruments.ModularInstruments.NIDCPower.Internal.DCPowerAdvancedPropertyAccessServiceImpl.SetAttributeInt32(Int64 attributeIdentifier, String repeatedCapability, Int32 value)
at NationalInstruments.ModularInstruments.AdvancedPropertyAccessService.SetAttributeInt32(Int64 attributeIdentifier, String repeatedCapability, Int32 value)
at NationalInstruments.ModularInstruments.InteropMimic.nidcpower.SetInt32(nidcpowerProperties propertyId, String Channel, Int32 val) in C:\MKS\CMT_CURRENT\SWProduction\Drivers\SMU\NI SMU\Driver\niDCPower.NET.cs:line 2123
07-28-2022 11:52 AM
Note: I am also seeing the error: Could not find assembly: Ivi.Driver.resources.dll
I have not been able to find that dll