04-04-2019 12:50 AM
hi,
i am trying save data coming from XLINX FPGA. Data from FPGA is of 10mbps. data is continous
but i am writing at very lower speed. i.e., of khzs.
let me know how much speed i can write data in TDMS file ?
my requirement:
acquire data from visa read, concatenate two bytes and store in TDMS.
please find the vi uploaded. and suggest me how i can increase the speed of writing ?
04-04-2019 03:45 AM - edited 04-04-2019 03:46 AM
This is expected behaivor by the way you are implementing. Using single loop for acquisition (with 500ms timeout!) and using ExpressVIs usually lacks performance.
Take a look into TDMS Advanced Asynchronuous Write Speed Test.vi which you can find in the Example Browser. Verify that your requested speed is achieved (depending on storage medium and interface). Implement your application by using a similar approach as the example uses.
EDIT: Learn about producer/consumer design to learn how to split acquisition and file streaming.
04-17-2019 01:31 AM
thank you for reply 🙂
i have changed
< (with 500ms timeout!)> wait time to 0ms.
now i am getting 0.285mb/sec speed.
my target is 3mb/sec.
as you mentioned < Using single loop for acquisition (with 500ms timeout!) and using ExpressVIs usually lacks performance>
i) which loop increases my speed.
ii)instead of ExpressVIs which function i can use.
suggest me further. to increase the speed.
as i am new to lab view. your suggestions matters ALOT
04-17-2019 04:55 PM - edited 04-17-2019 05:02 PM
@Norbert_B wrote:
EDIT: Learn about producer/consumer design to learn how to split acquisition and file streaming.
What he said... LOL
With a producer consumer architecture the "producer" puts data in a queue (FIFO buffer) as fast as it can take measurements.
The "consumer" can then take it's own sweet time removing data from the queue and write it to disk without affecting the acquisition timing.