From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

6534 continous pattern generation with over 4GByte of output data

I encounter a problem with continuous pattern generation with the NI 6534 when reaching 4GByte of output data. I using LV 7.1 and traditional DAQ. I have approximately 12 GB of data to be generated, split into 500 MB files, from which I read chunks of the buffer size at a time and pass it to the DIO write. This works all pretty well, but when reaching 4 GB of generated data the DIO write seems to stall and to wait for the specified timeout, but I don't get a error message.
 
I used the same vi some time ago with LV 6.1 and think that the problem did not occur at that time, but I'm not so sure about that. The interesting part was in the first 4GB of data so I did not look at the remaining data very closely.
 
Thanks for any help,
 
Holger
0 Kudos
Message 1 of 5
(3,726 Views)
Holger,

It sounds like you have some sort of LabVIEW-related memory leak in your code. From the hardware and driver perspective, there should be no problem with what you are trying to do. Let's continue discussion of this issue on this forum.

Regards,
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
0 Kudos
Message 2 of 5
(3,710 Views)
I have attached an vi which demonstrates the problem. It reads data chunks with 1/2 buffer size from files and pass them to the DIO Write. The files I use have a typical size of 500 MB, but you can take any file of reasonable size for demonstration. Just  replace the filepath repetitively into the "mulitfilename.txt" file I have also attached. In my real application I move through a list of different pattern files.
 
What you will see is, that upon reaching 4.3 GB of read data, the number of generated bytes grows faster than the number of bytes read and the transfer rate drops. When you let the file run, you will find the the transfer rate will go up again when the number of generated bytes reaches 8.6 GB, will drop again at 12.9 GB and so on.
 
Thanks,
 
Holger
 
0 Kudos
Message 3 of 5
(3,703 Views)
Holger,

Could you try running the Cont Pattern Output shipping example in LabVIEW (Help->Find Examples). Please run this example with your specifications and see if you observe the slowdown. I suspect this issue has something to do with Windows file/memory handling. Additionally, in order to properly implement double buffering, you need to wire the full buffer size into the DIO Config "number of scans/updates" input. Finally, I would recommend upgrading to the NI-DAQmx driver. Programming for the 6534 is much simpler as memory management is handled automatically (you don't have to do double buffering) and the logical flow of programming is much less complex.

Hope this helps,
Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
0 Kudos
Message 4 of 5
(3,673 Views)

Finally I found some time to try it with the DAQmx drivers and it seems to work ok now. 

Thanks for every support,

Holger 

0 Kudos
Message 5 of 5
(3,592 Views)