LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Waveform vs. Dynamic data

Can anyone tell me what is the main difference between the Waveform data type and the Dynamic data type?
I am streaming multi-channel data to file using the datalog format and I want to know if there is a difference if I store it as Dynamic data or if I should convert it to waveform first. Also if I should do the reverse when reading it back. Thanks.
0 Kudos
Message 1 of 7
(8,717 Views)
This may be a question of architecture and preferred approach. The Dynamic data type is associated only with Express VIs...only Express VIs can accept Dynamic data types (i.e. there are no "regular" VIs that accept the Dynamic data type). So, if you find yourself relying on Express VIs a lot, then stick with the Dynamic data type. If you will be breaking this data into its more basic parts, however, then you should consider using the Waveform data type. My personal recommendation is to use the Waveform data type since you will be able to feed this into various VIs with greater ease, and there are a host of conversion/extraction functions and VIs for the Waveform data type. Also, I am generally biased against Express VIs since they can be slower to update while programming and since they sometimes give results that aren't exactly what you would expect (although they work fine, you have less visibility and control over the details of their behavior). Use Express VIs when they can save you time for small-medium tasks--but using them too much can impact the ultimate architecture of your application.
I hope this helps...it turned out being more philosophical than technical.
Message 2 of 7
(8,696 Views)
Well thanks for the comments and I agree with your opinion. Nevertheless my question was more as far as the actual data type format. If I write a waveform or a dynamic data to a datalog file, will I get the exact same contents on the file or is the data structure/format/content different. I assume it has some differences but I just don't know what those are and perhaps someone can show me. Thanks.
0 Kudos
Message 3 of 7
(8,696 Views)
Are you interested in the binary file format of a datalog file so that you can read/write it from a non-LabVIEW app?
0 Kudos
Message 4 of 7
(8,689 Views)
Not at the moment but it might be usefull in the future. Although I think I've read that the datalog format is propietary to NI software and can't really be used for other apps.
I really just want to understand the difference between the two types. Why have this new dynamic data and not just use the waveform type? Its used for the express VIs but what does it have different that makes it special and can't be used by other non-express VIs? Does it take more file space to write dynamic data than to convert to waveform and store that? Any advantages or disadvantages (aside from usability with express VIs or optimization in performance)?
Sorry the question doesn't deal with a specific problem to solve. I jsut want to know better what I am dealing with. I already have part of my code working with the waveform type but am curious to understand the new dynamic data type better.
Thanks again.
0 Kudos
Message 5 of 7
(8,688 Views)
The more I look into DDT, the more it seems like a hassle, especially if you want to perform any operations on the data. For example, after doing a search in NI Support, nearly all responses recommend converting from DDT to an array/waveform/scalar/etc. before you can effectively manipulate the data. Here's a sample of some responses:

DDT Response 1
DDT Response 2
DDT Response 3

The picture I'm forming is that DDT may be useful for simple Express VIs--and this may serve the purposes of a lot of the LabVIEW population in the easiest fashion. But performing any operations on DDT data appears to always require conversion to waveform/array/scalar/etc. This will add a bit of overhead to your code. You may find that you will answer your question(s) only after doing some coding with DDT and comparing it to the code required to do the same task but using waveform data types instead. Having looked into it a bit, I think I'll avoid DDTs.
0 Kudos
Message 6 of 7
(8,684 Views)
I think I agree with you. I haven't been using Labview for that long and of course I started with the express VIs, but I've had more issues than not in putting together my program. Of course there was a bit more of learning curve to use the non-express tools but I got a handle on it now. Right now my VI is sort of a hybrid version using both express and non-express VIs but will slowly try to clear it of the express stuff. Thanks for the help.
0 Kudos
Message 7 of 7
(8,681 Views)