05-19-2022 08:56 AM
Hi,
Am wondering whether it ll be possible to unpack tdms files in real time and stream the same data to a physical hardware as an actual input. E.g: Real time sensor data stored by data logger in TDMS format to unpacked and fed to Signal processor as a real input. Are there such possibilities available? Not just CVI or Labview, just by any means.
Regards,
Dinesh
05-22-2022 04:02 AM - edited 05-22-2022 04:04 AM
Why do you say not just LabVIEW or LabWindows? Your best bet are these two.
Can it be done? My response would be: It depends!
What are the amount of data we talk about here? How fast? What is realtime for you? What is your programming expertise in general and with one of LabVIEW or LabWindows/CVI specifically?
If you talk about a few devices which need to be send a few setpoints each second it’s pretty easy peasy. But if you talk about Megabytes of data per second to one or more instruments you are looking at a very challenging task that only can.work with according hardware too. A serial interface won’t cut it for sure.
05-22-2022 10:57 AM
When you say "unpack in realtime" is there another application writing to the TDMS files at the same time? or is it a completely TDMS available already but you just need to read the content and "play" it back through an instrument?
If it is the latter, you are better off with reading the whole TDMS file as a waveform and passing to the appropriate instrument driver to let it take care of the best way to transfer the data to the hardware as per configuration.
05-23-2022 12:27 AM
It is definitely lots of Megabytes. The 10 sec file comes at 1.8 Gb in our case. May be using a PCIe interface it should be possible to stream such data I hope. But am open to more answers around this.
Option B would be to store the unpacked data and use the memory to memory system to access the data in real time. But even then this is camera raw stream which doesnt have any file format. Am trying to understand the play back way around this too if it is Option B.
05-23-2022 12:33 AM
I ll tell you the scenario exactly,
Camera-> Data-> Data logger ->TDMS file.
where as the regular route of this would be
Camera ->Data->ECU->Display
Now what we want to achieve is Replace the camera data with
TDMS file -> Data ->ECU->Display
This is what we are trying to achieve, we want to run the pre recorded camera data on the ECU in real time. In terms of file size the 10 sec video in TDMS file come around 1.8 GB.
05-24-2022 06:56 AM
1.8 GB in 10 seconds! That makes nearly 200MB/second, if you want to do that in real-time!
What sort of Über-Giga-Network layer are you using here?
05-24-2022 06:57 AM
It is done through FPD link. It's RAW camera data stream.
05-24-2022 07:02 AM - edited 05-24-2022 07:12 AM
And you are sure your FPD link hardware can be also used in the sender direction and not just the receiver direction?
Most FPD link PC interface cards out there only have a Deserializer input on their connectors to receive camera images. You need a card with a Serializer output for this to work. And a driver API that supports this.
Or do you have the PXIe-1486 SerDes P/N 787454-01 card?
05-24-2022 08:04 AM
Oh Sorry ! I meant about the camera ->Data logger is done through FPD.
We are not sure on how to get the data from PC via Labview to our ECU. Am open for all the suggestions. But as you mentioned the ECU has a FPD link only, so if that's the case are you saying PC->ECU is not possible via FPD link? Or Card you mentioned has the capability to output via FPD link?
Also there is a possibility to disable the SerDes if we are feeding PC->ECU a deserialized output.
05-24-2022 08:12 AM
@dineshshanmugam wrote:
Also there is a possibility to disable the SerDes if we are feeding PC->ECU a deserialized output.
Your ECU has a parallel input? If so what sort?