Digital Multimeters (DMMs) and Precision DC Sources

cancel
Showing results for 
Search instead for 
Did you mean: 

What closes the SMU output relay?

Solved!
Go to solution

I am using a PXIe-4139 and controlling it via niDCPower_32.dll

I understand that the PXIe-4139 has an output relay.  Here is what I have found

So, here is my question:

Currently my code does a niDCPower_ResetDevice when it starts

It does not currently use the OutputConnected property

When I enable the SMU using the OuputEnabled property, the output is being forced - so, clearly the out relay must be closed

Why?  Some other call I am doing must be causing the output relay to close.

What other niDCPower properties and/or function affects the output relay?  What could I be doing that is closing it?

Ex:

niDCPower_Initiate

niDCPower_Commit

niDCPower_Abort

niDCPower_ConfigureOutputFunction

 

0 Kudos
Message 1 of 10
(582 Views)

The default state of the OutputConnected property on Reset will be True and hence it will be connected.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.
0 Kudos
Message 2 of 10
(560 Views)

niDCPower Reset Device VI

"This VI opens the output relay on devices that have an output relay"

 

According to https://zone.ni.com/reference/en-XX/help/370736U-01/nidcpowerviref/nidcpower_reset_device/

0 Kudos
Message 3 of 10
(550 Views)

As per the supported properties by device, the default value is True (I can confirm from experience)

santo_13_2-1652281449418.png

 

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.
0 Kudos
Message 4 of 10
(544 Views)
Solution
Accepted by topic author markshancock

I'll add a bit more detail:

Properties are for session configuration. If your session is not in the running state, they don't apply to hardware until the session is committed, either by explicitly calling commit or implicitly by calling initiate.

If your session is in the running state, some properties can be set and will apply immediately (this is known as on-the-fly). Others will error saying they cannot be set while running.

Marcos Kirsch
Chief Software Engineer
NI Driver Software
Message 5 of 10
(536 Views)

So, what this means is that, once you call Reset Device, the output will be disconnected and stay that way until you call Initiate, by then it will be Connected (because of the default True value of the property unless you write False before initiate).

 

Marcos, is this understanding correct?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.
0 Kudos
Message 6 of 10
(533 Views)

That is correct, Santhosh. Unless you explicitly call commit in your program which isn't typical.

Why would you call commit explicitly in your program? You'd do this in order to have more granular control over when the settings are applied to hardware and initiating output. Initiate is designed to be very fast and lightweight.

Marcos Kirsch
Chief Software Engineer
NI Driver Software
0 Kudos
Message 7 of 10
(525 Views)

The problem is that I will be testing batteries and I can't allow the output to be shorted

 

Based on what @kirsch said, here is my plan:

  • Add a parameter DisconnectOnDisable that will control the behavior.  Set it to T for battery testing.
  • After any reset call, set OutputConnected = !DisconnectOnDisable
  • On enable, set OutputConnected and OutputEnabled=T then send initiate to 4138
  • On disable, set OutputConnected = !DisconnectOnDisable and OutputEnabled=F then send initiate to 4138

 

0 Kudos
Message 8 of 10
(520 Views)

I don't know the details of what you're trying to do, but have you considered sourcing 0 current in the 1µA range rather than opening the output relay?  That would save wear and tear on the relay.  OTOH, I admit that opening the relay does feel safer.

0 Kudos
Message 9 of 10
(484 Views)

I had considered going to current mode and setting 0 current and that is still an option but I wanted to bury the safety into our driver so that the reset mode it safe and having the the mode change would probably be unexpected to the user.  Also, as you mentioned, opening the relay feels safer and in this case that is important.

0 Kudos
Message 10 of 10
(442 Views)