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.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to refer to multiplexer in Keysight 34980 as IVI switch

Solved!
Go to solution

We have a Keysight 34980 with a SPST relay module in slot 1, 34923 multiplexer in slot 2, and 34937 switch in slot 3. The 34980 is setup in NI MAX I can access each of the modules in slots 1,2,3 with the VISA interactive control app by sending the ASCII strings for open/close/etc.

 

In Labview NXG I have simple little VIs using IVI Switch components to do things like close or open channels and check if a path is possible. This works fine for the relays in slot 1 and slot 3. No problems opening, closing or checking paths. But we're missing something on the multiplexer module and can never get it to do anything. 

 

Most times these components require two channels for instance to close or open a relay or to check a path. For the relay modules I can use 1001NO - 1001COM (for slot 1) to do this. 3004NO - 3004COM for the relays in slot 3. For the multiplexer, we can't figure out how to refer to the channels. We've tried 2001 - COM, 2001 - COMMON (since it's in slot 2), and all kinds of variations but always get an error. 

 

How do we refer to the mux channels? 

0 Kudos
Message 1 of 16
(4,344 Views)

Well to begin with the multiplexer module is NOT a switch.

 

The MUX modules are part of the MEASUREMENT device itself that multiplexes the DMM inside the 34980. 

 

I don't have NXG or use any of the IVI stuff (I don't see the point of IVI) so that's about all I can say...

 

Hopefully that points you in the right direction

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 2 of 16
(4,331 Views)

Well I beg to differ that a mux is indeed a switch and in fact this NI doc treats a mux on equal level with relays -> http://www.ni.com/tutorial/3449/en/ when creating your own IVI driver. And, the IVI switch class specification also treats a mux as a switch -> http://ivifoundation.org/downloads/Class%20Specifications/IVI-4.6_Swtch_2016-10-14%20(1).pdf (PDF). 

 

So no, this does not point anyone in the right direction. There's got to be a way to set the mux to one of the 40 channels using the IVI switch components. 

0 Kudos
Message 3 of 16
(4,305 Views)

Well using standard VI's you do it this way with these data loggers with a MUX card. (simplified of course)

  1. You configure every measurement channel for the measurement you want to take (V,A,R,F,T,etc) including sensor type and scaling if necessary
  2. You build and send the instrument a "scan list" of the channels you want to scan.
  3. When you want to take a measurement you trigger a scan of the instrument, and it returns all the measurements you configured in the first two steps

Frankly I do not see any way to do all that using the IVI method treating the MUX as just a switch. 

 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 4 of 16
(4,287 Views)

Also have you tried the 34980A Multifunction Switch/Measure Mainframe and Modules IVI and MATLAB Instrument Drivers available from Keysite?

 

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 5 of 16
(4,282 Views)

Yes, we have the Keysight 1.5.9 IVI drivers installed (and they do mention support for the 34923 mux module.) Just can't figure out how to refer to the channels on the mux.

 

Perhaps this is a question that must be posed to the Keysight folks. 

0 Kudos
Message 6 of 16
(4,268 Views)

You could try to run the Keysight I/O Command Expert and see what commands it send to the MUX.  

 

I'm not familiar with IVI syntax, but in SCPI the format is :ROUT:CLOS @2001 with no extra string for COM or NO for MUX channel.

 

 

0 Kudos
Message 7 of 16
(4,265 Views)

Thanks - we've basically done this same thing with the NI equivalent. And, we can send the SCPI commands as you've shown and the module does respond correctly. But it doesn't give us a clue about how to use IVI to do the same thing. There are always two channel values required and the first channel we can refer to just like the SCPI command: 2001. It is the common end of the mux which should also be a channel for IVI that we haven't discovered how to refer to.

 

Wonder if there is a way in LabView NXG to just send SCPI commands to a device...

0 Kudos
Message 8 of 16
(4,256 Views)

Hmm.  NXG 2 has VISA support I think, but not NXG 1.

 

Have you tried space, \r, \n, \r\n or just repeating the channel name?

0 Kudos
Message 9 of 16
(4,252 Views)

@Li_CD wrote:

 

Wonder if there is a way in LabView NXG to just send SCPI commands to a device...


Frankly sending SCPI commands is what I would have done from the beginning.

 

I have yet to see any benefit to IVI over SCPI.

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 10 of 16
(4,251 Views)