cls9215 Posted July 1, 2005 Report Share Posted July 1, 2005 Dear all: I have some questions about the DAQmx, my questions is listed in following: when I only use the DAQmx AO or AI function, that my program can running normally, but , when I want to combine these AO&AI functions in the same program, my progrm appear some error information("error-200251 occurred at DAQmx Start Task.vi" Possible reasons: No DMA channels are available), why my program appear this error information?? :headbang: I hope everyone can help me this question, thank you many much!! :worship: Download File:post-756-1120209507.vi Quote Link to comment
cls9215 Posted July 1, 2005 Author Report Share Posted July 1, 2005 Dear all: I have some questions about the DAQmx, my questions is listed in following: when I only use the DAQmx AO or AI function, that my program can running normally, but , when I want to combine these AO&AI functions in the same program, my progrm appear some error information("error-200251 occurred at DAQmx Start Task.vi" Possible reasons: No DMA channels are available), why my program appear this error information?? I hope everyone can help me this question, thank you many much!! Download File:post-756-1120223783.vi Quote Link to comment
i2dx Posted July 1, 2005 Report Share Posted July 1, 2005 does this happen, too, if you start an AI and an AO VI from the examples (help, find exampes, hardware input and output, daqmx, ...) simultanously ? Quote Link to comment
cls9215 Posted July 2, 2005 Author Report Share Posted July 2, 2005 does this happen, too, if you start an AI and an AO VI from the examples (help, find exampes, hardware input and output, daqmx, ...) simultanously ? 5195[/snapback] So, I hope to know what is DMA channel?? and, how to set DMA channel for our programs to use, for example, how to set DMA channels information in MAX?? Quote Link to comment
i2dx Posted July 2, 2005 Report Share Posted July 2, 2005 good question! DMA means Direct Memory Access and it is a techniqe (as the name says) for a Device to access the memory directly and to write data. I am not sure, but the last time i had to deal with DMA channels was 1995, when my SoundBlaster needed one, which was configured in the config.sys (MS-DOS). Newer devices (e.g. PCI) should not ask for that. on the other hand: LV error messages are often not very precise, so its possible, that you get a help text which has in fact nothing to do with the real problem. which measurement hardware do you use ? prost! cb Quote Link to comment
Rolf Kalbermatter Posted July 2, 2005 Report Share Posted July 2, 2005 good question!DMA means Direct Memory Access and it is a techniqe (as the name says) for a Device to access the memory directly and to write data. I am not sure, but the last time i had to deal with DMA channels was 1995, when my SoundBlaster needed one, which was configured in the config.sys (MS-DOS). Newer devices (e.g. PCI) should not ask for that. on the other hand: LV error messages are often not very precise, so its possible, that you get a help text which has in fact nothing to do with the real problem. which measurement hardware do you use ? prost! cb 5200[/snapback] Under modern OSes you do not deal with allocating and configuring DMA channels on your own anymore. The problem is likely that different DAQ boards have different numbers of DMA channels built in. Basically the more expensive ones have more DMA channels. Timed analog input as well as timed analog output requires usually a DMA channel. There are some boards where a missing DMA channel can be substituted by Interrupts but they can't get the data as fast into the computer and are a much higher burden to the CPU, than if DMA could be used. Most likely you have a low cost DAQ board with only one DMA channel and therefore you get into trouble trying to do timed ananlog input and output at the same time. Maybe that the people from National Instruments technical support can help you with your particular board to get one or the other operation use interrupts instead. Rolf Kalbermatter Quote Link to comment
BryCoBat Posted July 12, 2005 Report Share Posted July 12, 2005 There's a bug in the DAQmx stuff, you can't do simultaneous AO and AI ops, or it will (eventually) crash. You'll have to ensure that you don't attempt simultaneous ops on your own, through a semaphore or something. Quote Link to comment
Wolfram Posted July 22, 2005 Report Share Posted July 22, 2005 Dear all:I have some questions about the DAQmx, my questions is listed in following: when I only use the DAQmx AO or AI function, that my program can running normally, but , when I want to combine these AO&AI functions in the same program, my progrm appear some error information("error-200251 occurred at DAQmx Start Task.vi" Possible reasons: No DMA channels are available), why my program appear this error information?? I hope everyone can help me this question, thank you many much!! 5188[/snapback] On this I see that you use a DAQ card that holds only one DMA channel. Use the channel property data transfer mechanism: -> Interrrupts for AO -> DMA for AI This should work fine. See the attachment. Regards Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.