Discussion:
continous output pattern with DAQmx not finishing output
(too old to reply)
Gabi1
2007-04-18 22:40:10 UTC
Permalink
Hello
 
using a DIO-32HS (NI 6533), i send to output a continuous output pattern usin LV8.2 and DAQmx, while monitoring the buffer space and nb of generated channels.
in general, up to a frequency of 800KHz, the data output nicely up to the last 16 or 17 words (32bit long) which seems not to be executed and shows for example 10000 channels written to memory, and only 9983 channels actually generated. the output isnt updated anymore at this point.
This is a problem as i need to know all my data has passed trough.
Moreover, if one trys to run the system at any frequency above 800KHz, (card support up to 2MHz, which would be very usefull for my application), the output status becomes erratic, as sometimes the memory is suddenly reseting itself (free memory appears to be zero), leading to a completely unfinished business. for example 10000channels are sent to memory, and just 5435 are executed, at which point the free memory suddenly goes to zero.
To note that i do not observe any error, and that i allocate a lot of memory in advance. i also looked at any other configuration i had in mind to see the occurence of this problem. happens always.
 
Thanks for any suggestion of the problem.
Gabi1
2007-04-20 09:40:12 UTC
Permalink
Hello Johannes,
 
Thanks for your answer. attached is a test code for my application.
the main difference with the usual examples is the fact that i allocate memory in advance, and i do not use the wait function at end of output generation to buffer (the Vi always return an error of timout), rather i observe myself that the buffer is emptying and that the memory is freed.
Note1: if you run this many times, you might want to add a request for memory deallocation at end of VI in order to avoid usage of too many Windows ressources.
note 2: for this test the data is regenerated, but it is not the case in my application.
 
For very short applications (typically shorter than few 100ms), i can run the application at 2MHz. but it is not always relyable, at any frequency above 850KHz. the Vi doesnt return an error, rather i observe the actually generated samples is not equal to the nb of samples written to buffer, and the output suddenly stops, while free memory goes to Zero.
Moreover, even at frequency below 800KHz, there are typically the last 16 samples not generated, altough written to memory. (this is actually the reason the Wait VI return a timout error).
I hope  with this info you will be able to pin-point my problem.
Best regards,
 
Gabriel


6533 pattern generation DAQmx.llb:
http://forums.ni.com/attachments/ni/70/6732/1/6533 pattern generation DAQmx.llb
Gabi1
2007-04-20 10:10:34 UTC
Permalink
Hello again Johannes,
 
following your proposition i looked at the example "Cont Write Dig Chan-Burst". i could not run it as is, and would have needed several changes in order to observe operation, however one main change that striked me was that the timing option is set to "burst (input clock)" instead of "sample clock".
Trying that on my vi seems to allow operation at the requested frequency of 2MHz without problem. i am confused of it tough, as i would have expected "sample clock" to give same results. What is the difference?
is the "burst (input clock)" different in any way, or maybe the frequency one set is not followed exactly by the card?
 
Best regards
GabrielMessage Edited by Gabi1 on 04-20-2007 05:03 AM
Gabi1
2007-04-24 14:40:15 UTC
Permalink
My system now works like a charm!
thanks a lot.
one more question tough: i want to add a trigger capability. can i configure it in advance using the DAQmx trigger, and then only when i start the task it waits for it? or as soon as i configure the trigger the cards wait for it to begin transfer?
Gabi1
2007-05-08 15:40:13 UTC
Permalink
Hello Johannes,
 
i have now my system running on 3 computers without a fault.
to remind, i have a 6533 card, which i program to output at 2MHz using the burst timing.
it is still not working at 2 MHz in the normal timed solution, but since it works in this burst mode i dont really care.
 
the problem suddenly occurs in the 4th computer i install this program in: burst mode doesnt work! it sends out one word, and then stalls!
using the other time mode lead to the same behavior as encountered on the other computers, but i cant really use it, since it wont run at the desired frequency.
 
the main difference there is that we installed NI-DAQmx 8.5, instead of the one shipped in the labview CD (drivers from august 2006), version 8.2
we tried installing DAQmx 8.3 instead, but the problem is still there.
 
Do you have an idea for me?
Thanks!

Loading...