I have a program that logs data from mulitple channels. It waits for 500 points from each channel, then saves the data (as a raw 2D DBL array) to file, wait for another 500 points, saves and so on. At the end, I have a raw file. I created a utility VI that would take the raw file and converts it to a tdm file so I can read it in Diadem. The utility VI has a for loop. In each iteration, the loop reads one data segment (the 500-point 2D array), converts the channel data to waveforms and then writes/appends to a tdm file using the Write Data (Channel) storage VI. The VI works fine for small files. But as the file gets larger, the conversion time seems to increase exponentially. Eventually grinding to a halt.
I noticed that each iteration of the for loop seems to take longer and longer. So I suspect the Write Data VI may not be simply appending to the existing channel data. But instead, each time it's probably reading back the waveform data already saved, recombine them with the new data and then rewrite the entire file. This is just a guess.
Anyway, I really need some help resolving the performance issue. Any response will be appreciated. The conversion VI is attached.
S.
LabView 8.0
Message Edited by Seaman008 on 06-01-2007 01:50 PM