Applications developed by Mechatronic Solutions LLC that run in NI DIAdem and provide unique solutions and functionality.
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.
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.
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.
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.
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.
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 |
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.
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 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.
NI XNET (TDMS) bus log file and FlexRay bus log database file
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.
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.
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.
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