LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Trying to figure out the best way to handle this multiplexer

Hardware: cRIO-9063

DIO Module: 9403

Multiplexer: Canary 48 Channel Multimux

 

For an upcoming project, I will be recording up to 200 thermocouples (along with other sensors and relay modules) and decided the best way to do this without having a full chassis and expansion chassis worth of thermocouple modules would be to use a high channel multiplexer.

 

This multiplexer accepts 48 2-wire sensors or 16 6-wire.  The channels are not addressable and are accessed by taking the enable high and pulsing the clock to iterate through the channels.  Upon completion toggling the enable low then high will reset back to relay one.  Eventually I will have several of these multiplexers working in parallel to get my total channel count.  

 

Currently I am able to step through every channel at slower speeds but when I try to speed the process up I start to run into issues with channels seemingly being skipped or the clock line not behaving as I think it should.  

 

I guess my question is, without taking into considering the timing on the multiplexer at all, what is the best way to setup my VI to maintain timing along with finishing the loop well within a second.  Based on my timing I should be able to get through all 48 channels, taking into account relay operate time, release time, and intial bounch in less than half a second.  

 

I apologize for not going into too much detail, I am trying to get this posted before leaving the office in the next five minutes.  I will be able to provide more information as needed tomorrow.   

 

 

Download All
0 Kudos
Message 1 of 7
(3,368 Views)

Personally, I would be cautious using relays to multiplex thermocouple signals which are on the order of micro to millivolt signals.

T/C terminations also require the use of materials matched to the T/C wire and cold junction effects can also manifest themselves at the point(s) of connection(s).

 

Have you contacted Canary regarding your application in terms of thermocouple usage?

 

-AK2DM

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 2 of 7
(3,357 Views)

I'll look into it. 

0 Kudos
Message 3 of 7
(3,323 Views)

I'll look into it. 

0 Kudos
Message 4 of 7
(3,317 Views)

What I would do, is use a for loop with a waitms function inside it, and use the iteration counter to direct the data result to the correct array position. You mentioned relay, those are not known for their high speed capabilities, and tipically struggle at frequencies higher than 30 Hz or so, the erratic behavior could come from them. I agree with Analog's comment, thermocouple are usually within a few milivolts, and acuraccy could become a serious issue in a multiplexer.

0 Kudos
Message 5 of 7
(3,302 Views)

I'm definitely a bit worried about using them in a multiplexer which is why I only purhcased 1 multiplexer instead of 5.  I only only plan to sample each channel at 1 Hz but will need to iterater through them faster.  I'm working on a test setup doing my own CJC at the multiplexer and handling the scaling in Labview.  Then I will know if this method is even feasible.  

0 Kudos
Message 6 of 7
(3,296 Views)

If you intend to iterate at 1Hz you would benefit from containing the reading section of the code inside a timed loop. That way you would ensure it executes 1 time a second if it's faster, and it would notify you if it takes longer, so you can work on the lenghtier sections of the code.

0 Kudos
Message 7 of 7
(3,290 Views)