Calculating Custom Data Features

NI InsightCM™ SDK 3.3 Help

Edition Date: December 2018

Part Number: 375191F-01

»View Product Info
Download Help (Windows Only)

The NI InsightCM SDK provides tools that allow you to calculate custom features from waveform data and store them on the server. Before you develop this functionality, determine in which of the following contexts you want to calculate the features:

  • On the server as part of an NI InsightCM Server service.
  • On the device as part of the device software.

Calculating Features on the Server

Calculate features on the server for the following reasons:

  • You want the feature to be calculated in any installation of NI InsightCM Server regardless of the devices in the system and the software they run.
  • You cannot implement the calculations in device software because you do not have access to the source files for the devices in your system.
  • You want to recalculate a specific feature that the device software already calculated based on a different algorithm.

When a device sends a data set to the server, the Analysis service calculates features for built-in features. Custom analysis services may also evaluate the data to publish new values. For example, if you configure an alarm rule that evaluates feature values calculated on the server, the server might not evaluate the rule and set an alarm immediately after an alarm condition is true depending on when the data set is collected and the time required to transfer and process the data set. Therefore, calculating features on the server is most appropriate when its values do not require continuous monitoring to trigger actions.

To calculate a feature on the server, develop a custom service that integrates with the Analysis service that runs in NI InsightCM Server. Whenever NI InsightCM Server receives a data set from a device, the Analysis service executes the custom service.

Calculating Features on the Device

Calculate features on the device to tightly couple the operation to the rest of the software that runs on a device. For example, devices can quickly evaluate these feature values for alarm rules and data set collection triggers. To calculate a feature on the device, develop a new process that runs in the device software.


Not Helpful