07-26-2011 03:52 PM
07-29-2011 02:25 PM
Hi STM99,
If I understand correctly, you want to write a series of bits once to the buffer and have that output continuously by looping to the front of the buffer after the last sample in the output buffer is written to the port. This is what regenerative mode refers to. I am going to attach the sample VI you referenced where I added a property node to change the DAQmx task to regenerative mode. I tested this on my 6321 which only has a max output rate of 1 MHz but I was able to run it at the very max of 1 MHz with no problem when setting to use only onboard memory. Please let me know if this example represents what you want to do and if it runs at the full 10 MHz on your 6361. A great resource on analog buffers that is similar to the digital buffers we are using can be found here.
08-01-2011 11:46 AM
08-01-2011 01:30 PM - edited 08-01-2011 01:33 PM
Let's see what your code looks like. (and some sample data) Something is not quite fitting here. Does the device pass self-test in MAX?
08-01-2011 02:38 PM - edited 08-01-2011 02:44 PM
Hi STM99,
Just to clarify, running the following VI does not work on your USB 6361 at rates 10 kHz or higher?
What error are you getting? Jesse mentioned -50150, is this correct? Does the above code work at lower rates?
If so, this isn't something I've seen before. -50150 is an internal software error that shouldn't be thrown under normal circumstances. Can you try adding a delay in between the Write and Start functions, and also try writing a full buffer of data?
Neither of those steps should be necessary but I'd just like to try it out and see. I can't reproduce the same failure here so it's a bit difficult to give advice. What OS are you using, and on what PC?
Your initial error @ 6 MHz would be expected when transferring from PC memory (see specs)--although the error seems a bit off (I'd expect -200621). Setting UseOnlyOnBrdMem to true should fix that problem however, so I'm not sure what's going on in your case.
Best Regards,
08-01-2011 02:45 PM - edited 08-01-2011 02:46 PM
Hi STM99,
Just to clarify, running the following VI does not work on your USB 6361 at rates 10 kHz or higher?
@John, Of course it does not run above the sample rate (10,000 const!)-
trun the Sample rate into a control and pass the desired val in
08-01-2011 02:59 PM
Hi Jeff,
I put everything as a constant so I could show all the parameters in one screenshot, but technically you do make a good point 🙂
Also, to the original poster... what version of DAQmx are you using?
Best Regards,
08-01-2011 03:37 PM
How are you stopping your VI?
It turns out if you abort the VI in LabVIEW while regenerating DO from the on-board FIFO on USB X Series, the device can enter a bad state and must be reset (can be done programmatically) before using again. The error you receive is -50150 in this case. You should hit the stop button (the front panel control) instead, which allows the code that occurs after the loop to execute. This properly clears your task with DAQmx Clear Task.vi.
We are filing two Corrective Action Requests (CARs) as a result of these issues:
When possible, you should always properly close your references and clear your tasks. In the code you have provided, this means you should hit the Stop button instead of Aborting your VI.
Best Regards,
08-01-2011 03:43 PM
08-01-2011 03:47 PM
I take it you had a private chat vie SSP! GREAT news it sounds resolved-
Possibly change the example vi properties to "do not show abort button" Sounds like nice work