LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

multi channel tasks NO-9205

Greetings,

 

Maybe this is a question that should be posted on the a hardware forum.

My situation:

  • Latest version CVI
  • microDAQ rack with NI-9205 input module
  • 3 differential voltage channels on a0, a1, a2  - RTDs with Phoenix signal conditioners (0-10v)
  • 3 single ended voltage channels on a3, a4, a5 - Keyence analog out (0-10v) flow meters
  • Tasks created in the project using the DAQ assistant.

My problem: - When I tried to setup a task to read multiple channels in one tasks I got bad readings. Solution was to write a task for each single channel then call sequentially by starting and stopping each tasks to avoid resource sharing errors.  The problem with this is that for the first 20 seconds or so I get bad readings (usually negative numbers that are all roughly about the same value) then the readings stabilize to good values.  The inputs seem responsive when the input changes.  (Such as when I place probe in hot water)

 

Questions: - Why can't I write the task with multiple channels in one task?  Why does it take so long to stabilize the readings from the DAQ task?

 

Thanks

0 Kudos
Message 1 of 4
(3,501 Views)

You should be able to setup a task with several channels inside.

Have you created the task in MAX or in project? Can you run some of the acquisition examples and get good readings?

Can you directly create an acquisition task in MAX and see if this one acquires correctly?



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 2 of 4
(3,492 Views)

Thanks for responding Roberto,

 

I created the tasks in CVI using the Tools->Create/Edit MX tasks with the Project option.  After I specified the channels I usually run the task in the mode that looks like the MAX interface.  Should I be able to mix differential and single channels reads in the same task?  I had the task set up as on demand single read.  In my program I use the ReadAnalogScalarF64 read if my task reads a single channel and a ReadAnalogF64 to a buffer if I am trying to read mulitple channels in one task. 

 

I played around with different settings while trying to run in the task edit mode.  Might I need to put some channel delays between reads or something like that?  Is there some channel task setting I should be using?  My single read tasks work but I would think they should work better.  I also don't understand the settling delay that occurs when I start the program and the tasks.

 

I am performing a Start task and stop task when I call the single read tasks and I read in the documentation that too many starts and stops can affect performance.

 

BTW - I am running all the latest versions of hte required software and drivers.

0 Kudos
Message 3 of 4
(3,487 Views)

First of all, some tests can be performed directly in MAX, for example setting up channels and reading each of them individually directly from the channel setting.

Next you can setup a task in MAX with two similar channels (i.e. two differential or two single-ended) and run it verifying that the read correctly. Next you can add a channel of the other type and recheck.

If all works well you could then pass to CVI side and try running one of the DAQmx examples, for example ContAcq-IntClk-AnlgStart.prj (you shoudl find it on your machine if you have installed the examples while installing DAQmx): this program can read both one channel or more channels so you can have a fast check of your system. You could also look at its code for a guidance on how to develop your actual application.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Message 4 of 4
(3,479 Views)