LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Scanning channels with the AMUX64

I use an AMUX64/DAQCard-combination to monitor a signals.
When I use the AI single scan.vi to read channels and configure (AI
config.vi) with the following channel-input: 'AM1!0' (=amux#1,channel#0)
and 1 for the number of amux-boards, all works fine.
When I want to read more than one channel, like: 'AM1!0, AM1!5, .. etc', a
configuration-error returns. I also tried an array of channels like first
element 'AM1!0', second 'AM1!5', witch returns the same error.

When I just use the channelnumbers 0..7, 4 measurements / channel return.

Is there an easier way than just do de scanning myself?


Bram Daams
0 Kudos
Message 1 of 3
(3,086 Views)
I used to do this, and though my memory is not fresh I've just looked at the
old code. I called "AI Config" with the channels string "0:7" to tell it to
read all the channels of the on-card MUX, and an appropriate value wired to
the "Number of AMUX Boards" to tell it to read all the AMUX64 channels, and
"it just works". I think the notation you're trying to use is only for
single channels, which I only bothered with briefly on first contact. If you
need further info I can dig deeper into my memory.

You say you don't like this because it returns all four AMUX channels for
each DAQ channel; I just mask out the elements I don't need on the rare
occasions I only need part of the set. I suspect you can't avoid this; on
page 5-9 of my AMUX manual where it talks abo
ut scanning order it says all
four relevant channels of each connected AMUX64 are automatically scanned
whenever the relevant DAQ channel is scanned. It may be simply that when you
retrieve a single channel from the simple DAQ functions the masking and
discarding I refer to is being done lower down, in which case it would be a
really bad idea to scan them all manually using the single channel notation.

Bram Daams wrote in message
news:9omqnd$4v$1@dinkel.civ.utwente.nl...
> I use an AMUX64/DAQCard-combination to monitor a signals.
> When I use the AI single scan.vi to read channels and configure (AI
> config.vi) with the following channel-input: 'AM1!0' (=amux#1,channel#0)
> and 1 for the number of amux-boards, all works fine.
> When I want to read more than one channel, like: 'AM1!0, AM1!5, .. etc', a
> configuration-error returns. I also tried an array of channels like first
> element 'AM1!0', second 'AM1!5', witch returns the same error.
>
> When I just us
e the channelnumbers 0..7, 4 measurements / channel
return.
>
> Is there an easier way than just do de scanning myself?
>
>
> Bram Daams
>
>
>
0 Kudos
Message 2 of 3
(3,086 Views)
Hi Bram,
It sounds like you really understand the addressing for the AMUX64. You mentioned all the accepted ways of addressing the AMUX64/DAQ combination.

Here are some links that address this very question, though the solution uses the methods you already know:
Reading Multiple Channels with the AMUX64

For the reasons that Craig Graham suggested in the other response (low-level efficiency when using the built in multi-channel methods) I suggest you get 4 channels at a time as you mentioned in the second paragraph of your post, and then extract the pertinent data from each group.

Here is one more link that deals with or
links to several topics for AMUX64 addressing:
AMUX64 Channel Addressing

Please reply if you are looking for something different than I provided.

The other reply to this question is great and really appreciated. Thanks Craig. It so happens that the AMUX64 can't handle channel strings like AM1!0:3 or AM1!0,2,5.

Regards,
John Nieri
Applications Engineer
National Instruments
0 Kudos
Message 3 of 3
(3,086 Views)