Overview

The NI DAQmx AI Temperature Thermocouple plugin acquires data from one or more thermocouple channels spanning one or more devices with options to display, log, and publish data. All of the core data acquisition features are exposed including channel definition, sampling, buffer control, triggering, logging, and more. Data can be published with an averaging or last value strategy, and several key points of sampling information are provided as variables to build up the desired publish data object. Publishing can of course be disabled if, for example, logging the data to disk (ex. TDMS) is all that is required. See the configuration documentation below and/or the example editor for further details.

User Interface

The NI DAQmx AI Temperature Thermocouple interface is simple by design with a single graph showing current data according the configured acquisition. Parameters for the x-axis and y-axis are configurable and axes can be modified in real-time as well.


Configuration Example

Plugin Defaults
0
0
0

Configuration Details

Filter:Search in:
ROOT object
This top level object holds all configuration information for this plugin.
Required: true
Default: (not specified; see any element defaults within)
options object
Configuration options specific to this plugin.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition object
An object definiting the acquisition.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.task object
The acquisition task properties.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.task.name string
The name of the task.
Required: true
Default: "Thermocouples"
options.acquisition.channels array
An array of virtual channel definitions where each virtual channel can encapsulate multiple physical channels.
Required: true
Default:
[
    {
        "name": "Thermocouple Channels",
        "physicalChannels": "Dev1/ai0:2",
        "type": "K",
        "units": "Celcius",
        "minimum": 0,
        "maximum": 100,
        "cjc": {
            "source": "Internal"
        }
    }
]
options.acquisition.channels[n] object
An object defining a channel.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.channels[n].name string
The name of the channel.
Required: true
Default: "Thermocouple Channels"
options.acquisition.channels[n].physicalChannels string
The physical channels to use on the device (more than one can be specified. For example: Dev1/ai0:2 would specify three channels (channels 0 through 2) and Dev1/ai0,Dev1/ai2 would specify two channels (channels 0 and 2).
Required: true
Default: "Dev1/ai0"
options.acquisition.channels[n].type enum (string)
The type of thermocouple used with this channel.
Required: true
Default: "K"
Enum Items: "J" | "K" | "N" | "R" | "S" | "T" | "B" | "E"
options.acquisition.channels[n].units enum (string)
The unit of temperature to use for displaying and recording data.
Required: true
Default: "Celcius"
Enum Items: "Celcius" | "Fahrenheit" | "Kelvin" | "Rankine" | "From Custom Scale"
options.acquisition.channels[n].minimum number
The minimum value expected among the physical channels.
Required: false
Default: 0
options.acquisition.channels[n].maximum number
The maximum value expected among the physical channels.
Required: false
Default: 100
options.acquisition.channels[n].cjc object
An object defining the cold junction compensation (cjc) for this channel.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.channels[n].cjc::{CJC Source: Internal} object
An object defining the cold junction compensation (cjc) for this channel.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.channels[n].cjc::{CJC Source: Internal}.source enum (string)
The source of the cold junction compensation for this channel.
Required: true
Default: "Internal"
Enum Items: "Internal"
options.acquisition.channels[n].cjc::{CJC Source: Channel} object
An object defining the cold junction compensation (cjc) for this channel.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.channels[n].cjc::{CJC Source: Channel}.source enum (string)
The source of the cold junction compensation for this channel.
Required: true
Default: "Channel"
Enum Items: "Channel"
options.acquisition.channels[n].cjc::{CJC Source: Channel}.channel string
If you set the cjc 'source' to 'Channel', this specifies the channel that acquires the temperature of the thermocouple cold-junction.
Required: true
Default: ""
options.acquisition.channels[n].cjc::{CJC Source: Constant} object
An object defining the cold junction compensation (cjc) for this channel.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.channels[n].cjc::{CJC Source: Constant}.source enum (string)
The source of the cold junction compensation for this channel.
Required: true
Default: "Constant"
Enum Items: "Constant"
options.acquisition.channels[n].cjc::{CJC Source: Constant}.value number
If you set the cjc 'source' to 'Constant', this specifies the temperature of the cold junction in the units specified by 'unit'.
Required: true
Default: 0
options.acquisition.sampling object
The acquisition task sampling properties.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.sampling.mode enum (string)
The sampling mode which determines how samples are gathered by the device.
Required: true
Default: "Continuous Samples"
Enum Items: "Finite Samples" | "Continuous Samples" | "Hardware Timed Single Point"
options.acquisition.sampling.rate number
The sampling rate to use.
Required: true
Default: 10
options.acquisition.sampling.samplesPerChannel integer
The number of samples to grab. For finite acquisitions this should be the total number of samples desired. For continuous acquisitions, this should be the number of samples to grab on each underlying loop iteration (and this value also informs the buffer size unless explicitly specified otherwise). For single point acquisitions, this should be set to 1.
Required: true
Default: 5
options.acquisition.sampling.source string
The source of the sample clock. You may specify an externally available source pin (ex. /Dev1/ai/StartTrigger or Dev1/PFI0), or simply use the value OnboardClock (no spaces) to use the onboard clock.
Required: true
Default: "OnboardClock"
options.acquisition.sampling.activeEdge enum (string)
Determines which edge of the clock signal is used to acquire samples.
Required: true
Default: "Rising"
Enum Items: "Rising" | "Falling"
options.acquisition.sampling.timeout number
How long to wait in seconds before generating a timeout error. Make sure this number is greater than your sampling rate * number of samples per channel being read.
Required: true
Default: 5
options.acquisition.buffer object
The acquisition task buffer properties.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.buffer.force boolean
Whether to force the specified buffer size here. If false, the 'samplesPerChannel' setting in the 'sampling' section implicitly determines the buffer size. While generally not a concern, if necessary see NI documentation for further details as the precise nature of this detail may change over time.
Required: true
Default: false
options.acquisition.buffer.size integer
If 'force' is true, this specifies the size of the buffer to use. Most application simply allow DAQmx to choose an appropriate buffer size based on the specified 'samplesPerChannel' setting in the 'sampling' section.
Required: true
Default: 1000
options.acquisition.triggering object
The acquisition task triggering properties. Note that there are two classes of triggering: Start and Reference. The primary difference between these two modes of triggering is Reference triggers will keep a specified number of pretrigger points. All of the trigger `types` apply to both classes with one exception: the `Time` type only applies to the Start trigger class.
Required: true
Default:
{
    "enable": false,
    "class": "Start",
    "type": "Digital Edge",
    "parameters": {
        "source": "/Dev1/PFI0",
        "edge": "Rising"
    }
}
options.acquisition.triggering::{Start, Digital Edge} object
An object definiting a Digital Edge start trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Digital Edge}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Start, Digital Edge}.class enum (string)
The class of triggering to use.
Required: true
Default: "Start"
Enum Items: "Start"
options.acquisition.triggering::{Start, Digital Edge}.type enum (string)
The type of triggering to use.
Required: true
Default: "Digital Edge"
Enum Items: "Digital Edge"
options.acquisition.triggering::{Start, Digital Edge}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Digital Edge}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Start, Digital Edge}.parameters.edge enum (string)
The digital edge on which to trigger the acquisition.
Required: true
Default: "Rising"
Enum Items: "Rising" | "Falling"
options.acquisition.triggering::{Start, Digital Pattern} object
An object definiting a Digital Pattern start trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Digital Pattern}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Start, Digital Pattern}.class enum (string)
The class of triggering to use.
Required: true
Default: "Start"
Enum Items: "Start"
options.acquisition.triggering::{Start, Digital Pattern}.type enum (string)
The type of triggering to use.
Required: true
Default: "Digital Pattern"
Enum Items: "Digital Pattern"
options.acquisition.triggering::{Start, Digital Pattern}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Digital Pattern}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Start, Digital Pattern}.parameters.triggerWhen enum (string)
Determines whether a match vs a non-match to the specified pattern will trigger the acquisition.
Required: true
Default: "Pattern Matches"
Enum Items: "Pattern Matches" | "Pattern Does Not Match"
options.acquisition.triggering::{Start, Digital Pattern}.parameters.pattern string
The pattern on which to trigger the signal, to be used in combination with the triggerWhen option. For digital pattern triggering, you configure the device to detect a specific digital pattern on specific physical channels. After detecting this condition, the device performs the action associated with the trigger, such as starting the task or marking which sample was acquired when the trigger occurred. The digital pattern is specified using the following characters: X: ignore the physical channel. 0: Match on a logic low level on the physical channel. 1: Match on a logic high level on the physical channel. R: Match on rising edge on the physical channel. E: Match on either rising or falling edge on the physical channel. F: Match on falling edge on the physical channel. For instance, if you specify a pattern of 'X11100' and a source of 'dev1/line0:4,dev1/line6' the pattern match occurs when physical channels 'dev1/line1' 'dev1/line2' and 'dev1/line3' are logic high and when physical channels 'dev1/line4' and 'dev1/line6' are logic low. 'dev1/line0' is ignored. As another example (source specified as a port) if you specify a pattern of '11000000' and a source of 'dev1/port0' the pattern match occurs when physical channels 'dev1/line0' and 'dev1/line1' are logic high and the other six lines are logic low.
Required: true
Default: ""
options.acquisition.triggering::{Start, Analog Edge} object
An object definiting a Analog Edge start trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Analog Edge}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Start, Analog Edge}.class enum (string)
The class of triggering to use.
Required: true
Default: "Start"
Enum Items: "Start"
options.acquisition.triggering::{Start, Analog Edge}.type enum (string)
The type of triggering to use.
Required: true
Default: "Analog Edge"
Enum Items: "Analog Edge"
options.acquisition.triggering::{Start, Analog Edge}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Analog Edge}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Start, Analog Edge}.parameters.slope enum (string)
The analog edge on which to trigger the acquisition.
Required: true
Default: "Rising"
Enum Items: "Rising" | "Falling"
options.acquisition.triggering::{Start, Analog Edge}.parameters.level number
The level or threshold at which to trigger the acquisition.
Required: true
Default: 0
options.acquisition.triggering::{Start, Analog Multi Edge} object
Configures the task to start acquiring or generating samples when any of the configured analog signals cross the respective levels you specified. Multi-edge triggering treats the configured triggers as if a logical OR is applied.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Analog Multi Edge}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Start, Analog Multi Edge}.class enum (string)
The class of triggering to use.
Required: true
Default: "Start"
Enum Items: "Start"
options.acquisition.triggering::{Start, Analog Multi Edge}.type enum (string)
The type of triggering to use.
Required: true
Default: "Analog Multi Edge"
Enum Items: "Analog Multi Edge"
options.acquisition.triggering::{Start, Analog Multi Edge}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Analog Multi Edge}.parameters.edges array
An array of analog edge trigger definitions, any of which will cause the acquisition to begin.
Required: true
Default:
[]
options.acquisition.triggering::{Start, Analog Multi Edge}.parameters.edges[n] object
Configures the task to start acquiring or generating samples when any of the configured analog signals cross the respective levels you specified. Multi-edge triggering treats the configured triggers as if a logical OR is applied.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Analog Multi Edge}.parameters.edges[n].source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Start, Analog Multi Edge}.parameters.edges[n].slope enum (string)
The analog edge on which to trigger the acquisition.
Required: true
Default: "Rising"
Enum Items: "Rising" | "Falling"
options.acquisition.triggering::{Start, Analog Multi Edge}.parameters.edges[n].level number
The level or threshold at which to trigger the acquisition when the signal is trending according to the specified slope. Specify this level in the units of the measurement.
Required: true
Default: 0
options.acquisition.triggering::{Start, Analog Window} object
An object definiting a Analog Window start trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Analog Window}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Start, Analog Window}.class enum (string)
The class of triggering to use.
Required: true
Default: "Start"
Enum Items: "Start"
options.acquisition.triggering::{Start, Analog Window}.type enum (string)
The type of triggering to use.
Required: true
Default: "Analog Window"
Enum Items: "Analog Window"
options.acquisition.triggering::{Start, Analog Window}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Analog Window}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Start, Analog Window}.parameters.windowTop number
The top level or threshold of the trigger window.
Required: true
Default: 5
options.acquisition.triggering::{Start, Analog Window}.parameters.windowBottom number
The bottom level or threshold of the trigger window.
Required: true
Default: 0
options.acquisition.triggering::{Start, Analog Window}.parameters.triggerWhen enum (string)
Determines whether the trigger occurs when entering the window or when leaving the window.
Required: true
Default: "Entering Window"
Enum Items: "Entering Window" | "Leaving Window"
options.acquisition.triggering::{Start, Time} object
An object definiting a Time start trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Time}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Start, Time}.class enum (string)
The class of triggering to use.
Required: true
Default: "Start"
Enum Items: "Start"
options.acquisition.triggering::{Start, Time}.type enum (string)
The type of triggering to use.
Required: true
Default: "Time"
Enum Items: "Time"
options.acquisition.triggering::{Start, Time}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Start, Time}.parameters.delay number
This is only valid with the Start trigger class. The duration of time in seconds to wait before triggering the acquisition.
Required: true
Default: "5"
options.acquisition.triggering::{Reference, Digital Edge} object
An object definiting a Digital Edge reference trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Digital Edge}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Reference, Digital Edge}.class enum (string)
The class of triggering to use.
Required: true
Default: "Reference"
Enum Items: "Reference"
options.acquisition.triggering::{Reference, Digital Edge}.type enum (string)
The type of triggering to use.
Required: true
Default: "Digital Edge"
Enum Items: "Digital Edge"
options.acquisition.triggering::{Reference, Digital Edge}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Digital Edge}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Reference, Digital Edge}.parameters.edge enum (string)
The digital edge on which to trigger the acquisition.
Required: true
Default: "Rising"
Enum Items: "Rising" | "Falling"
options.acquisition.triggering::{Reference, Digital Edge}.parameters.pretriggerPoints integer
This only applies to Reference trigger types which will acquire data even before triggering in order to keep and return the specified number of pretrigger points.
Required: true
Default: 0
options.acquisition.triggering::{Reference, Digital Pattern} object
An object definiting a Digital Pattern reference trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Digital Pattern}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Reference, Digital Pattern}.class enum (string)
The class of triggering to use.
Required: true
Default: "Reference"
Enum Items: "Reference"
options.acquisition.triggering::{Reference, Digital Pattern}.type enum (string)
The type of triggering to use.
Required: true
Default: "Digital Pattern"
Enum Items: "Digital Pattern"
options.acquisition.triggering::{Reference, Digital Pattern}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Digital Pattern}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Reference, Digital Pattern}.parameters.triggerWhen enum (string)
Determines whether a match vs a non-match to the specified pattern will trigger the acquisition.
Required: true
Default: "Pattern Matches"
Enum Items: "Pattern Matches" | "Pattern Does Not Match"
options.acquisition.triggering::{Reference, Digital Pattern}.parameters.pattern string
The pattern on which to trigger the signal, to be used in combination with the triggerWhen option. For digital pattern triggering, you configure the device to detect a specific digital pattern on specific physical channels. After detecting this condition, the device performs the action associated with the trigger, such as starting the task or marking which sample was acquired when the trigger occurred. The digital pattern is specified using the following characters: X: ignore the physical channel. 0: Match on a logic low level on the physical channel. 1: Match on a logic high level on the physical channel. R: Match on rising edge on the physical channel. E: Match on either rising or falling edge on the physical channel. F: Match on falling edge on the physical channel. For instance, if you specify a pattern of 'X11100' and a source of 'dev1/line0:4,dev1/line6' the pattern match occurs when physical channels 'dev1/line1' 'dev1/line2' and 'dev1/line3' are logic high and when physical channels 'dev1/line4' and 'dev1/line6' are logic low. 'dev1/line0' is ignored. As another example (source specified as a port) if you specify a pattern of '11000000' and a source of 'dev1/port0' the pattern match occurs when physical channels 'dev1/line0' and 'dev1/line1' are logic high and the other six lines are logic low.
Required: true
Default: ""
options.acquisition.triggering::{Reference, Digital Pattern}.parameters.pretriggerPoints integer
This only applies to Reference trigger types which will acquire data even before triggering in order to keep and return the specified number of pretrigger points.
Required: true
Default: 0
options.acquisition.triggering::{Reference, Analog Edge} object
An object definiting a Analog Edge reference trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Analog Edge}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Reference, Analog Edge}.class enum (string)
The class of triggering to use.
Required: true
Default: "Reference"
Enum Items: "Reference"
options.acquisition.triggering::{Reference, Analog Edge}.type enum (string)
The type of triggering to use.
Required: true
Default: "Analog Edge"
Enum Items: "Analog Edge"
options.acquisition.triggering::{Reference, Analog Edge}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Analog Edge}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Reference, Analog Edge}.parameters.slope enum (string)
The analog edge on which to trigger the acquisition.
Required: true
Default: "Rising"
Enum Items: "Rising" | "Falling"
options.acquisition.triggering::{Reference, Analog Edge}.parameters.level number
The level or threshold at which to trigger the acquisition.
Required: true
Default: 0
options.acquisition.triggering::{Reference, Analog Edge}.parameters.pretriggerPoints integer
This only applies to Reference trigger types which will acquire data even before triggering in order to keep and return the specified number of pretrigger points.
Required: true
Default: 0
options.acquisition.triggering::{Reference, Analog Multi Edge} object
An object definiting a Analog Multi Edge reference trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Analog Multi Edge}.enable boolean
Whether to enable triggering.
Required: true
Default: false
options.acquisition.triggering::{Reference, Analog Multi Edge}.class enum (string)
The class of triggering to use.
Required: true
Default: "Reference"
Enum Items: "Reference"
options.acquisition.triggering::{Reference, Analog Multi Edge}.type enum (string)
The type of triggering to use.
Required: true
Default: "Analog Multi Edge"
Enum Items: "Analog Multi Edge"
options.acquisition.triggering::{Reference, Analog Multi Edge}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Analog Multi Edge}.parameters.edges array
An array of analog edge trigger definitions, any of which will cause the acquisition to begin.
Required: false
Default:
[]
options.acquisition.triggering::{Reference, Analog Multi Edge}.parameters.edges[n] object
Configures the task to start acquiring or generating samples when any of the configured analog signals cross the respective levels you specified. Multi-edge triggering treats the configured triggers as if a logical OR is applied.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Analog Multi Edge}.parameters.edges[n].source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Reference, Analog Multi Edge}.parameters.edges[n].slope enum (string)
The analog edge on which to trigger the acquisition.
Required: true
Default: "Rising"
Enum Items: "Rising" | "Falling"
options.acquisition.triggering::{Reference, Analog Multi Edge}.parameters.edges[n].level number
The level or threshold at which to trigger the acquisition when the signal is trending according to the specified slope. Specify this level in the units of the measurement.
Required: true
Default: 0
options.acquisition.triggering::{Reference, Analog Multi Edge}.parameters.pretriggerPoints integer
This only applies to Reference trigger types which will acquire data even before triggering in order to keep and return the specified number of pretrigger points.
Required: true
Default: 0
options.acquisition.triggering::{Reference, Analog Window} object
An object definiting a Analog Window reference trigger.
Required: false
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Analog Window}.enable boolean
undefined
Required: true
Default: false
options.acquisition.triggering::{Reference, Analog Window}.class enum (string)
The class of triggering to use.
Required: true
Default: "Reference"
Enum Items: "Reference"
options.acquisition.triggering::{Reference, Analog Window}.type enum (string)
The type of triggering to use.
Required: true
Default: "Analog Window"
Enum Items: "Analog Window"
options.acquisition.triggering::{Reference, Analog Window}.parameters object
An object containing configuration parameters for triggering.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.triggering::{Reference, Analog Window}.parameters.source string
The input / pin to which the trigger signal is connected.
Required: true
Default: "/Dev1/PFI0"
options.acquisition.triggering::{Reference, Analog Window}.parameters.windowTop number
The top level or threshold of the trigger window.
Required: true
Default: 5
options.acquisition.triggering::{Reference, Analog Window}.parameters.windowBottom number
The bottom level or threshold of the trigger window.
Required: true
Default: 0
options.acquisition.triggering::{Reference, Analog Window}.parameters.triggerWhen enum (string)
Determines whether the trigger occurs when entering the window or when leaving the window.
Required: true
Default: "Entering Window"
Enum Items: "Entering Window" | "Leaving Window"
options.acquisition.triggering::{Reference, Analog Window}.parameters.pretriggerPoints integer
This only applies to Reference trigger types which will acquire data even before triggering in order to keep and return the specified number of pretrigger points.
Required: true
Default: 0
options.acquisition.logging object
The acquisition task logging properties.
Required: true
Default: (not specified; see any element defaults within)
options.acquisition.logging.fileOperation enum (string)
The open/create/replace operation to perform on files generated.
Required: true
Default: "Create or Replace"
Enum Items: "Open" | "Open or Create" | "Create or Replace" | "Create"
options.acquisition.logging.filePath string
The folder path in which to generate data files. Symbolic paths are allowed here (see framework documentation for details).
Required: true
Default: "C:\\JADE_TDMS_Data\\TemperatureData.tdms"
options.acquisition.logging.mode enum (string)
"Off" means do not log, "Log" means log to file only (no data will be displayed, and DMA transfers will performantly transfer data to disk without bringing data into application memory), and "Log and Read" means both log to file and read data into application memory for display.
Required: true
Default: "Log and Read"
Enum Items: "Off" | "Log" | "Log and Read"
options.acquisition.logging.enforceMaxSamplesPerFile boolean
Whether to generate new files after the specified maxSamplesPerFile, or to simply store all samples in the initial file.
Required: true
Default: false
options.acquisition.logging.maxSamplesPerFile integer
This only applies if enforceMaxSamplesPerFile is true. The maximum number of samples to store in a given file. New files will be generated if this threshold is reached. New files are created with the naming convention of _####.tdms, where #### starts at 0001 and increments automatically with each new file. For example, if the file specified is C:\MyData\data.tdms, the next file name used is C:\MyData\data_0001.tdms.
Required: true
Default: 1000000
options.display object
An object defining properties of the plugin display.
Required: true
Default: (not specified; see any element defaults within)
options.display.graph object
An object defining properties of the graph on the interface.
Required: true
Default: (not specified; see any element defaults within)
options.display.graph.label string
The label to put at the top of the graph.
Required: true
Default: "Data Graph"
options.display.graph.xAxis object
An object defining the graph's x-axis properties.
Required: true
Default: (not specified; see any element defaults within)
options.display.graph.xAxis.label string
The x-axis label to display.
Required: true
Default: "x-axis"
options.display.graph.xAxis.format string
A string defining the x-axis format.
Required: true
Default: "%d"
options.display.graph.xAxis.flipped boolean
Whether to flip the x-axis (ex. if true, instead of rendering 0 on the left and 10 on the right of the x-axis, it would render 0 on the right and 10 on the left.
Required: true
Default: false
options.display.graph.xAxis.min number
The x-axis min value. This will be overridden if autoscale is not off.
Required: true
Default: 0
options.display.graph.xAxis.max number
The x-axis max value. This will be overridden if autoscale is not off.
Required: true
Default: 10
options.display.graph.xAxis.increment number
The x-axis increment used to display x-axis tick marks.
Required: true
Default: 1
options.display.graph.xAxis.autoscale enum (string)
Whether to autoscale the x-axis. The value "on" autoscales on every update, "off" never autoscales, and "once" autoscales just once when data is first rendered.
Required: true
Default: "on"
Enum Items: "on" | "off" | "once"
options.display.graph.yAxis object
An object defining the graph's y-axis properties.
Required: true
Default: (not specified; see any element defaults within)
options.display.graph.yAxis.label string
The y-axis label to display.
Required: true
Default: "y-axis"
options.display.graph.yAxis.format string
A string defining the y-axis format.
Required: true
Default: "%d"
options.display.graph.yAxis.flipped boolean
Whether to flip the y-axis (ex. if true, instead of rendering 0 on the bottom and 10 on the top of the y-axis, it would render 0 on the top and 10 on the bottom.
Required: true
Default: false
options.display.graph.yAxis.min number
The y-axis min value. This will be overridden if autoscale is not off.
Required: true
Default: 0
options.display.graph.yAxis.max number
The y-axis max value. This will be overridden if autoscale is not off.
Required: true
Default: 10
options.display.graph.yAxis.increment number
The y-axis increment used to display y-axis tick marks.
Required: true
Default: 1
options.display.graph.yAxis.autoscale enum (string)
Whether to autoscale the y-axis. The value "on" autoscales on every update, "off" never autoscales, and "once" autoscales just once when data is first rendered.
Required: true
Default: "on"
Enum Items: "on" | "off" | "once"
options.publishing object
An object defining if and how the plugin publishes data.
Required: true
Default: (not specified; see any element defaults within)
options.publishing.enable boolean
Whether to enable publishing.
Required: true
Default: false
options.publishing.strategy enum (string)
Whether published data should be the Average or simply the Last Value (for each channel specified, of course, and applies to the number of samples read per loop iteration).
Required: true
Default: "Last Value"
Enum Items: "Average" | "Last Value"
options.publishing.messageFormat object
An object defining the published message format, if publishing is enabled. Several variables are available for use in constructing the published message in a VAR variable container: instanceName (the name of the plugin instance), readSamplesPerChannel (the number of samples read each loop iteration), specifiedSamplingRate (the specified sampling rate), actualSamplingRate (the actual achieved sampling rate in hardware), actualSamplingPeriod (the actual achieved sample period), publishTime (the timestamp that the current message was published), thisFirstSampleTime (the timestamp of the first sample in 'data'), data (the data for each channel - either the average of the number of samples or the last value depending on 'strategy'), totalSamplesSoFar (the total samples acquired thus far for the current acquisition), and acquisitionFirstSampleTime (the timestamp of the very first sample of the acquisition). Note that timestamps are the number of seconds elapsed since 12:00 a.m., Friday, January 1, 1904, Universal Time [01-01-1904 00:00:00]
Required: true
Default: (not specified; see any element defaults within)
options.publishing.messageFormat.instanceName string
The plugin instance's name.
Required: false
Default: "@VAR{instanceName}"
options.publishing.messageFormat.readSamplesPerChannel string
The number of samples read each loop iteration.
Required: false
Default: "Float:(@VAR{readSamplesPerChannel})"
options.publishing.messageFormat.specifiedSamplingRate string
The specified sampling rate.
Required: false
Default: "Float:(@VAR{specifiedSamplingRate})"
options.publishing.messageFormat.actualSamplingRate string
The actual achieved sampling rate in hardware.
Required: false
Default: "Float:(@VAR{actualSamplingRate})"
options.publishing.messageFormat.actualSamplingPeriod string
The actual achieved sample period.
Required: false
Default: "Float:(@VAR{actualSamplingPeriod})"
options.publishing.messageFormat.publishTime string
The timestamp that the current message was published.
Required: false
Default: "Float:(@VAR{publishTime})"
options.publishing.messageFormat.thisFirstSampleTime string
The timestamp of the first sample in 'data'.
Required: false
Default: "Float:(@VAR{thisFirstSampleTime})"
options.publishing.messageFormat.totalSamplesSoFar string
The total samples acquired thus far for the current acquisition.
Required: false
Default: "Integer:(@VAR{totalSamplesSoFar})"
options.publishing.messageFormat.acquisitionFirstSampleTime string
timestamp of the very first sample of the acquisition.
Required: false
Default: "Float:(@VAR{acquisitionFirstSampleTime})"
options.publishing.messageFormat.data string
The array of sample data for each channel (either average or last values from the last acquisition read).
Required: false
Default: "Array:(@VAR{data})"
options.logger object
Defines the logging (data and errors) for this plugin. Note that a LOG variable space is provided here, as well as the VAR variable space. Available variables are: @LOG{LOGGERNAME}, @LOG{TIMESTAMP}, @LOG{LOGMESSAGE}, @LOG{ERRORMESSAGE}, and @VAR{instanceName} are available variables. note: @LOG{LOGGERNAME} is equal to the @VAR{instanceName} here.
Required: true
Default: (not specified; see any element defaults within)
options.logger.Enable boolean
Whether to enable the logger.
Required: true
Default: true
options.logger.LogFolder string
The folder in which to write log files.
Required: true
Default: "\\JADE_LOGS\\@VAR{instanceName}"
options.logger.FileNameFormat string
The filename to use when creating log files. Note: if the filesize limit is reached new files will be created with enumerated suffixes such as: MyLogFile-1.txt, MyLogFile-2.txt, etc.
Required: true
Default: "@VAR{instanceName}-@LOG{TIMESTAMP}.csv"
options.logger.ErrorsOnly boolean
Whether to log only errors.
Required: true
Default: true
options.logger.DiskThrashPeriod integer
The period in milliseconds with which to flush the file buffer to ensure it's committed to the hard drive. Note: This is a performance consideration to prevent writing to disk too frequently.
Required: true
Default: 1000
options.logger.FileSizeLimit integer
The file size at which to create new files.
Required: true
Default: 1000000
options.logger.StartLogFormat string
The initial string to put into the log file when opened for the first time.
Required: true
Default: "Timestamp,Value"
options.logger.EndLogFormat string
The final string to put in the log file when closed.
Required: true
Default: ""
options.logger.LogEntryFormat string
The format to use when writing log entries when errors are not present.
Required: true
Default: "@LOG{LOGMESSAGE}"
options.logger.LogMessageFormat string
The message format used to construct non-error log entries.
Required: true
Default: "\n@VAR{timestamp},@VAR{submatch[0]}"
options.logger.ErrorLogEntryFormat string
The message format used to construct error log entries.
Required: true
Default: "@LOG{ERRORMESSAGE}"
options.logger.TimestampFormat string
The format used by the @LOG{TIMESTAMP} variable.
Required: true
Default: "%Y-%m-%d %H-%M-%S%3u"
panel object
Required: true
Default: (not specified; see any element defaults within)
panel.open boolean
Whether to open the front panel immediately when run.
Required: true
Default: true
panel.state enum (string)
The state in which the window will open.
Required: true
Default: "Standard"
Enum Items: "Standard" | "Hidden" | "Closed" | "Minimized" | "Maximized"
panel.transparency integer
The transparency of the window. 0 = opaque, 100 = invisible.
Required: true
Default: 0
panel.title string
The title of the plugin window when it runs. Note that the variable 'instanceName' is provided here in a VAR variable container.
Required: true
Default: "@VAR{instanceName}"
panel.titleBarVisible boolean
Whether the window title bar is visible.
Required: true
Default: true
panel.showMenuBar boolean
Whether the menu bar is visible.
Required: true
Default: false
panel.showToolBar boolean
Whether the toolbar is visible.
Required: true
Default: false
panel.makeActive boolean
Whether the window becomes active when opened.
Required: true
Default: false
panel.bringToFront boolean
Whether the window is brought to the front / top of other windows when opened.
Required: true
Default: false
panel.minimizable boolean
Whether the window is minimizable.
Required: true
Default: true
panel.resizable boolean
Whether the window is resizable.
Required: true
Default: true
panel.closeable boolean
Whether the window is closeable.
Required: true
Default: true
panel.closeWhenDone boolean
Whether to close the window when complete.
Required: true
Default: true
panel.center boolean
Whether to center the window when opened. Note: this property overrides the 'position' property.
Required: true
Default: false
panel.position object
The position of the window when opened the first time.
Required: true
Default: (not specified; see any element defaults within)
panel.position.top integer
The vertical position of the window in pixels from the top edge of the viewport. Note: this property is overriden by the 'center' property.
Required: true
Default: 100
panel.position.left integer
The horizontal position of the window in pixels from the left edge of the viewport. Note: this property is overriden by the 'center' property.
Required: true
Default: 100
panel.size object
The size of the window when opened the first time.
Required: false
Default: (not specified; see any element defaults within)
panel.size.width integer
The width of the window in pixels. -1 means use the default width for the panel. Note that depending on panel features exposed, there may be a limit to how small a panel can become.
Required: true
Default: -1
panel.size.height integer
The height of the window in pixels. -1 means use the default height for the panel. Note that depending on panel features exposed, there may be a limit to how small a panel can become.
Required: true
Default: -1
channel object
The communication channel definition used by this plugin. Note: this section rarely needs modifications. In many cases, the underlying plugin implementation depends on at least some of these settings having the values below. Consult with a JADE expert before making changes to this section if you are unfamiliar with the implications of changes to this section.
Required: true
Default: (not specified; see any element defaults within)
channel.SendBreakTimeout integer
The timeout duration in milliseconds to wait for sending messages.
Required: true
Default: 1000
channel.WaitOnBreakTimeout integer
The timeout duration in milliseconds to wait for receiving messages. Note: -1 means wait indefinitely or until shutdown is signalled.
Required: true
Default: -1
channel.WaitOnShutdownTimeout integer
The timeout duration in milliseconds to wait for shutdown acknowledgment.
Required: true
Default: 2000
channel.ThrowTimeoutErrors boolean
Whether to throw timeout errors vs simply returning a boolean indicating whether a timeout occurred.
Required: true
Default: false
channel.ThrowShutdownUnacknowledgedErrors boolean
Whether to throw 'shutdown unacknowledged' errors.
Required: true
Default: true
channel.QueueSize integer
The size of the underlying communication queue in bytes. Note: -1 means unbounded (i.e. grow as needed with available memory).
Required: true
Default: -1
channel.SendBreakEnqueueType enum (string)
The enqueue strategy employed on the underlying queue for standard messages.
Required: true
Default: "Enqueue"
Enum Items: "Enqueue" | "EnqueueAtFront" | "LossyEnqueue" | "LossyEnqueueAtFront"
channel.SendErrorEnqueueType enum (string)
The enqueue strategy employed on the underlying queue for error messages.
Required: true
Default: "Enqueue"
Enum Items: "Enqueue" | "EnqueueAtFront" | "LossyEnqueue" | "LossyEnqueueAtFront"
channel.SendShutdownEnqueueType enum (string)
The enqueue strategy employed on the underlying queue for the shutdown message.
Required: true
Default: "LossyEnqueueAtFront"
Enum Items: "Enqueue" | "EnqueueAtFront" | "LossyEnqueue" | "LossyEnqueueAtFront"
channel.FlushQueueBeforeWaitingOnBreak boolean
Whether to flush the queue upon waiting for new messages (i.e. whether to clear the queue and wait for the next 'new' message; this has the effect of removing old messages and waiting for the next message.
Required: true
Default: false
channel.FlushQueueAfterBreaking boolean
Whether to flush the queue after receiving a new message (i.e. whether to handle the next message coming in the queue and then flush; this has the effect of handling the oldest message (if it exsits) or the next message before flushing the queue.
Required: true
Default: false