From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Switch Hardware and Software

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I connect two PXI-2530 devices with niSwitch?

I try to expand my "easy to reconfigure" Switch class (using niSwitch Set Path.vi for making connections) with the possibility to connect one channel on my first PXI-2530 device (configured as 32x4 mux) to a channel on my second PXI-2530 device. The function niSwitch Set Path.vi takes "Path list" as argument, e.g.

"c0->r0" and then "c24->r0"

for connecting channel c0 to channel c24 via route line 0. This works fine when the channels are on the same device, but as I mentioned, I need to connect channels on different devices. I've been trying to find a path for connecting hardwires between the devices, something like "device1/r0->device2/r0" but can't figure out how to do it.

I know it's physically possible, because we can do it by configuring  a "NI Switch Virtual Device" (which I don't like because of it's "thousands of clicks to configure a new setup", thereof my own solution), but  do I have to do it really low level, setting single relays, to make it? If so, where do I find documentation of the PXI-2530 on "wire-and-relays" level?

Thanks,

Rickard
0 Kudos
Message 1 of 2
(6,160 Views)

Rickard:

The NI Switch Driver API does not support such a case - only the NI Switch Executive application supports this.  If you want to do multi-device routing, then you'll need to use NI Switch Executive.  This involves creating an NI Switch Executive Virtual Device.  However, you state that this is cumbersome to you: too many clicks to get to a working set up.  If your use case is simple, you should be able to do this creation in a more streamlined way by defining Hardwires in NI Switch Executive but no routes.  An example hardwire you could configure would be on these channels: device1/r0 and device2/r0.  Then, at runtime we could call the niSE Connect vi or C function, passing it the endpoints of the route you wish to connect.  An example of a connection specification you could pass is: device1/c0->device2/c24.  This would find the path through the hardwire at runtime, so you don't have to configure the routes up front or choose their individual legs.  One drawback to this approach is runtime performance, because the route has to be found each time you want to connect it.  If your performance requirements are not strict, then this is a good option.

I hope this helps you.

Brian

 

0 Kudos
Message 2 of 2
(6,151 Views)