Switch Hardware and Software

cancel
Showing results for 
Search instead for 
Did you mean: 

connecting rows of a matrix externally

Solved!
Go to solution

Hi

 

I have 2 matrix boards which I wish to connect all the rows up on the external connector.

 

I am using Test Stand to create a test sequence and want to programmatically route an instrument pin to a DUT pin based on the names of the pins.

I have set up switch executive with the names on the matrix.

Do I need to use the routing groups? or can I just have a function in test stand which says something along the lines of "connect PSU+v to DUTVdd"?

I don't really want to hardcode the routing groups, even if they are editable within switch executive.

0 Kudos
Message 1 of 5
(6,350 Views)

In Switch Executive you can setup hardwires.  Just make a hardwire to connect all of the Row 0s together, another for the Row 1s, etc.  SE will handle the rest.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 5
(6,347 Views)
Solution
Accepted by JacobM123

Jacob,

 

The default "Switching" property of a TestStand step works by connecting pre-configured routes and routegroups. What you can do to get over this limitation is the following:

 

In MAX:

  1. Under the "Hardwires/Buses" tab, create a Bus starting with r0 of Dev1 and ending on rX of Dev1. Add Dev2 r0 to Dev 2 rX. This creates a hardwire between r0 on Dev 1 and r0 on Dev 2, all the way through rX.
  2. Go to the "Channels/Exclusions" tab, set r0 to rX of Dev1 and Dev2 as "Reserved for Routing" 
  3. Give all columns names.

In TestStand:

  1. Create three string variables [RouteSpec, Channel1, and Channel2] and one number variable [Status]
  2. Somewhere in your code have a "Statement" step assign channel names to Channel1 and Channel2
  3. Drop an IVI>>Switch step
  4. Click "Edit Switch..."
    • Click "Switch Executive" radio button
    • Select your "Virtual Device Name"
    • Select Operation to be "Get Information"
    • Select Channel 1 as the Channel1 variable, and Channel 2 as Channel2 variable.
    • Select RouteSpec variable as Destination 
    • Select Status variable as Status
    • Click "OK"
  5. Drop an IVI>>Switch Step
  6. Click "Edit Switch..."
    • Click "Switch Executive" radio button
    • Select your "Virtual Device Name"
    • Select your Action [Connect]
    • Slect the RouteSpec variable as "Routes(s) to Connect"
    • Select other settings
    • Click "OK"

 

This should do what you wanted to do all in TestStand!

 

Best of Luck!

Frank,
National Instruments
Software Group Manager
Message 3 of 5
(6,343 Views)

Thanks looks like that worked.

I don't suppose there is a single step solution to this? I would have to implement 3 steps for this which is not too much difficulty, so my next question is....

 

I know that the most flexible method of using a matrix is to have instruments and DUTs on the columns, but I have instruments connected to the rows. This has been done for various reasons.

 

Having defined the hardwires connecting all the rows of one matrix to the other, can I refer to a hardwire name instead of the channel name?

0 Kudos
Message 4 of 5
(6,334 Views)

Jacob,

 

In short, you cannot connect directly to a hardwire.

 

If the instrument is on the row, you should not use "Reserved For Routing". This is because endpoint connections are not allowed on reserved rows. [Reserved for routing will prevent you from finding the route between Dev2/c0 and Dev1/r0, but allows you to use r0 to connect two columns on either Dev1 or Dev2 or between devices].

 

Connecting a column and a row WITHOUT Reserved for Routing:

If you want dev2/c0 to connect to an instrument on dev1/r0 then you would need to remove "Reserved for Routing" on that row and use the same method above to find a route between dev2/c0 and dev1/r0.

 

Connecting two columns WITHOUT Reserved for Routing:

If you want dev2/c0 to connect to dev1/c0 through the instrument on dev1/r0 [example might be a power supply on r0 connecting to two columns]. You will need to remove "Reserved for Routing" on that row and connect dev1/r0 to dev1/c0 and dev2/c0 to dev1/r0.

My recommendation would be to use Reserved for Routing and place the instruments on columns (to make things easier), but sometimes this may not be possible.

 

Hope this helps!

Frank,
National Instruments
Software Group Manager
0 Kudos
Message 5 of 5
(6,325 Views)