Data Items

From MTConnect® User's Portal
Jump to: navigation, search

A DataItem is a piece of information that can be collected from a Device, Component, or subcomponent. A DataItem MAY report both a numeric value (a numeric quantity reported as either a Sample or Event category) and a health status (reported as a Condition category). A DataItem specifies the type of data being collected and an array of optional attributes that further defines that data. The value of the data is provided in the Streams response.

The Agent transmits data items associated with each Component to an application. The actual values for those data items are delivered in Streams.

DataItem Structure


DataItem Schema

A DataItem MUST specify the type of data being collected, the id of the DataItem, and the category of the item. Since many data item types provide both a value (reported as either a Sample or Event category) and a health status (reported as a Condition category), each DataItem MUST report a category for each data type to aid the application in determining the specific meaning of the data. The DataItem MAY specify a Source sub-element to identify where the physical connection to the data source originates; ex. data relative to a servo motor may actually originate from a measurement made in the controller.

DataItem Schema

A DataItem MAY also specify a subtype to further qualify the type of data being provided. Subtypes are required for certain data items. For example, the Position has two subtypes: ACTUAL and COMMANDED. These are two separate DataItem(s) that can be reported independently. See the sections below addressing Sample, Event, and Condition for a complete list of type/subtype relations.

DataItem Attribtes

Attribute Description Occurrence
id The unique identifier for this DataItem. The id attribute MUST be unique across the entire document including the ids for components. An XML ID-type. 1
name The name of the DataItem. A name is provided as an additional human readable identifier for this DataItem in addition to the id. It is not required and will be implementation dependent. An NMTOKEN XML type. 0..1
type The type of data being measured. Examples of types are POSITION, VELOCITY, ANGLE, BLOCK, ROTARY_VELOCITY, etc. 1
subType A sub-categorization of the data item type. For example, the subtypes of POSITION are ACTUAL and COMMANDED. Not all types have subtypes and this can be left off. 0..1
category This is how the meaning of the data item will be determined. The available options are SAMPLE, EVENT, or CONDITION. 1
statistic Data calculated specific to a DataItem. Examples of statistic are AVERAGE, MINIMUM, MAXIMUM, ROOT_MEAN_SQUARE, RANGE, MEDIAN, MODE, AND STANDARD_DEVIATION. 0..1
representation Data consisting of multiple data points or samples or a file presented as a single DataItem. Each representation will have a unique format defined for each representation. Examples of representation are VALUE, TIME_SERIES, MP3, WAV, etc. Initially, the representation for TIME_SERIES and VALUE are defined. If a representation is not specified, it MUST be determined to be VALUE. 0..1
nativeUnits The native units used by the Component. These units will be converted before they are delivered to the application. 0..1
units Units MUST be present for all samples. If the data represented by a DataItem is a numeric value, except for line number and count, the units MUST be specified. 0..1
nativeScale The multiplier for the native units. The received data MAY be divided by this value before conversion. If provided, the value MUST be numeric. 0..1
significantDigits The number of significant digits in the reported value. This is used by applications to determine accuracy of values. This SHOULD be specified for all numeric values. 0..1
sampleRate The rate at which successive samples of a DataItem are recorded. SampleRate is expressed in terms of samples per second. If the sample rate is smaller than one, the number can be represented as a floating point number. For example, a rate 1 per 10 seconds would be 0.1 0..1**
coordinateSystem The coordinate system being used. The available values for coordinateSystem is WORK and MACHINE 0..1

DataItem Attribute: Category

MTConnect® provides three different categories of DataItem - SAMPLE, EVENT, and CONDITION. The category will indicate where the results will be reported in the XML Document as a response to a Sample or Current request.


A Sample is the reading of the value of a continuously variable or analog DataItem. A continuous value can be sampled at any point-in-time and will always produce a result. An example of a continuous DataItem is the Linear X axis position.
A DataItem of the category Sample that are continuous are always scalar floating point or integers that can have an infinite number of possible values. This is different from state or discrete type DataItem that has a limited number of possible values. A DataItem of category Sample MUST have units.


A DataItem of the category Event comprises discrete information from the device. There are two types of Event: those representing state, with two or more discrete values; and those representing messages that contain plain text data. An example of a state type Event is a DoorStatus that can be either OPEN, UNLATCHED, or CLOSED. An example of a message type Event is a PROGRAM that can be any valid string of characters. A DataItem of category Event does not have intermediate values that vary over time, as do Samples. An Event can be thought of as streaming information that if taken at any point in time represents the current state of the device.


A DataItem that communicates the device’s health and ability to function. A DataItem of category Condition can be one of UNAVAILABLE, NORMAL, WARNING, or FAULT. A DataItem of category Condition MAY report multiple active conditions at one time; whereas a DataItem of category Sample or Event can only have a single value at any one point in time.

DataItem Attribute: coordinateSystem

A DataItem can specify an optional coordinate system that is being used. If not specified, the Axes coordinates MUST be MACHINE and the Path coordinates MUST be WORK. The possible values of coordinates are:


An unchangeable coordinate system that has machine zero as its origin.


The coordinate system that represents the working area for a particular workpiece whose origin is shifted within the MACHINE coordinate system. If the WORK coordinates are not currently defined in the device, the MACHINE coordinates will be used.

DataItem Attribute: units

Units MUST be specified for any DataItem with category Sample. The nativeUnits MAY also be specified if they apply to the type of data and if they differ from the units. The Agent is responsible for converting the nativeUnits to the units before sending them to the applications. In addition, nativeUnits MAY be scaled using the nativeScale attribute; for example, if the device measures velocity in 100 ft/min, MTConnect® would represent it with the following attributes: nativeUnits=“FEET/MINUTE” and nativeScale=“100”.

For a complete list of DataItem Units, click here.

DataItem Attribute: statistic

The statistic attribute indicates that the data has been processed using a statistical operation like average, mean, or root square. statistic may be reported for any Sample type DataItem. These values are calculated values generated by the Component or Device providing additional data regarding a DataItem sampled over a specified period of time. All statistic data is reported in the standard units of the DataItem.

The value of statistic is periodically reset. When statistic values are reported as a Streams value, the value of the statistic MUST include an attribute Duration. Duration defines the time elapsed since the statistic calculation was last reset.

Statistic Description
AVERAGE Mathematical Average value calculated for the DataItem during the calculation period
KURTOSIS A measure of the “peakedness” of a probability distribution; i.e., the shape of the distribution curve
MAXIMUM Maximum or peak value recorded for the DataItem during the calculation period
MEDIAN The middle number of a series of numbers
MINIMUM Minimum value recorded for the DataItem during the calculation period
MODE The number in a series of numbers that occurs most often
RANGE Difference between the Maximum and Minimum value of a DataItem during the calculation period. Also represents Peak-to-Peak measurement in a waveform.
ROOT_MEAN_SQUARE Mathematical Root Mean Value (RMS) value calculated for the DataItem during the calculation period
STANDARD_DEVIATION Statistical Standard Deviation value calculated for the DataItem during the calculation period

DataItem Attribute: representation

The representation attribute defines the format for data consisting of multiple data points or a file presented as a single DataItem. Each representation will have a unique format defined for each representation. At this time, the only representations defined are TIME_SERIES and VALUE.

Representation Description
VALUE The measured value of a sample. If no representation is specified for a DataItem, the representation MUST be determined to be VALUE.
TIME_SERIES A series of sampled data. The data is collected for a specified number of samples and each sample is collected with a fixed period

DataItem Attribute: nativeUnits

The nativeUnits attribute adds additional values to the units values. This is the list of nativeUnits currently supported by MTConnect® and the MTConnect® schema.

Native Units Description
CENTIPOISE A measure of Viscosity
DEGREE/MINUTE Rotational velocity in degrees per minute
FAHRENHEIT Temperature in Fahrenheit
FOOT/MINUTE Feet per minute
FOOT/SECOND Feet per second
FOOT/SECOND^2 Acceleration in feet per second squared
FOOT_3D A point in space identified by X, Y, and Z positions and represented by a space delimited set of numbers each expressed in feet.
GALLON/MINUTE Gallons per minute.
INCH Inches
INCH/MINUTE Inches per minute
INCH/SECOND Inches per second
INCH/SECOND^2 Acceleration in inches per second squared
INCH_3D A point in space identified by X, Y, and Z positions and represented by a space delimited set of numbers each expressed in inches.
INCH_POUND A measure of torque in inch pounds.
KILOWATT A measurement in kilowatt.
KILOWATT_HOUR Kilowatt hours which is 3.6 mega joules.
LITER Measurement of volume of a fluid
LITER/MINUTE Measurement of rate of flow of a fluid
MILLIMETER/MINUTE Velocity in millimeters per minute
POUND US pounds
POUND/INCH^2 Pressure in pounds per square inch (PSI).
RADIAN Angle in radians
RADIAN/SECOND Velocity in radians per second
RADIAN/SECOND^2 Rotational acceleration in radian per second squared
RADIAN/MINUTE Velocity in radians per minute.
REVOLUTION/SECOND Rotational velocity in revolution per second
OTHER Unsupported units

DataItem Types

For a list of DataItem types for SAMPLE category, click here.

For a list of DataItem types for EVENT category, click here.

For a list of DataItem types for CONDITION category, click here.

Schema Structure for DataItems

The following document structure defines a typical machine with rotary and linear axes and a controller.

		       Rotary [C]
			     DataItem [Cvel]
                                Constraints SPINDLE
		       Linear  [X]
			     DataItem [Xpos]
		       Linear  [Y]
			     DataItem [Ypos]
		       Linear  [Z]
			     DataItem [Zpos]
			     DataItem [mode]
			     DataItem [execution]

The above example shows how the various containers make it easier to address individual parts of the XML document. For example, if one wanted to retrieve only the DataItems for the Controller, you can express this using the following XPath: //Controller/DataItems/*. If you were interested in retrieving only the subcomponets of the Axes component, you would write the following XPath: //Axes/Components/*.