Configuration Properties from NI InsightCM Server

NI InsightCM™ SDK 3.3 Help

Edition Date: December 2018

Part Number: 375191F-01

»View Product Info
Download Help (Windows Only)

Parent Topic: Device Software Fundamentals

Processes in device software often need to access user- or developer-defined properties about devices, alarm rules, and other components to operate properly. For example, many processes must read the name of each data group and the names of channels they contain. As another example, the Trend Alarm process reads properties of alarm rules, such as the expression that triggers an alarm. The server automatically sends these properties to the device in a series of JSON files whenever a user saves changes on the Device Configuration page.

Software processes often require these properties when they execute their Initialize code to populate the configuration cluster with values that message-handling code requires. To populate a process with values from configuration files, use VIs on the Global Configuration palette to read from the files and filter properties for elements of interest. It's helpful to understand the format in which these VIs return properties in order to know how to manipulate the data. Consider the following excerpt from a JSON configuration file and the format in which the Global Configuration VIs return the data:

JSON LabVIEW Data Type


"Id" : "5554d12239fa4c2f88fad2f1",

"DeviceId" : "5554d12239fa4c2f88fad2ee",

"ChannelType" : "NI 923x",

"Keywords" : ["Acceleration"],

"DataGroup" : "Default",

"HardwareKey" : "Slot 1",

"HardwareChannel" : "Mod1/Ch0",

"AssetNodeId" : "57d72d1ee89743d7b6b1d291",

"Properties" : [{

"Key" : "Unit",

"Value" : "g"

}, {

"Key" : "Sensitivity",

"Value" : "100"

}, {

"Key" : "SampleMode",

"Value" : "Waveform"




Observe the following contents in this example:

Label Component Type Description
channels Top-level JSON object
Id, DeviceId, Name Named property with a single value IDs are GUIDs you can use to correlate an element reference in one configuration file with a definition in another file.. Names are human-readable.
ChannelType Named property with a single value
Keywords Keywords array
Properties Named property whose value is an array of key-value pairs Array of clusters, where each cluster contains the key and value as scalar strings

Types of Configuration Files

Configuration properties are stored on the device in a series of JSON files, which devices download from NI InsightCM Server. This table lists each type of configuration file and the Global Configuration VI to use to return its contents.

Global Configuration API JSON File Description of Contents
Get Alarms AlarmRules.json Alarm rules
Get Device Model <Device Name>.json The entire device model, including device properties, channel properties, and tags
Get Asset Nodes AssetNodeDefinition.json
Get Metric Definitions MetricDefinitionInstances.json

JSON files on the device hard drive are located at: /home/lvuser/natinst/LabVIEW Data/InsightCM/app.

Related Information

Providing Configuration Data to Processes


Not Helpful