Switch Hardware and Software

cancel
Showing results for 
Search instead for 
Did you mean: 

RF switch status reported incorrectly?

I am still scratching my head as to why trying to find the connection status of a PXI rf switch card is so difficult, and there is no simple call to make.

Having said that, I am already using DAQmxSwitchFindPath() to correctly determine the status of my 4x1 pxi 2591 card.  It takes four seperate calls to test each path, but it works.

However, when I use the same technique for my dual 2x1 2599 card, it will not report the correct state for both switches - only the one that I last set. In other words it reports that the other one that I set previously is disconnected. Yet, these are two independant switches.

I would really like to know if:
a) this is a bug with the daqmx system or driver (daqmx 7.5.0f2)
b) there is a better way to determine the current switch state for these cards

Very puzzled. If I were a developer, the very fist software call I would have implemented would have been to return the switch states!

Any help appreciated!
Cheers,
Avner Ginsburg
aginsburg@kleer.com


0 Kudos
Message 1 of 5
(7,248 Views)

Avner,

Could you tell us the exact calls that you are making after initiating the switch? We will be happy to investigate.

We have calls that you can make on a relay to find its state: niSwitch_GetRelayPosition and DAQmxSwitchGetMultiRelayPos. The name of the relays on the PXI-2599 are K0 and K1.

Guy Ferraro
Switch Product Support Engineer
NI - USA

 

0 Kudos
Message 2 of 5
(7,245 Views)
I suppose I'll just use the direct relay state calls instead, for the 2599 card.

The four calls I am trying to make to DAQmxSwitchFindPath() are covering both possible paths for the two switches, for example /2599/no0 to /2599/com0, /2599/nc0 to /2599/com0, etc. Unfortunately, for 3 of the 4 calls, it returns DAQmx_Val_PathStatus_Available, and not already exists.

In other words, if I switch switch 0 and then switch 1, for switch 0 it will report that nothing is connected. And vise versa, ofcourse.

Anyway, once again I'd like to point out that some of the basic documentation could be improved a bit. I would think getting the current status of a switch card would be a high priority.

Cheers, and thanks,
Avner Ginsburg
aginsburg@kleer.com


0 Kudos
Message 3 of 5
(7,242 Views)
Whoops! I see my problem.

In order to first connect a path, you must disconnect the previous path. I can't just call disconnect all like I was doing on the 4x1 switch :). My mistake there.

That means I must use the DAQmxSwitchDisconnect() function. Which for some reason needs to know the previous path.

I'm really beginning to sense that I would have been better off with just using the low-level relay commands for both PXI cards . The higher level commands leave a bit to be desired.

Cheers, and sorry,
aginsburg@kleer.com

0 Kudos
Message 4 of 5
(7,238 Views)
You are correct, the DAQmxSwitchDisconnect() function requires two channels that were previously connected to succeed.
 
I am glad it is working for you now.
 
Guy Ferraro
Switch Product Support Engineer
NI - USA
0 Kudos
Message 5 of 5
(7,235 Views)