Reference#

The steps in the Nominal Core step group. Each one calls a VI, and that VI’s inputs and outputs are the step’s parameters.

Connection#

Open Connection to Nominal#

Nominal_Connect · New steps are named Nominal Connect · Calls nominal open.vi

Opens a connection to Nominal.

To get the required inputs, review getting started material in the docs or go straight to Nominal settings. In the settings, go to the “API keys” page to get your API key, workspace RID, and base URL.

Inputs

API key

String

API token used to connect to nominal.

Base URL

ASCII String · default https://api.gov.nominal.io/api

The URL of your tenant. The default is the standard cloud-hosted tenant.

Workspace (tenant default)

ASCII String

Workspace RID to connect to. If none is provided, the default for your tenant will be used.

Timeout ms (-1: infinite)

Number (I32) · default -1

Outputs

connection

Object Reference (Nominal Client.lvclass)

error out

Error cluster

Disconnect from Nominal#

Nominal_Disconnect · New steps are named Nominal Disconnect · Calls nominal close.vi

Closes the connection to Nominal

Inputs

connection required

Object Reference (Nominal Client.lvclass)

Outputs

error out

Error cluster

Assets#

Create Asset#

Nominal_Create_Asset · Calls create asset.vi

Creates a new metadata asset in Nominal.

Inputs

connection required

Object Reference (Nominal Client.lvclass)

Title required

ASCII String

Name of your asset.

Description

ASCII String

Optional description associated with the asset.

Outputs

asset

Object Reference (asset.lvclass)

error out

Error cluster

Get Asset#

Nominal_Get_Asset · Calls get asset.vi

Look up an asset object by RID.

Inputs

connection required

Object Reference (Nominal Client.lvclass)

Asset RID required

ASCII String

RID of the asset. In Nominal you can get this from the Asset page details sidebar.

Outputs

Asset

Object Reference (asset.lvclass)

error out

Error cluster

Update Asset#

Nominal_Update_Asset · Calls update asset metadata.vi

Update an asset obtained with create asset or get asset with properties and labels.

Inputs

asset required

Object Reference (asset.lvclass)

Labels

1D Array (ASCII String)

String labels used to filter an asset.

property key-value pairs

1D Array (Container)

  • key String

  • value String

Property key-value pairs used to filter an asset (eg “serial”=”0xABADCAFE”).

Outputs

updated asset

Object Reference (asset.lvclass)

error out

Error cluster

Datasets#

Find or Make Dataset for Asset#

Nominal_Create_Asset_Dataset · Calls get or create dataset from asset.vi

Locate a dataset on an asset, creating that dataset if not found.

Inputs

asset required

Object Reference (asset.lvclass)

Datascope Name required

ASCII String

The name of the datascope associated with the asset.

Outputs

refreshed asset

Object Reference (asset.lvclass)

dataset

Object Reference (dataset.lvclass)

error out

Error cluster

Get Dataset by RID#

Nominal_Get_Dataset_by_RID · Calls get dataset by rid.vi

Using a dataset RID, get a reference to the dataset object. This can then be used to create a Stream.

Inputs

connection required

Object Reference (Nominal Client.lvclass)

Dataset RID required

ASCII String

Outputs

Dataset

Object Reference (dataset.lvclass)

error out

Error cluster

Streams and channels#

Create Stream from Dataset#

Nominal_Create_Stream_from_Dataset · Calls create stream from dataset.vi

Create a reference to a stream to a provided dataset. Use get dataset by rid to get the dataset reference.

Inputs

dataset required

Object Reference (dataset.lvclass)

fallback avro file (user documents\nominal_fallback_files)

Path

A local file used to store data if the stream fails.

Outputs

stream session

Number (U32) (Refnum)

error out

Error cluster

Create Stream from Dataset RID#

Nominal_Create_Stream_from_Dataset_RID · Calls create stream from rid.vi

Create a reference to a stream to a provided dataset RID without obtaining the dataset reference first.

Inputs

API Key required

ASCII String

API key for accessing Nominal.

Dataset RID required

ASCII String

The resource ID of the dataset, obtained from the Details sidebar in Nominal or from a dataset object.

fallback avro file (user documents\nominal_fallback_files)

Path

A local file used to store data if the stream fails.

Outputs

stream session

Number (U32) (Refnum)

error out

Error cluster

Find or Create Channel in Stream#

Nominal_Find_or_Create_Stream_Channel · Calls find or create stream channel.vi

In the provided stream session, register a channel by name. Tags can only be set on creation and are part of the unique identification of a channel, but are not required.

Examples:
Call with “name”, <no tags>; Call with “name”, <no tags> => one channel
Call with “name”, <no tags>; Call with “name”, tags: [sn: 123] => two channels
Call with “name”, tags: [sn: 123]; Call with “name”, tags: [sn: 321] => two channels

Inputs

stream session required

Number (U32) (Refnum)

channel name required

ASCII String

The name of the channel.

channel tags

1D Array (Container)

  • key String

  • value String

Tags used to filter data on a channel.

Outputs

Channel

Object Reference (Channel.lvclass)

error out

Error cluster

Update Channel Metadata#

Nominal_Update_Channel_Metadata · Calls update channel metadata.vi

Update channel’s description and unit. Clear unit takes precedence over any value set in the unit field.

Inputs

connection required

Object Reference (Nominal Client.lvclass)

Channel required

Object Reference (Channel.lvclass)

Description

ASCII String

If set, the description to update to.

Unit

ASCII String

If set, the units to update to. Use clear unit to clear the unit since an empty string will perform no operation.

clear unit

Boolean · default FALSE

Clears the unit of the channel.

Outputs

error out

Error cluster

Destroy Stream#

Nominal_Destroy_Stream · Calls shutdown stream.vi

Closes the stream connection.

Inputs

stream session required

Number (U32) (Refnum)

Outputs

error out

Error cluster

Writing data#

Stream Array to Channel#

Nominal_Stream_Array_to_Channel · Calls stream array to channel.vi

Stream an array of timestamps and values to the channel.

Inputs

channel required

Object Reference (Channel.lvclass)

Timestamps required

1D Array (Timestamp)

Timestamps to stream, must match the size of values.

Values required

1D Array (DBL)

Values to stream. Must match the size of timestamps.

Outputs

error out

Error cluster

Stream Points to Channel#

Nominal_Stream_Points_to_Channel · Calls stream points to channel.vi

Streams an array of time/value points.

Inputs

channel required

Object Reference (Channel.lvclass)

Points required

1D Array (Container)

  • Time Stamp Timestamp

  • Value DBL

Timestamp/value pairs to stream.

Outputs

error out

Error cluster

Stream Waveform to Channel#

Nominal_Stream_Waveform_to_Channel · Calls stream waveform to channel.vi

Streams a full waveform to the channel. Converts t0+dt to individual timestamps before sending.

Inputs

channel required

Object Reference (Channel.lvclass)

Waveform required

LabVIEWAnalogWaveform

The waveform to stream.

Outputs

error out

Error cluster

Point buffer#

Create Point Buffer#

Nominal_Create_Point_Buffer · Calls create point buffer.vi

A buffer allowing TestStand to collect individual points and stream them all at once, for efficiency. Intended to represent data for a single channel. Use the batch buffer for many channels.

Outputs

point buffer

Number (U32) (Refnum)

error out

Error cluster

Add to Point Buffer#

Nominal_Add_to_Point_Buffer · Calls add to point buffer.vi

Add a single time/value point to the buffer.

Inputs

point buffer required

Number (U32) (Refnum)

time required

Timestamp

value required

Number (DBL)

Outputs

error out

Error cluster

Read from Point Buffer#

Nominal_Read_from_Point_Buffer · Calls pull data from point buffer.vi

Reads the entire set of samples from a buffer.

Inputs

point buffer required

Number (U32) (Refnum)

Outputs

data value

1D Array (Container)

  • Time Stamp Timestamp

  • Value DBL

error out

Error cluster

Flush Point Buffer to Channel#

Nominal_Flush_Point_Buffer_to_Channel · Calls flush point buffer to channel.vi

Streams the content of the point buffer to the specified channel.
Does not free data if an error occurs.

Inputs

channel required

Object Reference (Channel.lvclass)

point buffer required

Number (U32) (Refnum)

Outputs

error out

Error cluster

Destroy Point Buffer#

Nominal_Destroy_Point_Buffer · Calls destroy point buffer.vi

Immediately destroy the point buffer. Does not flush.

Inputs

point buffer required

Number (U32) (Refnum)

Outputs

error out

Error cluster

Batch buffer#

Create Batch Buffer#

Nominal_Create_Batch_Buffer · Calls new batch buffer.vi

A buffer allowing TestStand to collect individual points for several channels and stream them all at once, for efficiency. For a simple single-channel buffer, use the point buffer.

Outputs

buffer

Number (U32) (Refnum)

Add Point to Batch Buffer#

Nominal_Add_Point_to_Batch_Buffer · Calls add point to batch buffer.vi

In the provided buffer session, add data for a channel. Channels are uniquely identified by the combination of a name and optional tags.

Examples:
Call with “name”, <no tags>; Call with “name”, <no tags> => one channel
Call with “name”, <no tags>; Call with “name”, tags: [sn: 123] => two channels
Call with “name”, tags: [sn: 123]; Call with “name”, tags: [sn: 321] => two channels

Inputs

batch buffer required

Number (U32) (Refnum)

channel required

ASCII String

Time Stamp required

Timestamp

Value required

Number (DBL)

channel tags

1D Array (Container)

  • key String

  • value String

Tags used to filter data on a channel.

Outputs

error out

Error cluster

Get Channel Buffer from Batch#

Nominal_Get_Channel_Buffer_from_Batch · Calls get channel buffer from batch buffer.vi

In the batch buffer, register a channel by name and tag and get a direct reference to the underlying buffer, or look up an existing buffer.

Tags are part of the unique identification of a channel, but are not required.

Examples:
Call with “name”, <no tags>; Call with “name”, <no tags> => one channel
Call with “name”, <no tags>; Call with “name”, tags: [sn: 123] => two channels
Call with “name”, tags: [sn: 123]; Call with “name”, tags: [sn: 321] => two channels

Inputs

batch buffer required

Number (U32) (Refnum)

channel required

ASCII String

channel tags

1D Array (Container)

  • key String

  • value String

Tags used to filter data on a channel.

Outputs

channel point buffer

Number (U32) (Refnum)

error out

Error cluster

Flush Batch Buffer to Nominal#

Nominal_Flush_Batch_Buffer · Calls flush batch buffer.vi

Flushes all stored data to a stream.

Inputs

stream session required

Number (U32) (Refnum)

batch buffer required

Number (U32) (Refnum)

Outputs

error out

Error cluster

Destroy Batch Buffer#

Nominal_Destroy_Batch_Buffer · Calls destroy batch buffer.vi

Immediately destroy the buffer. Does not flush.

Inputs

batch buffer required

Number (U32) (Refnum)

Outputs

error out

Error cluster

Runs#

Create Run#

Nominal_Create_Run · Calls create run.vi

Creates a run without an associated asset. Runs have a start and end time, with start time required.

Inputs

connection required

Object Reference (Nominal Client.lvclass)

Title required

ASCII String

Name of the run.

Start Time (now)

Timestamp

Start time of the run, defaulting to now().

Outputs

Run

Object Reference (Run.lvclass)

error out

Error cluster

Create Run on Asset#

Nominal_Create_Run_on_Asset · Calls create run for specific asset.vi

Creates a run associated with a specific asset. Runs represent a time range and are required to have a start time.

Inputs

asset required

Object Reference (asset.lvclass)

Title required

ASCII String

Name of the run.

Start Time (now)

Timestamp

Start time of the run, defaulting to now().

Outputs

Run

Object Reference (Run.lvclass)

error out

Error cluster

Update Run Metadata#

Nominal_Update_Run_Metadata · Calls update run metadata.vi

Updates the properties of a run, returning an updated run object. Only fields that are populated are used.

Inputs

run required

Object Reference (Run.lvclass)

Title

ASCII String

If populated, update the run name to this.

Description

ASCII String

If populated, update the run description to this.

Labels

1D Array (ASCII String)

If populated, update the run labels to this.

links

1D Array (Container)

  • title String

  • url String

If populated, update the run links to this.

property key-value pairs

1D Array (Container)

  • key String

  • value String

If populated, update the run properties to this.

Outputs

updated run

Object Reference (Run.lvclass)

error out

Error cluster

Update Run Start Time#

Nominal_Update_Run_Start · Calls update run start time.vi

Change the start time of a run.

Inputs

run required

Object Reference (Run.lvclass)

Start Time

Timestamp

The new start time to use.

set to now

Boolean · default FALSE

If set to true, ignore the start time field and use now().

Outputs

updated run

Object Reference (Run.lvclass)

error out

Error cluster

Update Run Stop Time#

Nominal_Update_Run_Stop · Calls update run end time.vi

Change the end time of a run.

Inputs

run required

Object Reference (Run.lvclass)

End Time

Timestamp

The new end time to use.

set to now

Boolean · default FALSE

If set to true, ignore the end time field and use now().

Outputs

updated run

Object Reference (Run.lvclass)

error out

Error cluster

Events#

Create Event on Run#

Nominal_Create_Event_on_Run · Calls create event from run.vi

Creates an event which flags a time range in Nominal.

Inputs

run required

Object Reference (Run.lvclass)

Name required

ASCII String

Name of the event to be created.

Type required

Enumeration (U16)

One of INFO, FLAG, ERROR, SUCCESS.

Type of the event to be created. This is used by Nominal to present different severity levels to the user when viewed through the web interface.

Time Stamp (now)

Timestamp

Start time for the event. Set the duration once created.

Outputs

event

Object Reference (event.lvclass)

error out

Error cluster

Create Event on Asset#

Nominal_Create_Event_on_Asset · Calls create event from asset.vi

Creates a named event associated with a specific asset.

Inputs

asset required

Object Reference (asset.lvclass)

Name required

ASCII String

Name of the event to be created.

Type required

Enumeration (U16)

One of INFO, FLAG, ERROR, SUCCESS.

Type of the event to be created. This is used by Nominal to present different severity levels to the user when viewed through the web interface.

Time Stamp (now)

Timestamp

Start time for the event. Set the duration once created.

Outputs

event

Object Reference (event.lvclass)

error out

Error cluster

Update Event Metadata#

Nominal_Update_Event_Metadata · Calls update event metadata.vi

Updates an event with additional metadata. Only populated labels and properties are used, and type update and update duration must be set to command this function to update those fields.

Inputs

event required

Object Reference (event.lvclass)

Name

ASCII String

New name to apply. Ignored if empty.

Description

ASCII String

New description to apply, ignored if empty.

Labels

1D Array (ASCII String)

New labels to apply, ignored if empty.

Type

Enumeration (U16) · default ERROR

One of ERROR, FLAG, INFO, SUCCESS.

Type to change the event to if type update is true.

Duration (s)

Number (DBL) · default 0

Duration to set the event to if update duration is true.

type update

Boolean · default FALSE

Commands this function to update the type of the event.

update duration

Boolean · default FALSE

Commands this function to use the duration field to update the event duration.

Outputs

updated event

Object Reference (event.lvclass)

error out

Error cluster

Update Event Timing#

Nominal_Update_Event_Timing · Calls update event timing.vi

Change the start time and duration of the event. Use flags to indicate which actions to take.

Inputs

event required

Object Reference (event.lvclass)

update start

Boolean · default FALSE

Commands this function to update the start time. Not required for set start to now.

set start to now

Boolean · default FALSE

Overrides the start time parameter, setting the start time to now(). Setting update start to true is not needed if this is set to true.

Start Time

Timestamp

Start time to update the event to if update start is true.

Duration (s)

Number (DBL) · default 0

Duration to use if update duration is true.

update duration

Boolean · default FALSE

Commands this function to update the event duration.

Outputs

updated event

Object Reference (event.lvclass)

error out

Error cluster