01-02-2012 04:27 PM
I have two Vis that are quite similar: one does a DAQmx read and the other does a DAQmx write. The read VI has a Create Task, Create Virtual Channel, Timing, Start, Read, Stop, and Close subVIs on the block diagram. The other VI that which does the write has a Create Task, Create Virtual Channel, Timing, Write, Stop, and Stop VIs. The reader VI works as expected with no problems whatsoever. The writer is another case. This one gives the following error report when it is run:
Error- 200371 occurred at DAQmx Create Channel(AO-Voltage-Basic).vi
Possible reasons(s):
Requested multiple virtual channels that correspond to the same physical channel within a task. A task cannot contain multiple physical channels of a specified type.
Use different physical channels for each virtual channel.
Physical Channel Name: ao3
Virtual Channel Name: chan1
Device: Dev2
Task Name: myNew OutputTask
The error is being generated by the create virtual channel vi
I have created an output task (VoltageOutTaskDev2_ao3) configured in MAX for a device (Dev2) that has both input and output capabilities. And I am OK going into the create virtual channel vi, but somehow this vi is not working. The Create task is connected to a task copied constant which is selected from what was made in MAX as a task. The physical channel input is going into the create virtual channel vi and is connected to Dev2/ao3. There is only one virtual channel that I am creating and there is only one physical channel being selected. And the task is configured to only one device. I sure like to figure out what I’m doing wrong here as it is getting a bit frustrating after working on this VI for the last couple of days.
Include is a reports file generated from MAX so you will see my configuration.
Solved! Go to Solution.
01-03-2012 01:34 PM
Hi xvzvzvzfbvfbfb,
It sounds like you may have multiple virtual channels trying to access the same physical channel due to copying the task. Some explanation of this problem is given in this post: http://forums.ni.com/t5/Multifunction-DAQ/Error-200371-using-DAQmx/m-p/163094?requireLogin=False. When you have already created the task in MAX there should be no need to still create the task and virtual channel from within Labview, you can simply start the task as shown here: https://decibel.ni.com/content/docs/DOC-2316.
01-03-2012 10:33 PM
sorry about this post: it was a mistake as you can tell from the name of the thread and I could not delete the post after I sent it out by mistake. If I could I would delete this post as I have put up another post with a decent name.
And I might add that the finding the error message by entering the error number is a great thing to know as I did not know how to do this before your post. One other thing, the example code that was shown starting out with a start vi instead of the create virtual channel vi actually did get some of my example vi to run.But, I also have a number of VIs that start out with the create virtual channel VI and then go into the start VI and these all work. I did enter in the Dev3/ai0 as the analog in channels input to the create virtual channel VI, and the program still ran great! I did not put a task input to the task in input terminal when the VI ran OK, so my guess is that some sort of default task not in MAX was created in order for a virtual channel to be created and sent to the start VI. Maybe this makes sense since when I put in a task out of MAX such as a voltage task for the same device and pin # that is already in MAX I now get a rather strange error code: 200523
01-04-2012 10:42 AM
Hi cuthbert,
I'm glad to hear that you were able to get past that other issue. This error could be caused by using an incorrect version of the DAQmx read polymorphic VI. Details on this error are available in this article: http://digital.ni.com/public.nsf/allkb/D8267CF33AF434F58625785D006C00A3?OpenDocument. You should be able to resolve this by simply changing your DAQmx read VI as described.