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.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Building a DataPlugin with variable time

I'm working on a DataPlugin (LabVIEW) for a custom file format that cannot be changed.

 

The custom file is in X/Y binary format, where the delta T between each X point isn't constant. If I was in LabVIEW world I'd just bundle these together and dump them into an XY Graph.

 

I've looked through the SDK documentation, examples, and internet searches and I'm not coming up with a great way to handle this in the DataPlugin. It seems like everything is expecting Waveform data of some sort (T0, dt).

 

Any suggestions, reading, or examples on how to handle this would be appreciated.

0 Kudos
Message 1 of 3
(812 Views)

I'm going to pump this once in hopes it'll help generate a response. DIAdem board overall seems to be pretty dead, but I've had no luck in figuring this out.

 

After a few hours' research and racking my brain, I've only come up with 2 options, neither of which is particularly appealing:

  1. Upsample and interpolate my current data set to force it into a waveform format.
  2. Import the time axis as its own channel, group them together as a single channel group.

My issue with 1, is that for each channel I'd have to turn ~5000 samples into ~50,000,000 which will cause the load time of each waveform to be very slow and will hog up a ton of memory. A lot of the analysis will done on DaaS type machines and memory management / processor power becomes a concern.

 

My issues with 2 is how cumbersome it will be in DIAdem to handle the data. This is very likely just my lack of skill in DIAdem, but I don't know of a way to automatically set the X axis to it's own time channel when added to a graph through drag and drop. It will be too cumbersome for users to manually adjust the X-channel each time a waveform is added.

0 Kudos
Message 2 of 3
(753 Views)

Hi BowenM,

 

DataPlugins allow you to append various properties to numeric channels.  If you append waveform properties you get a "waveform" channel, if you append "XY" properties you get an "XY" channel (pair), if you append calculation properties you get a calculation channel, if you append assignment properties you get an assignment (enumeration) channel, and if you append no such extra properties you just get a plain numeric channel.  The waveform approach is the oldest of this list, but in the meantime there are quite a few other channel "flavors" that you can prepare in the DataPlugin by making the right property writes to the channel.  For XY properties in particular, I suggest you refer to Table 2 in the following article:

 

https://www.ni.com/en-us/support/documentation/supplemental/12/writing-data-management-ready-tdms-fi...

 

If you need more than 1 X channel per channel group, then you can set the X channel association on a per-channel basis, again with properties.

 

Brad Turpin

Principal Technical Support Engineer

National Instruments

0 Kudos
Message 3 of 3
(719 Views)