What is an Exclusion?
Exclusions are connection rules used to prevent specific channels from connecting to one another - primarily used for safety purposes. Let's say an exclusion is set up to prevent NO0 from connecting to NO1. A real world example would be that NO0 and NO1 are both connected to different power supplies, and we don't want to connect the supply outputs together. Once set up, before every Connect call, NI Switch Executive must verify this route will not occur. If it will, then NI Switch Executive will return an error citing the proposed connection will result in the creation of an excluded route.
Background On IVI Switch Class Driver
Switch Executive calls into the IVI Switch class driver. IVI requires all relay connections to be disconnected before a new, different connection can be made. This doesn't make much sense with SPDT relays, where there is no disconnected state. As shown below, an SPDT relay is always connected to either the Normally Closed terminal (NC) or the Normally Open terminal (NO). It cannot be disconnected from both!
To make software work with SPDTs and IVI requirements, IVI-compliant driver software typically stores the state of SPDT relays in a unique and potentially confusing manner. The example below is comprised of two relays with their COMs connected together (hardwired together). On the left are the default physical relay states in hardware. On the right is how IVI-compliant drivers typically characterize the default relay states in software.
As shown above, the default state in software is characterized by no connection. Although this might be confusing to a user, this characterization is recommended and is done so either the Normally Closed or Normally Open terminals can be initially connected to COM upon the first function call (without first requiring a disconnect call).
The "ability to connect initially without disconnect" feature of IVI-specific driver software (i.e. NI-Switch) results in an inability for NI Switch Executive to determine SPDT hardware states in certain circumstances. In the end, there exist the exclusion caveats with SPDTs that are discussed in this document.
The Issue: Exclusions can be violated when using SPDTs
We can violate the exclusions by performing the following sequence:
This creates the following hardware and software states.
Collaborate with other users in our discussion forums
A valid service agreement may be required, and support options vary by country.