NI DIAdem Apps

Applications developed by Mechatronic Solutions LLC that run in NI DIAdem and provide unique solutions and functionality.  

 

Time Series Data Management System (TSDMS)

The Time Series Data Management System is a software application that dramatically simplifies the management, analysis, and visualization of time series data.   It is optimized to ingest, search, analyze, and visualize big data from nearly any file format and data structure.  

Key Features

  • Import many (thousands) of files of any type and size in one batch, and easily categorize them.
  • Easily perform statistical analysis and channel data manipulations on a set of data files using Bulk Analysis.
  • Generate a custom report with charts and data analysis results from a batch of imported data files.
  • 2D (x,y) and 3D (x,y,z) channel data structures are supported by this big data technology.
  • Perform linearity, hysteresis, repeatability, and accuracy analysis of cyclic data.
  • Calculate a duty cycle from a batch of data files.
  • Filter multiple files by 'events'.

 

Data Storage:   TSDMS Vs. Database Systems

  • The TSDMS is based on structured files that are optimized for the storage of very large quantities of measurement data, and the metadata that describes them.   This approach overcomes the many disadvantages and limitations of storing the same data within a database.  
  • The TSDMS can readily import measurement data from over 200 types of files (binary and text based) via DataPlugins.   Custom DataPlugins can be created to support the import of unknown file types.   The import of text based raw measurement files with many rows of data (samples) is considerably superior over what can be done with a database.   (try importing thousands of 30 GB binary files with a database, especially one constrained by internet latency).  
  • Quickly analyzing data consisting of 150000 channels (database columns), by two billion rows, times thousands of files (database Z) is now within the reach of specialized time series database systems, but how are you going to push all of that data to the cloud?.  
  • The backup and securing of files is much easier within an Operating System (OS) environment.   A database manager (employee), hardware, and software is required to access, manage, maintain, and secure a database.
  • Performing a fast fourier transform (FFT) signal analysis of measurement data is a standard feature within the TSDMS.   Performing the same in a database requires custom programming.  

 

Measurement Data

Measurement data is information recorded from one or more sensors by a data logger or recorder.   It is typically time series and a linear time and/or date/time stamp is associated with every measurement value.   Metadata such as the engineering units (°F, millimeters, ft/sec, etc.), location (GPS latitude & longitude), operating conditions, environment, etc. provide important context.  

Example of Measurement Data

Time [sec] Date/Time [UTC] Latitude Longitude Temperature [°F] Humidity [%]
0.0 20210530T14:43:02.5678 40.440488 -76.122757 74.2 29.5
0.001 20210530T14:43:03.2358 40.440498 -76.122761 74.3 29.4
0.0015 20210530T14:43:04.1353 40.440489 -76.122759 74.3 30.0

The above was recorded by a custom data logger S/N APC23467 outside at Bernville, PA USA from a Cub Cadet Ultima ZT1 lawn mower at an elevation of 362 ft.  

 

Channel Data Structure Standard

Both 2D and 3D channel structures may have channel groups with text/string channels, assignment channels, video channels, and complex channels.   Y-Channels are typically numeric, but they may also be implicit channels or calculation channels.  

Waveform channels are always converted by the TSDMS into numeric X and Y channels.   Numeric is preferred over waveform channels because waveform channels don't support non-linear 'Time' channels (frequency), and some DIAdem analysis tools operate faster and cleaner with numeric channels as the input.   The numeric channels created from waveform channels will have a common Time channel if the waveform channel number of values are all the same, otherwise each waveform channel will have a separate Time channel.  

2D   (X-Y)

A 2D data structure consists of an x-channel and y-channel(s) with the same number of values in the X and Y channels.   The most common configuration is one x-channel, and one or more y-channels within the same channel group.   It is also possible to have pairs of X and Y channels within the same channel group.  

The x-channel is always linear and the values are equidistant.   The values may consist of numeric values, or values of type date/time (DIAdem documentation calls this a channel of type 'Time').   The TSDMS preference is to name numeric x-channels 'Time' and date/time x-channels 'DateTime' whenever either is created.   DateTime x-channels may be high resolution for absolute time values.   DateTime channel time values are ambiguous unless the time zone associated with the values is known.   If the TSDMS is able to infer a time zone from the data, then the channel property named "UTC_offset" with a data type of text/string will be added to the DateTime channel.   The value will be "+00:00" for UTC, formatted as "+hh:mm" for a known time zone offset, or "-00:00" (or absent) when the time zone is unknown.   A numeric Time channel will always be created by the TSDMS if absent, but DateTime channel will only exist if it is included with the raw data, or created by the TSDMS if a time zone reference can be inferred.  

The association between a y-channel(s) and an x-channel (known as "XRelation") will be set automatically by the TSDMS for numeric X and Y channels.   It will typically referrence the Time channel, rather than the DateTime channel, unless a time zone is known for the 'DateTime' channels.   This assignment makes it easier to manually generate View and Report plots.  

3D   (X-Y-Z)

DIAdem supports both triplet and matrix 3D (x-y-z) data structures.   Tools are included in DIAdem to convert between the two 3D data structure types.   Matrix structures are more commonly accepted for the Report panel 3D charting.  

The TSDMS standard is a matrix data structure.   A matrix consists of one numeric x-channel, one numeric y-channel, and multiple numeric z-channels.   One z-channel for each value in the y channel, and the number of values in each z-channel corresponds to the length of the x-channel.

Channel Table of Matrix Data Structure
X Y Z1 Z2 Z3
0.1 10.0 100.0 110.0 120.0
0.2 20.0 105.0 115.0 125.0
  30.0      

 

 

 

AVAILABLE NOW: See http://www.time-series-data-management-system.com/

 

 

 

Bulk Import

Bulk Import allows you to import multiple data files and add metadata to them as a group (batch).   You may import data files that require a DataPlugin and/or DIAdem's Bus Log Converter.   Metadata is added to the data files from the filename(s), and/or the path, and/or Custom key/value pairs.   Adding metadata to your files is important because it allows you to categorize and identify your data files later.  

If you attempt to import the same file twice, the duplicate will be recognized (by file CRC hash) and you are given the opportunity to overwrite the old file, or abort the import.   Another unique hash named 'ImportBatchHash' provides a reference to identify the complete set of files imported.   By performing a Navigator search on the 'ImportBatchHash', you can quickly identify a set of imported files.  

Example of Analog Data Import

 

If Bus Log Conversion is required, then see the section that follows for more information.  

 

All metadata to be added has been specified.   Click the 'OK' button to begin import of the files.  

If you import files with the same filename as those that have been imported previously, this situation will be automatically detected, and the user will be notified and provided with an opportunity to overwrite those files, or abort.  

Click on the screen image above to see some of the metadata that exists for the two files imported in this example.  


 

Bus Log Conversion

Bus Log Conversion is dramatically simplified by using Bulk Import.   Bulk Import will scan the CAN/LIN/FlexRay bus numbers and identify those that yield Bus Log data.   It will also determine the ID Mode (J1939 or Default) that produces the best conversion results.   See Bulk Import vs Bus Log Converter for a detail comparison by example.   The screen images below demonstrate how easy Bulk Import is to use to accomplish Bus Log Conversion.  


 

Limitations:

  1. Requires DIAdem version 2020 or later,
  2. Currently works with "My DataFinder" only   (could be expanded to support any DataFinder)
  3. Bus log conversion of Field Bus Exchange Format (FIBEX) tested only for FLEXRAY bus log database files (not CAN or LIN), but conversion should work.
  4. Bus log conversion of Field Bus Exchange Format (FIBEX) with 'MOST' bus log database files is not supported.
  5. Bus log conversion with AUTOSAR bus log database files (*.arxml) untested. DIAdem supports CAN and CAN-FD formats but no LIN and FLEXRAY formats.
  6. May need minor customization to optimize import of data types not previously encountered.

 

New Features by Released Version

Version 20210723

  1. Significantly simplified the entire Bulk Import process / user interface.  
  2. Source files to be imported must be organized into folders by data type (filename extension).  
  3. Parsing of date/time from filenames is now significantly faster because the date/time masks are read from a file rather than being dynamically generated.  
  4. Source folder parsing interface enhance and made more simple.  
  5. JSON import replaced with editor that builds custom metadata key/value pairs.   The custom metadata is automatically saved to a JSON file and may be used with data sets imported later.  
  6. Bus log conversion now supports bus log file 'NI XNET (TDMS)' with bus log database of 'FlexRay', 'CAN', and/or 'LIN'.

Version 20201125

  1. Bus Log Conversion

Version 20200214

  1. Added option to import metadata via an external JSON file.   This feature allows you to add root/channel group/channel metadata to all files imported, and / or you can add specific metadata to be added to the root, channel group, or channel of each data file (by filename).  

Version 20200202

  1. Remembers the last source and destination folders (even from a prior DIAdem session)

 

More Bulk Import Examples

NI XNET (TDMS) + FlexRay

NI XNET (TDMS) bus log file and FlexRay bus log database file

 

Bulk Import Information for Advanced Users

The optional Custom metadata list you build is saved to a JSON file in the same folder as the data and can be used for subsequent data sets you wish to Bulk Import.   Each file is imported using a independent instance of DIAdem (worker), so that any issues during the import process will only impact that single file in the batch.   A unique hash named 'SourceFileHash' is calculated on the raw data files and automatically added as a file property to each imported data file.  

Importing Metadata by JSON File

Study the JSON sample file provided below carefully.   It provides insight on how to add root, channel group, and channel properties to all data files, and specific data files.   Use a JSON online validator to check the validity of your file before using it.   The BulkImport.ZIP file includes sample data files and another JSON files.  

{
	"AllFiles": {
		"root": {
			"StringPropKey1": "String_abcABC1230987_01",
			"NumericPropKey1": 123.88016012714181,
			"IntPropKey1": 32761,
			"DateTimePropKey1": "2019-07-28T20:54:01.783Z",
			"boolPropKey1":  true
		},
		"groups": {
			"Example": {
				"StringPropKey2": "String_abcABC1230987_02",
				"NumericPropKey2": 123.88016012714182,
				"IntPropKey2": 32762,
				"DateTimePropKey2": "2019-07-28T20:54:02.783Z",
				"boolPropKey2":  true,
				"channels": {
					"RPM":	{
						"StringPropKey3": "String_abcABC1230987_03",
						"NumericPropKey3": 123.88016012714183,
						"IntPropKey3": 32763,
						"DateTimePropKey3": "2019-07-28T20:54:03.783Z",
						"boolPropKey3":  true
					},
					"Torque":	{
						"StringPropKey4": "String_abcABC1230987_04",
						"NumericPropKey4": 123.88016012714184,
						"IntPropKey4": 32764,
						"DateTimePropKey4": "2019-07-28T20:54:04.783Z",
						"boolPropKey4":  false
					}
				}
			},
			"Noise data": {
				"channels": {
					"Noise_5":	{
						"StringPropKey5": "String_abcABC1230987_05",
						"NumericPropKey5": 123.88016012714185,
						"IntPropKey5": 32765,
						"DateTimePropKey5": "2019-07-28T20:54:05.783Z",
						"boolPropKey5":  true
					}
				}			
			}
		}
	},

	"Example": {
		"root": {
			"StringPropKey6": "String_abcABC1230987_06",
			"NumericPropKey6": 123.88016012714186,
			"IntPropKey6": 32766,
			"DateTimePropKey6": "2019-07-28T20:54:06.783Z",
			"boolPropKey6":  true
		},
		"groups": {
			"Example": {
				"StringPropKey7": "String_abcABC1230987_07",
				"NumericPropKey7": 123.88016012714187,
				"IntPropKey7": 31767,
				"DateTimePropKey7": "2019-07-28T20:54:07.783Z",
				"boolPropKey7":  true,
				"channels": {
					"RPM":	{
						"StringPropKey8": "String_abcABC1230987_08",
						"NumericPropKey8": 123.88016012714188,
						"IntPropKey8": 31768,
						"DateTimePropKey8": "2019-07-28T20:54:08.783Z",
						"boolPropKey8":  true
					},
					"Torque":	{
						"StringPropKey9": "String_abcABC1230987_09",
						"NumericPropKey9": 123.88016012714189,
						"IntPropKey9": 31769,
						"DateTimePropKey9": "2019-07-28T20:54:09.783Z",
						"boolPropKey9":  true
					}
				}
			},
			"Noise data": {
				"StringPropKey0": "String_abcABC1230987_00",
				"NumericPropKey0": 123.88016012714180,
				"IntPropKey0": 32760,
				"DateTimePropKey0": "2019-07-28T20:54:00.783Z",
				"boolPropKey0":  true
			}

		}
	}

}

 

Use the link below to contact me about acquiring this application.  


Bulk Import vs Bus Log Converter

Below is a comparison of bus log conversion using Bulk Import versus DIAdem's Bus Log Converter.   DIAdem's Bus Log Converter is a necessary and full featured tool for bus log conversion.   However, many bus log conversion tasks may be expedited using Bulk Import.  

 

Bulk Import Bus Log Converter

Bulk Import accepts a folder selection so that multiple bus log files may be converted.  

DIAdem's Bus Log Converter accepts only a single bus log file for conversion.  

All of the bus log database files in the selected folder are automatically identified.  

Begin creating a configuration.  

Select the range of possible CAN/LIN/FlexRay bus numbers that may yield conversion results.   The CAN/LIN/FlexRay bus number controls will only be enabled if associated bus log database files are found in the source folder.   The user only needs to click the 'Build Bus Log Conversion Configuration' button in order to automatically identify all of the bus numbers and the proper Id Mode (DEFAULT or J1939) for each bus log database file.  

Select a bus log database file.

Bulk Import is ready to begin bus log conversion of all bus log files in the selected folder based on the configuration automatically generated.  

Select a CAN bus log database file for Bus Number 1.   Choose the ID Mode.   If you don't know the ID Mode, then you need to attempt the configuration for both the DEFAULT and J1939 modes and review the results to decide on the appropriate selection.  

Bulk Import is ready to begin bus log conversion of all bus log files in the selected folder based on the configuration automatically generated.  

Select a LIN bus log database file for Bus Number 1.   Choose the ID Mode.   If you don't know the ID Mode, then you need to attempt the configuration for both the DEFAULT and J1939 modes and review the results to decide on the appropriate selection.  
NOTE: You must select 'Not Defined' for 'Bus Type', otherwise you cannot perform both a CAN and LIN conversion on Bus Line #1.  

Bulk Import is ready to begin bus log conversion of all bus log files in the selected folder based on the configuration automatically generated.  

Repeat the prior steps in order to build a CAN and LIN configuration for Bus Line #2.   If you don't know the ID Mode, then you need to attempt the configuration for both the DEFAULT and J1939 modes and review the results to decide on the appropriate selection.  

Bulk Import is ready to begin bus log conversion of all bus log files in the selected folder based on the configuration automatically generated.  

CAN and LIN configuration for Bus Lines 1 and 2 is now complete.   You are now read to bus log convert a single file.  

 

 

Do you need help with your project?   Send me an email requesting a free phone / web share consultation.  


 

Copyright © 2021,2022,2023 Mechatronic Solutions LLC, All Rights Reserved