MTC Part 2-0 Devices Information Model 1-6-0
MTC Part 2-0 Devices Information Model 1-6-0
R
Standard
Part 2.0 – Devices Information Model
Version 1.6.0
MTConnect
R
is a registered trademark of AMT - The Association for Manufacturing Technology. Use of
MTConnect is limited to use as specified on http://www.mtconnect.org/.
July 15, 2020
The Association for Manufacturing Technology (AMT) owns the copyright in this MT-
Connect Specification or Material. AMT grants to you a non-exclusive, non-transferable,
revocable, non-sublicensable, fully-paid-up copyright license to reproduce, copy and re-
distribute this MTConnect Specification or Material, provided that you may only copy or
redistribute the MTConnect Specification or Material in the form in which you received
it, without modifications, and with all copyright notices and other notices and disclaimers
contained in the MTConnect Specification or Material.
MTConnect Institute and AMT have no responsibility to identify patents, patent claims or
patent applications which may relate to or be required to implement a Specification, or to
determine the legal validity or scope of any such patent claims brought to their attention.
Each MTConnect Implementer is responsible for securing its own licenses or rights to any
patent or other intellectual property rights that may be necessary for such use, and neither
AMT nor MTConnect Institute have any obligation to secure any such rights.
This Material and all MTConnect Specifications and Materials are provided “as is” and
MTConnect Institute and AMT, and each of their respective members, officers, affiliates,
sponsors and agents, make no representation or warranty of any kind relating to these ma-
terials or to any implementation of the MTConnect Specifications or Materials in any prod-
uct, including, without limitation, any expressed or implied warranty of noninfringement,
merchantability, or fitness for particular purpose, or of the accuracy, reliability, or com-
pleteness of information contained herein. In no event shall MTConnect Institute or AMT
be liable to any user or implementer of MTConnect Specifications or Materials for the
cost of procuring substitute goods or services, lost profits, loss of use, loss of data or any
incidental, consequential, indirect, special or punitive damages or other direct damages,
whether under contract, tort, warranty or otherwise, arising in any way out of access, use
or inability to use the MTConnect Specification or other MTConnect Materials, whether
or not they had advance notice of the possibility of such damage.
ii
July 15, 2020
9 Configuration 144
9.1 Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.1.1 Sensor Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.1.2 Sensor Unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
9.1.3 Sensor Configuration . . . . . . . . . . . . . . . . . . . . . . . . 148
9.1.3.1 Elements for SensorConfiguration . . . . . . . . . . . . 151
9.1.3.1.1 Attributes for Channel . . . . . . . . . . . . . 152
9.1.3.1.2 Elements for Channel . . . . . . . . . . . . . 153
Appendices 172
A Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Table of Figures
Figure 1: Example Device Structural Elements . . . . . . . . . . . . . . . . . . 16
Figure 2: Example Composition Structural Elements . . . . . . . . . . . . . . 17
Figure 3: Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 4: Description of Component Diagram . . . . . . . . . . . . . . . . . . 25
Figure 5: Component Configuration Diagram . . . . . . . . . . . . . . . . . . 27
Figure 6: Composition Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 7: Description of Composition Diagram . . . . . . . . . . . . . . . . . . 33
Figure 8: Reference Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 9: ComponentRef Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 10:DataItemRef Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 11:Example Data Entities for Device (DataItem) . . . . . . . . . . . . . 55
Figure 12:DataItem Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 13:Source Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Figure 14:Constraints Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Figure 15:Filter Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Figure 16:Definition Schema Diagram . . . . . . . . . . . . . . . . . . . . . . . 86
Figure 17:Configuration Element . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Figure 18:Sensor Data Associations . . . . . . . . . . . . . . . . . . . . . . . . . 146
Figure 19:SensorConfiguration Diagram . . . . . . . . . . . . . . . . . . . . . . 150
Figure 20:Relationship Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Figure 21:DeviceRelationship Diagram . . . . . . . . . . . . . . . . . . . . . . . 159
Figure 22:ComponentRelationship Diagram . . . . . . . . . . . . . . . . . . . . 163
Figure 23:Specifications Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Figure 24:CoordinateSystems Diagram . . . . . . . . . . . . . . . . . . . . . . 168
vii
July 15, 2020
2 This document, MTConnect Standard: Part 2.0 - Devices Information Model of the MT-
3 Connect Standard, establishes the rules and terminology to be used by designers to de-
4 scribe the function and operation of a piece of equipment and to define the data that is
5 provided by an Agent from the equipment. The Devices Information Model also defines
6 the structure for the XML document that is returned from an Agent in response to a Probe
7 Request.
8 In the MTConnect Standard, equipment represents any tangible property that is used in the
9 operations of a manufacturing facility. Examples of equipment are machine tools, ovens,
10 sensor units, workstations, software applications, and bar feeders.
11 Note: See MTConnect Standard: Part 3.0 - Streams Information Model of the MT-
12 Connect Standard for details on the XML documents that are returned from an
13 Agent in response to a Sample Request or Current Request.
15 Refer to Section 3 of MTConnect Standard Part 1.0 - Overview and Fundamentals for a
16 dictionary of terms, reserved language, and document conventions used in the MTConnect
17 Standard.
18 2.1 Glossary
19 CDATA
20 General meaning:
21 An abbreviation for Character Data.
22 CDATA is used to describe a value (text or data) published as part of an XML ele-
23 ment.
24 For example, "This is some text" is the CDATA in the XML element:
25 <Message ...>This is some text</Message>
26 Appears in the documents in the following form: CDATA
27 HTTP
28 Hyper-Text Transport Protocol. The protocol used by all web browsers and web
29 applications.
30 Note: HTTP is an IETF standard and is defined in RFC 7230.
31 See https://tools.ietf.org/html/rfc7230 for more information.
32 NMTOKEN
33 The data type for XML identifiers.
34 Note: The identifier must start with a letter, an underscore "_" or a colon. The next
35 character must be a letter, a number, or one of the following ".", "-", "_", ":". The
36 identifier must not have any spaces or special characters.
37 Appears in the documents in the following form: NMTOKEN.
38 XML
39 Stands for eXtensible Markup Language.
40 XML defines a set of rules for encoding documents that both a human-readable and
41 machine-readable.
42 XML is the language used for all code examples in the MTConnect Standard.
43 Refer to http://www.w3.org/XML for more information about XML.
44 Agent
45 Refers to an MTConnect Agent.
46 Software that collects data published from one or more piece(s) of equipment, orga-
47 nizes that data in a structured manner, and responds to requests for data from client
48 software systems by providing a structured response in the form of a Response Doc-
49 ument that is constructed using the semantic data models defined in the Standard.
50 Appears in the documents in the following form: Agent.
51 Asset
52 General meaning:
53 Typically referred to as an MTConnect Asset.
54 An MTConnect Asset is something that is used in the manufacturing process, but is
55 not permanently associated with a single piece of equipment, can be removed from
56 the piece of equipment without compromising its function, and can be associated
57 with other pieces of equipment during its lifecycle.
58 Used to identify a storage area in an Agent:
59 See description of buffer.
60 Used as an Information Model:
61 Used to describe an Information Model that contains the rules and terminology that
62 describe information that may be included in electronic documents representing MT-
63 Connect Assets.
64 The Asset Information Models defines the structure for the Assets Response Docu-
65 ment.
66 Individual Information Models describe the structure of the Asset Documents rep-
67 resent each type of MTConnect Asset. Appears in the documents in the following
68 form: Asset Information Models or (asset type) Information Model.
69 Used when referring to an MTConnect Asset:
70 Refers to the information related to an MTConnect Asset or a group of MTConnect
71 Assets.
72 Appears in the documents in the following form: Asset or Assets.
73 Used as an XML container or element:
74 • When used as an XML container that consists of one or more types of Asset
75 XML elements.
76 Appears in the documents in the following form: Assets.
98 Asset Document
99 An electronic document published by an Agent in response to a Request for infor-
100 mation from a client software application relating to Assets.
101 buffer
102 General meaning:
103 A section of an Agent that provides storage for information published from pieces
104 of equipment.
105 Used relative to Streaming Data:
106 A section of an Agent that provides storage for information relating to individual
107 pieces of Streaming Data.
108 Appears in the documents in the following form: buffer.
109 Used relative to MTConnect Assets:
134 Document
135 General meaning:
136 A piece of written, printed, or electronic matter that provides information.
137 Used to represent an MTConnect Document:
138 Refers to printed or electronic document(s) that represent a Part(s) of the MTCon-
139 nect Standard.
140 Appears in the documents in the following form: MTConnect Document.
179 Interface
180 General meaning:
181 The exchange of information between pieces of equipment and/or software systems.
182 Appears in the documents in the following form: interface.
183 Used as an Interaction Model:
184 An Interaction Model that describes a method for inter-operations between pieces
185 of equipment.
186 Appears in the documents in the following form: Interface.
187 Used as an XML container or element:
188 - When used as an XML container that consists of one or more types of Inter-
189 face XML elements.
190 Appears in the documents in the following form: Interfaces.
191 - When used as an abstract XML element. It is replaced in the XML document
192 by types of Interface elements.
193 Appears in the documents in the following form: Interface
194 key
195 A unique identifier in a key-value pair association.
202 Metadata
203 Data that provides information about other data.
204 For example, Equipment Metadata defines both the Structural Elements that rep-
205 resent the physical and logical parts and sub-parts of each piece of equipment, the
206 relationships between those parts and sub-parts, and the definitions of the Data En-
207 tities associated with that piece of equipment.
208 Appears in the documents in the following form: Metadata or Equipment Metadata.
217 observation
218 The observed value of a property at a point in time.
219 organize
220 The act of containing and owning one or more elements.
225 Request
226 A communications method where a client software application transmits a message
227 to an Agent. That message instructs the Agent to respond with specific information.
228 Appears in the documents in the following form: Request.
260 Table
261 A two dimensional set of values given by a set of key-value pairs Table Entries.
262 Each Table Entry contains a set of key-value pairs of Table Cells. The Entry and
263 Cell elements comprise a tabular representation of the information.
279 AMT
280 The Association for Manufacturing Technology
282 [MTConnect Part 1.0] MTConnect Standard Part 1.0 - Overview and Fundamentals. Ver-
283 sion 1.5.0.
284 [MTConnect Part 2.0] MTConnect Standard: Part 2.0 - Devices Information Model. Ver-
285 sion 1.5.0.
286 [MTConnect Part 3.0] MTConnect Standard: Part 3.0 - Streams Information Model. Ver-
287 sion 1.5.0.
288 [MTConnect Part 4.0] MTConnect Standard: Part 4.0 - Assets Information Model. Ver-
289 sion 1.5.0.
290 [MTConnect Part 5.0] MTConnect Standard: Part 5.0 - Interfaces. Version 1.5.0.
292 The Devices Information Model provides a representation of the physical and logical con-
293 figuration for a piece of equipment used for a manufacturing process or for any other
294 purpose. It also provides the definition of data that may be reported by that equipment.
295 Using information defined in the Devices Information Model, a software application can
296 determine the configuration and reporting capabilities of a piece of equipment. To do this,
297 the software application issues a Probe Request (defined in MTConnect Standard Part 1.0
298 - Overview and Fundamentals Section 8.1.1) to an Agent associated with a piece of equip-
299 ment. An Agent responds to the Probe Request with an MTConnectDevices XML
300 document that contains information describing both the physical and logical structure of
301 the piece of equipment and a detailed description of each Data Entity that can be reported
302 by the Agent associated with the piece of equipment. This information allows the client
303 software application to interpret the document and to extract the data with the same mean-
304 ing, value, and context that it had at its original source.
305 The MTConnectDevices XML document is comprised of two sections: Header and
306 Devices.
307 The Header section contains protocol related information as defined in MTConnect Stan-
308 dard Part 1.0 - Overview and Fundamentals Section 6.5.1.
309 The Devices section of the MTConnectDevices document contains a Device XML
310 container for each piece of equipment described in the document. Each Device container
311 is comprised of two primary types of XML elements - Structural Elements and Data Enti-
312 ties.
313 Structural Elements are defined as XML elements that organize information that repre-
314 sents the physical and logical parts and sub-parts of a piece of equipment (See Section 4 -
315 Structural Elements for MTConnectDevices for more details).
316 Data Entities are defined as XML elements that describe data that can be reported by
317 a piece of equipment. In the Devices Information Model, Data Entities are defined as
318 DataItem elements (See Section 7 - Data Entities for Device and Section 8 - Listing of
319 Data Items).
320 The Structural Elements and Data Entities in the MTConnectDevices document pro-
321 vide information representing the physical and logical structure for a piece of equipment
322 and the types of data that the piece of equipment can report relative to that structure. The
323 MTConnectDevices document does not contain values for the data types reported by
324 the piece of equipment. The MTConnectStreams document defined in MTConnect
325 Standard: Part 3.0 - Streams Information Model provides the data values that are reported
326 by the piece of equipment. As such, most Structural Elements and Data Entities in the
327 MTConnectDevices document do not contain CDATA. XML elements that provide
328 values or information in the CDATA will be specifically identified in Section 4 - Structural
329 Elements for MTConnectDevices, Section 7 - Data Entities for Device, and Section 9.1 -
330 Sensor.
331 Note: The MTConnect Standard also defines the information model for Assets. An
332 Asset is something that is used in the manufacturing process, but is not perma-
333 nently associated with a single piece of equipment, can be removed from the
334 piece of equipment without compromising its function, and can be associated
335 with other pieces of equipment during its lifecycle. See MTConnect Standard:
336 Part 4.0 - Assets Information Model for more details on Assets.
338 Structural Elements are XML elements that form the logical structure for the MTCon-
339 nectDevices XML document. These elements are used to organize information that
340 represents the physical and logical architecture of a piece of equipment. Refer to Figure 1
341 for an overview of the Structural Elements used in an MTConnectDevices document.
342 A variety of Structural Elements are defined to describe a piece of equipment. Some
343 of these elements MUST always appear in the MTConnectDevices XML document,
344 while others are optional and MAY be used, as required, to provide additional structure.
345 The first, or highest level, Structural Element in a MTConnectDevices XML document
346 is Devices. Devices is a container type XML element used to group one or more
347 pieces of equipment into a single XML document. Devices MUST always appear in the
348 MTConnectDevices document.
349 Device is the next Structural Element in the MTConnectDevices XML document.
350 Device is also a container type XML element. A separate Device container is used
351 to identify each piece of equipment represented in the MTConnectDevices document.
352 Each Device container provides information on the physical and logical structure of
353 the piece of equipment and the data associated with that equipment. Device can also
354 represent any logical grouping of pieces of equipment that function as a unit or any other
355 data source that provides data through an Agent.
358 Components is the next Structural Element in the MTConnectDevices XML doc-
359 ument. Components is also a container type XML element. Components is used to
360 group information describing Lower Level physical parts or logical functions of a piece of
361 equipment.
362 If the Components container appears in the XML document, it MUST contain one or
363 more Component type XML elements.
364 Component is the next level of Structural Element in the MTConnectDevices XML
365 document. Component is both an abstract type XML element and a container type ele-
366 ment.
367 As an abstract type element, Component will never appear in the XML document de-
368 scribing a piece of equipment and will be replaced by a specific Component type defined
369 in Section 5 - Component Structural Elements. Each Component type is also a container
370 type element. As a container, the Component type element is used to organize infor-
371 mation describing Lower Level Structural Elements or Data Entities associated with the
372 Component.
373 If Lower Level Structural Elements are described, these elements are by definition child
374 Component elements of a parent Component. At this next level, the Lower Level child
375 Component elements are grouped into an XML container called Components.
376 This Lower Level Components container is comprised of one or more child Compo-
377 nent XML elements representing the sub-parts of the parent Component. Just like the
378 parent Component element, the child Component element is an abstract type XML el-
379 ement and will never appear in the XML document – only the different Lower Level child
380 Component types will appear.
381 This parent-child relationship can continue to any depth required to fully define a piece of
382 equipment.
383 Example 1 illustrates the relationship between a parent Component and Lower Level
384 child components:
Example 1: Component Levels
385 1 <Devices>
386 2 <Device>
387 3 <Components>
388 4 <Axes> Parent Component
389 5 <Components>
390 6 <Rotary> Child component of Axes and Parent component of Lower Level compo-
391 nents
392 7 <Components>
393 8 <Chuck> Child Component of Rotary
394 Figure 1 demonstrates the various Structural Elements provided to describe a piece of
395 equipment and the relationship between these elements.
396 Component type XML elements MAY be further decomposed into Composition type
397 XML elements. Composition elements describe the lowest level basic structural or
398 functional building blocks contained within a Component. Any number of Composi-
399 tion elements MAY be used. Data provided for a Component provides more specific
400 meaning when it is associated with one of the Composition elements of the Compo-
401 nent. The different Composition types that MAY appear in the XML document are
402 defined in Section 6 - Composition Type Structural Elements.
403 The Composition elements are organized into a Compositions container. The
404 Compositions container MAY appear in the XML document further describing a Com-
405 ponent. If one or more Composition element(s) is provided to describe a Compo-
406 nent, a Compositions container MUST be defined for the Component.
407 Example 2 represents an XML document structure that demonstrates the relationship be-
408 tween a parent Component and its Composition elements.
Example 2: Component levels with Composition
409 1 <Devices>
410 2 <Device>
411 3 <Components>
412 4 <Axes> (Component)
413 5 <Components>
414 6 <Linear> (Component)
415 7 <Compositions>
416 8 <Composition>
417 9 <Composition>
418 10 <Composition>
419 Figure 2 demonstrates this relationship between a Component and some of its potential
420 Composition elements.
424 A Device is a Component that represents a piece of equipment that produces observa-
425 tions about itself. It organizes its parts as Components.
426 A Device MUST have a name and uuid attribute to identify itself.
429 See Section 4.4 - Component for details on the Device model.
431 Components is an XML container used to group information describing physical parts
432 or logical functions of a piece of equipment. Components contains one or more Com-
433 ponent XML elements.
Table 2: MTConnect Components Element
435 A Component XML element is a container type XML element used to organize informa-
436 tion describing a physical part or logical function of a piece of equipment. It also provides
437 structure for describing the Lower Level Structural Elements associated with the Compo-
438 nent. Component is an abstract type XML element and will never appear directly in
439 the MTConnect XML document. As an abstract type XML element, Component will be
440 replaced in the XML document by specific Component types. XML elements represent-
441 ing Component are described in Section 5 - Component Structural Elements and include
442 elements such as Axes, Controller, and Systems.
444 Figure 3 represents the structure of a Component XML element showing the attributes
445 defined for Component and the elements that MAY be associated with Component.
447 Table 4 defines the attributes that may be used to provide additional information for a
448 Component type XML element.
Continuation of Table 4
Attribute Description Occurrence
sampleInterval An optional attribute that is an indication 0..1 ††
provided by a piece of equipment describing the
interval in milliseconds between the completion
of the reading of the data associated with the
Component element until the beginning of the
next sampling of that data. This indication is
reported as the number of milliseconds between
data captures.
This information may be used by client software
applications to understand how often
information from a piece of equipment for a
specific Component element is expected to be
refreshed.
The refresh rate for data from all Lower Level
Component elements will be the same as for
the parent Component element unless
specifically overridden by another
sampleInterval provided for the Lower
Level Component element.
If the value of sampleInterval is less than
one millisecond, the value will be represented as
a floating-point number. For example, an
interval of 100 microseconds would be 0.1.
sampleRate DEPRECATED in MTConnect Version 1.2. 0..1 †††
Replaced by sampleInterval.
Continuation of Table 4
Attribute Description Occurrence
uuid A unique identifier for this XML element. 0..1 †
uuid is an optional attribute.
The value provided for the uuid MUST be
unique amongst all uuid identifiers used in an
MTConnect installation.
For example, this may be a combination of the
manufacturer’s code and serial number. The
uuid SHOULD be alphanumeric and not
exceed 255 characters.
An NMTOKEN XML type.
name The name of the Component element. 0..1
name is an optional attribute.
However, if there are multiple Lower Level
components that have the same parent and are of
the same component type (example Linear),
then the name attribute MUST be provided for
all Lower Level components of the same
element type to differentiate between the similar
components.
When provided, name MUST be unique for all
Lower Level components of a parent
Component.
An NMTOKEN XML type.
449 Notes: † While uuid MUST be provided for the Device element, it is optional for
450 Component elements.
451 †† The sampleInterval is used to aid a client software application in in-
452 terpreting values provided by some Data Entities. This is the desired sample
453 interval and may vary depending on the capabilities of the piece of equipment.
454 ††† Remains in schema for backwards compatibility.
456 Table 5 lists the elements defined to provide additional information for a Component
457 type XML element.
461 Figure 4 illustrates the structure of the Description XML element showing the at-
462 tributes defined for Description. Description can contain any descriptive content
463 of this Component. This element is defined to contain mixed content and additional
464 XML elements (indicated by the any element) MAY be added to extend the schema for
465 Description.
466 Table 6 lists the attributes defined for the Description XML element.
Table 6: Attributes for Description for Component
Continuation of Table 6
Attribute Description Occurrence
station The station where the physical part or logical 0..1
function of a piece of equipment represented by
the Component element is located when it is part
of a manufacturing unit or cell with multiple
stations.
station is an optional attribute.
467 The content of Description MAY include any additional descriptive information the
468 implementer chooses to include regarding the Component element. This content SHOULD
469 be limited to information not included elsewhere in the MTConnectDevices XML doc-
470 ument.
Example 3: Example of Description
471 1 <Description manufacturer="Example Co"
472 2 serialNumber="EXCO-TT-099PP-XXXX"> Advanced Pulse
473 3 watt-hour transducer with pulse output
474 4 </Description>
476 The Configuration XML element contains technical information about a component.
477 Configuration MAY include any information describing the physical layout or func-
478 tional characteristics of a component, such as capabilities, testing, installation, operation,
479 calibration, or maintenance. Configuration MAY also include information represent-
480 ing the inter-relationships between components within a piece of equipment.
488 DataItems is an XML container that provides structure for organizing the data reported
489 by a piece of equipment that is associated with the Component.
490 See Section 7 - Data Entities for Device for details on the DataItems XML element.
492 The use of the XML container Components within a Component element provides
493 the ability to further break down the structure of a Component element into even Lower
494 Level physical and logical sub-parts. These Lower Level elements can add more clarity
495 and granularity to the physical or logical structure of a piece of equipment and the data
496 associated with that equipment.
497 This parent-child relationship can be extended down to any level necessary to fully de-
498 scribe a piece of equipment. These Lower Level Component elements use the same XML
499 structure as Component defined in Section 4.4.1 - XML Schema Structure for Component.
Example 4: Example of parent Component and Child Elements
500 1 <Devices>
501 2 <Device>
502 3 <Components>
503 4 <Axes> (Component)
504 5 <Components>
505 6 <Linear> (Component)
506 7 <Components>
507 8 <Etc. > (Component)
509 Compositions is an XML container used to organize the lowest level structural build-
510 ing blocks contained within a Component as defined below.
515 Compositions is an XML container that defines the lowest level structural building
516 blocks contained within a Component element.
519 Composition XML elements are used to describe the lowest level physical building
520 blocks of a piece of equipment contained within a Component.
521 Composition provides the ability to organize information describing parts of its parent
522 Component. A Composition MUST NOT have child Components, Composi-
523 tions, or DataItems elements.
524 Composition elements are used to add more clarity and granularity to the data being
525 retrieved from a piece of equipment. The meaning of the data associated with a Com-
526 ponent may be enhanced by designating a specific Composition element associated
527 with that data.
528 An example of the additional detail provided when using Composition elements would
529 be:
530 A TEMPERATURE associated with a Linear type axis may be further clarified by ref-
531 erencing the MOTOR or AMPLIFIER type Composition element associated with that
532 axis, which differentiates the temperature of the motor from the temperature of the ampli-
533 fier.
534 Composition is a typed XML element and will always define a specific type of struc-
535 tural building block contained within a Component. XML elements representing the
536 types of Composition elements are described in Section 6 - Composition Type Struc-
537 tural Elements and include elements describing such basic building blocks as motors, am-
538 plifiers, filters, and pumps.
Example 5: Example of parent Component and child Composition elements
539 1 <Devices>
540 2 <Device>
541 3 <Components>
542 4 <Axes> (Component)
543 5 <Components>
550 Figure 6 illustrates a Composition XML element showing the attributes defined for
551 Composition and the elements that may be associated with Composition type XML
552 elements.
554 Table 10 defines the attributes that may be used to provide additional information for a
555 Composition type XML element.
Continuation of Table 10
Attribute Description Occurrence
uuid A unique identifier for this XML element. 0..1
uuid is an optional attribute.
The uuid MUST be unique amongst all uuid identifiers
used in an MTConnect installation.
For example, this may be a combination of the
manufacturer’s code and serial number. The uuid
SHOULD be alphanumeric and not exceed 255
characters.
An NMTOKEN XML type.
name The name of the Composition element. 0..1
If more than one Composition elements have the same
type for the same Component, then the name attribute
MUST be provided. Otherwise, the name attribute is
optional.
If provided, name MUST be unique within a
Component element. name is an NMTOKEN XML
type
type The type of Composition element. 1
type is a required attribute.
Examples of types are MOTOR, FILTER, PUMP, and
AMPLIFIER.
Refer to Section 6 - Composition Type Structural
Elements for a list of currently defined types.
557 Table 11 lists the elements defined to provide additional information for a Composition
558 type XML element.
560 Figure 7 represents the structure of the Description XML element showing the at-
561 tributes defined for Description. Description can contain any descriptive content
562 for this Composition element. This element is defined to contain mixed content and
563 additional XML elements (indicated by the any element) MAY be added to extend the
564 schema for Description.
565 Table 12 lists the attributes defined for the Description XML element.
566 The content of Description MAY include any additional descriptive information the
567 implementer chooses to include regarding the Composition element. This content
568 SHOULD be limited to information not included elsewhere in the MTConnectDevices
569 XML document.
Example 6: Example of Description
570 1 <Description manufacturer="Example Co"
571 2 serialNumber="A124FFF" station="2"> Spindle motor
572 3 associated with Path 2.
573 4 </Description>
575 References is an XML container that organizes pointers to information defined else-
576 where within the XML document for a piece of equipment.
581 Reference is a pointer to information that is associated with another Structural Element
582 defined elsewhere in the XML document for a piece of equipment. That information may
583 be data from the other element or the entire structure of that element.
584 Reference is an efficient method to associate information with an element without du-
585 plicating any of the data or structure. For example, a Bar Feeder System may make a re-
586 quest for the BarFeederInterface and receive all the relevant data for the interface
587 and the associated spindle (Rotary element) that is referenced as part of the BarFeed-
588 erInterface.
589 Reference is an abstract type XML element and will never appear directly in the MT-
590 Connect XML document. As an abstract type XML element, Reference will be re-
591 placed in the XML document by a specific Reference type. The current supported
592 types of Reference are DataItemRef and ComponentRef XML elements.
595 ComponentRef XML element is a pointer to all of the information associated with an-
596 other Structural Element defined elsewhere in the XML document for a piece of equip-
597 ment. ComponentRef allows all of the information (Lower Level Components and all
598 Data Entities) that is associated with the other Structural Element to be directly associated
599 with this XML element.
600 Figure 9 represents the structure of a ComponentRef XML element showing the at-
601 tributes defined for ComponentRef.
602 Table 14 lists the attributes defined for the ComponentRef element.
Table 14: Attributes for ComponentRef
604 DataItemRef XML element is a pointer to a Data Entity associated with another Struc-
605 tural Element defined elsewhere in the XML document for a piece of equipment. DataItem-
606 Ref allows the data associated with a data item defined in another Structural Element to
607 be directly associated with this XML element.
608 Figure 10 represents the structure of a DataItemRef XML element showing the at-
609 tributes defined for DataItemRef.
610 Table 15 lists the attributes defined for the DataItemRef element.
612 Component Structural Elements are XML containers used to represent physical parts or
613 logical functions of a piece of equipment.
614 Component Structural Elements are defined into two major categories:
615 • Top Level Component elements are used to group the Structural Elements repre-
616 senting the most significant physical or logical functions of a piece of equipment.
617 The Top Level Component elements provided in an MTConnectDevices docu-
618 ment SHOULD be restricted to those defined in Table 16. However, these Top Level
619 Component elements MAY also be used as Lower Level Component elements;
620 as required.
621 • Lower Level Component elements are used to describe the sub-parts of the par-
622 ent Component to provide more clarity and granularity to the physical or logical
623 structure of the Top Level Component elements.
624 This section of the Devices Information Model provides guidance for the most common re-
625 lationships between Top Level Component elements and Lower Level child components.
626 However, all Component elements MAY be used in any configuration, as required, to
627 fully describe a piece of equipment.
633 Table 16 defines the Top Level Component elements available to describe a piece of
634 equipment.
Continuation of Table 16
Top Level Component Element †† Description
Systems An XML container used to organize information
for Lower Level elements representing the major
sub-systems that are permanently integrated into a
piece of equipment.
Auxiliaries An XML container used to organize information
for Lower Level elements representing functional
sub-systems that provide supplementary or
extended capabilities for a piece of equipment, but
they are not required for the basic operation of the
equipment.
Resources An XML container used to organize information
for Lower Level elements representing types of
items, materials, and personnel that support the
operation of a piece of equipment or work to be
performed at a location. Resources also
represents materials or other items consumed or
transformed by a piece of equipment for
production of parts or other types of goods.
Interfaces An XML container that organizes information
used to coordinate actions and activities between
pieces of equipment that communicate
information between each other.
635 Note: †† The following components have been relocated or redefined since they are
636 not classified as restricted Top Level components:
637 - Power was DEPRECATED in MTConnect Version 1.1 and was replaced
638 by the Data Entity called AVAILABILITY.
639 - Door has been redefined as a Lower Level component of a parent Compo-
640 nent element or as a Composition element.
641 - Actuator, due to its uniqueness, has been redefined as a piece of equip-
642 ment with the ability to be represented as a Lower Level component of a parent
643 Component element or as a Composition element.
644 - Sensor, due to its uniqueness, has been redefined as a piece of equipment
645 with the ability to be represented as a Lower Level component of a parent Com-
646 ponent element (See Section 9.1 - Sensor for further detail).
647 - Stock has been redefined as a Lower Level component of the Resources
648 Top Level Component element.
649 The common relationship between the Top Level Component elements and the Lower
650 Level child Component elements are described below. It should be noted that as the MT-
651 Connect Standard evolves, more Component types will be added to organize information
652 for new types of equipment and/or new physical or logical sub-parts of equipment.
654 Axes is a top-level Component that organizes information representing linear or rota-
655 tional motion for a piece of equipment. The Linear axis Component represents linear
656 motion, and the Rotary axis Component represents rotational motion.
657 In robotics, the term Axis is synonymous with Joint. A Joint is the connection between
658 two parts of the structure that move in relation to each other.
659 Linear and Rotary components MUST have a name atribute that MUST follow the
660 conventions described below. Use the nativeName attribute for the manufacturer’s
661 name of the axis if it differs from the assigned name.
662 MTConnect has two high-level classes for automation equipment as follows: (1) Equip-
663 ment that controls cartesian coordinate axes and (2) Equipment that controls articulated
664 axes. There are ambiguous cases where some machines exhibit both characteristics; when
665 this occurs, the primary control system’s configuration determines the classification.
666 Examples of cartesian coordinate equipment are CNC Machine Tools, Coordinate mea-
667 surement machines, as specified in ISO 841, and 3D Printers. Examples of articulated
668 automation equipment are Robotic systems as specified in ISO 8373.
669 The following sections define the designation of names for the axes and additional guid-
670 ance when selecting the correct scheme to use for a given piece of equipment.
672 A Three-Dimensional Cartesian Coordinate control system organizes its axes orthogonally
673 relative to a machine coordinate system where the manufacturer of the equipment specifies
674 the origin.
677 A piece of equipment MUST represent prismatic motion using a Linear axis Compo-
678 nent and assign its name using the designations X, Y, and Z. A Linear axis name
679 MUST append a monotonically increasing suffix when there are more than one parallel
680 axes; for example, X2, X3, and X4.
682 MTConnect MUST assign the name to Rotary axes exhibiting rotary motion using A,
683 B, and C. A Rotary axis name MUST append a monotonically increasing suffix when
684 more than one Rotary axis rotates around the same Linear axis; for example, A2, A3,
685 and A4.
687 An articulated control system’s axes represent the connecting linkages between two ad-
688 jacent rigid members of an assembly. The Linear axis represents prismatic motion,
689 and the Rotary axis represents the rotational motion of the two related members. The
690 control organizes the axes in a kinematic chain from the mounting surface (base) to the
691 end-effector or tooling.
693 The axes of articulated machines represent forward kinematic relationships between me-
694 chanical linkages. Each axis is a connection between linkages, also referred to as joints,
695 and MUST be named using a J followed by a monotonically increasing number; for ex-
696 ample, J1, J2, J3. The numbering starts at the base axis connected or closest to the
697 mounting surface, J1, incrementing to the mechanical interface, Jn, where n is the num-
698 ber of the last axis. The chain forms a parent-child relationship with the parent being the
699 axis closest to the base.
700 A machine having an axis with more than one child MUST number each branch using its
701 numeric designation followed by a branch number and a monotonically increasing number.
702 For example, if J2 has two children, the first child branch MUST be named J2.1.1 and
703 the second child branch J2.2.1. A child of the first branch MUST be named J2.1.2,
704 incrementing to J2.1.n, where J2.1.n is the number of the last axis in that branch.
710 Controller is a Top Level container that organizes information for an intelligent part
711 of a piece of equipment that monitors and calculates information to alter the operating
712 conditions of the equipment. Typical types of controllers for a piece of equipment include
713 CNC (Computer Numerical Control), PAC (Programmable Automation Control), IPC (In-
714 dustrialized Computer), or IC (Imbedded Computer).
715 Controller is a component that organizes and provides information regarding the exe-
716 cution of a control program(s), the mode of operation of the piece of equipment, and fault
717 information regarding the operation of the equipment.
718 Note: MTConnect Version 1.1.0 and later implementations SHOULD use a Lower
719 Level Component element called Path to represent an individual tool path or
720 other independent function within a Controller element. When the Con-
721 troller element is capable of executing more than one simultaneous and in-
722 dependent programs, the implementation MUST specify a Lower Level Path
723 element representing each of the independent functions of the Controller.
725 Path is an XML container that represents the information for an independent operation
726 or function within a Controller. For many types of equipment, Path represents a set
727 of Axes, one or more Program elements, and the data associated with the motion of a
728 control point as it moves through space. However, it MAY also represent any independent
729 function within a Controller that has unique data associated with that function.
730 Path SHOULD provide an EXECUTION data item to define the operational state of the
731 Controller component of the piece of equipment.
732 If the Controller is capable of performing more than one independent operation or
733 function simultaneously, a separate Path component MUST be used to organize the data
734 associated with each independent operation or function.
736 Systems is a Top Level XML container that provides structure for the information de-
737 scribing one or more Lower Level functional systems that perform as discrete operating
738 modules of the equipment or provide utility type services to support the operation of the
739 equipment. These systems are required for the piece of equipment to perform its intended
740 function and are permanently integrated into the piece of equipment.
741 Since these systems operate as separate functional units, they are represented in the MT-
742 ConnectDevices XML document as individual Lower Level Component elements
743 of Systems based on the function or service provided.
745 Hydraulic is an XML container that represents the information for a system comprised
746 of all the parts involved in moving and distributing pressurized liquid throughout the piece
747 of equipment.
749 Pneumatic is an XML container that represents the information for a system comprised
750 of all the parts involved in moving and distributing pressurized gas throughout the piece
751 of equipment.
753 Coolant is an XML container that represents the information for a system comprised
754 of all the parts involved in distribution and management of fluids that remove heat from a
755 piece of equipment.
757 Lubrication is an XML container that represents the information for a system com-
758 prised of all the parts involved in distribution and management of fluids used to lubricate
759 portions of the piece of equipment.
761 Electric is an XML container that represents the information for the main power sup-
762 ply for device piece of equipment and the distribution of that power throughout the equip-
763 ment. The electric system will provide all the data with regard to electric current, voltage,
764 frequency, etc. that applies to the piece of equipment as a functional unit. Data regarding
765 electric power that is specific to a Component will be reported as Data Entities for that
766 specific Component.
768 Enclosure is an XML container that represents the information for a structure used to
769 contain or isolate a piece of equipment or area. The Enclosure system may provide
770 information regarding access to the internal components of a piece of equipment or the
771 conditions within the enclosure. For example, Door may be defined as a Lower Level
772 Component or Composition element of the Enclosure system.
774 Protective is an XML container that represents the information for those functions
775 that detect or prevent harm or damage to equipment or personnel. Protective does not
776 include the information relating to the Enclosure system.
778 ProcessPower is an XML container that represents the information for a power source
779 associated with a piece of equipment that supplies energy to the manufacturing process
780 separate from the Electric system. For example, this could be the power source for an
781 EDM machining process, an electroplating line, or a welding system.
783 Feeder is an XML container that represents the information for a system that manages
784 the delivery of materials within a piece of equipment. For example, this could describe
785 the wire delivery system for an EDM or welding process; conveying system or pump and
786 valve system distributing material to a blending station; or a fuel delivery system feeding
787 a furnace.
789 Dielectric is an XML container that represents the information for a system that man-
790 ages a chemical mixture used in a manufacturing process being performed at that piece of
791 equipment. For example, this could describe the dielectric system for an EDM process or
792 the chemical bath used in a plating process.
794 EndEffector is an XML container that represents the information for those functions
795 that form the last link segment of a piece of equipment. It is the part of a piece of equipment
796 that interacts with the manufacturing process.
798 WorkEnvelope organizes information about the physical process execution space within
799 a piece of equipment. The WorkEnvelope MAY provide information regarding the
800 physical workspace and the conditions within that workspace.
802 Auxiliaries is a Top Level XML container that provides structure for the information
803 describing one or more Lower Level functional systems that provide supplementary or
804 additional capabilities for the operation of a piece of equipment. These systems extend the
805 capabilities of a piece of equipment, but are not required for the equipment to function.
806 Since these systems operate as independent units or are only temporarily associated with a
807 piece of equipment, they are represented in the MTConnectDevices XML document as
808 individual Lower Level Component elements of Auxiliaries based on the function
809 or service provided to the equipment.
811 Loader is an XML container that represents the information for a unit comprised of all
812 the parts involved in moving and distributing materials, parts, tooling, and other items to
813 or from a piece of equipment.
815 WasteDisposal is an XML container that represents the information for a unit com-
816 prised of all the parts involved in removing manufacturing byproducts from a piece of
817 equipment.
819 ToolingDelivery is an XML container that represents the information for a unit in-
820 volved in managing, positioning, storing, and delivering tooling within a piece of equip-
821 ment.
823 BarFeeder is an XML container that represents the information for a unit involved in
824 delivering bar stock to a piece of equipment.
826 Environmental is an XML container that represents the information for a unit or func-
827 tion involved in monitoring, managing, or conditioning the environment around or within
828 a piece of equipment.
830 Sensor is a XML container that represents the information for a piece of equipment that
831 responds to a physical stimulus and transmits a resulting impulse or value from a sensing
832 unit. When modeled as a component of Auxiliaries, sensor SHOULD represent an
833 integrated sensor unit system that provides signal processing, conversion, and communi-
834 cations. A sensor unit may have multiple sensing elements; each representing the data for
835 a variety of measured values. See Section 9.1.2 - Sensor Unit for more details on sensor
836 unit.
837 Note: If modeling an individual sensor, then sensor should be associated with the
838 component that the measured value is most closely associated. See Section 5.7.3
839 - Sensor.
841 Deposition is an XML container that represents the information for a system that man-
842 ages the addition of material or state change of material being performed in an additive
843 manufacturing process. For example, this could describe the portion of a piece of equip-
844 ment that manages a material extrusion process or a vat polymerization process.
846 Resources is a Top Level XML container that groups items that support the operation
847 of a piece of equipment. Resources also represents materials or other items consumed,
848 transformed, or used for production of parts, materials, or other types of goods by a piece
849 of equipment.
851 Materials is an XML container that provides information about materials or other items
852 consumed or used by the piece of equipment for production of parts, materials, or other
853 types of goods. Materials also represents parts or part stock that are present at a piece
854 of equipment or location to which work is applied to transform the part or stock material
855 into a more finished state.
857 Stock is an XML container that represents the information for the material that is used in
858 a manufacturing process and to which work is applied in a machine or piece of equipment
859 to produce parts.
860 Stock may be either a continuous piece of material from which multiple parts may be
861 produced or it may be a discrete piece of material that will be made into a part or a set of
862 parts.
864 Personnel is an XML container that provides information about an individual or indi-
865 viduals who either control, support, or otherwise interface with a piece of equipment.
872 See MTConnect Standard: Part 5.0 - Interfaces for detailed information on Inter-
873 faces.
875 While most component elements SHOULD be modeled in a specific manner, there are
876 some types of component elements that are used ubiquitously in equipment and MAY be
877 associated with any number of different types of parent component elements.
878 These components MAY be modeled as Lower Level components of the Parent Element.
880 Actuator is an XML container that represents the information for an apparatus for mov-
881 ing or controlling a mechanism or system. It takes energy usually provided by air, electric
882 current, or liquid and converts the energy into some kind of motion.
884 Door is an XML container that represents the information for a mechanical mechanism or
885 closure that can cover, for example, a physical access portal into a piece of equipment. The
886 closure can be opened or closed to allow or restrict access to other parts of the equipment.
887 When Door is represented as a Component, it MUST have a data item called DOOR_-
888 STATE to indicate if the door is OPEN, CLOSED, or UNLATCHED. A Component MAY
889 contain multiple Door components.
891 Sensor is a XML container that represents the information for a piece of equipment that
892 responds to a physical stimulus and transmits a resulting impulse or value. If modeling
893 individual sensors, then sensor should be associated with the component that the measured
894 value is most closely associated.
895 See Section 9.1 - Sensor for more details on the use of Sensor.
897 Composition Structural Elements are used to describe the lowest level physical build-
898 ing blocks of a piece of equipment contained within a Component. By referencing a spe-
899 cific Composition element, further clarification and meaning to data associated with a
900 specific Component can be achieved.
901 Both Component and Composition elements are Lower Level child Component
902 XML elements representing the sub-parts of the parent Component. However, there are
903 distinct differences between Component and Composition type elements.
904 Component elements may be further defined with Lower Level Component elements
905 and may have associated Data Entities.
906 Composition elements represent the lowest level physical part of a piece of equipment.
907 They MUST NOT be further defined with Lower Level Component elements and they
908 MUST NOT have Data Entities directly associated with them. They do provide additional
909 information that can be used to enhance the specificity of Data Entities associated with the
910 parent Component.
911 Table 17 defines Composition type elements that are currently available to describe
912 sub-parts of a Component element.
Continuation of Table 17
Element Type Description
BRAKE A mechanism for slowing or stopping a moving
object by the absorption or transfer of the
energy of momentum, usually by means of
friction, electrical force, or magnetic force.
CHAIN An interconnected series of objects that band
together and are used to transmit motion for a
piece of equipment or to convey materials and
objects.
CHOPPER A mechanism used to break material into
smaller pieces.
CHUCK A mechanism that holds a part, stock material,
or any other item in place.
CHUTE An inclined channel for conveying material.
CIRCUIT_BREAKER A mechanism for interrupting an electric circuit.
CLAMP A mechanism used to strengthen, support, or
fasten objects in place.
COMPRESSOR A pump or other mechanism for reducing
volume and increasing pressure of gases in
order to condense the gases to drive
pneumatically powered pieces of equipment.
DOOR A mechanical mechanism or closure that can
cover a physical access portal into a piece of
equipment allowing or restricting access to
other parts of the equipment.
DRAIN A mechanism that allows material to flow for
the purpose of drainage from, for example, a
vessel or tank.
ENCODER A mechanism to measure position.
EXPOSURE_UNIT A mechanism for emitting a type of radiation
EXTRUSION_UNIT A mechanism for dispensing liquid or powered
materials
FAN Any mechanism for producing a current of air.
Continuation of Table 17
Element Type Description
FILTER Any substance or structure through which
liquids or gases are passed to remove suspended
impurities or to recover solids.
GALVANOMOTOR An electromechanical actuator that produces
deflection of a beam of light or energy in
response to electric current through its coil in a
magnetic field.
GRIPPER A mechanism that holds a part, stock material,
or any other item in place.
HOPPER A chamber or bin in which materials are stored
temporarily, typically being filled through the
top and dispensed through the bottom.
LINEAR_POSITION_FEEDBACK A mechanism that measures linear motion or
position.
DEPRECATION WARNING : May be
deprecated in the future. Recommend using
ENCODER.
MOTOR A mechanism that converts electrical,
pneumatic, or hydraulic energy into mechanical
energy.
OIL A viscous liquid.
POWER_SUPPLY A unit that provides power to electric
mechanisms.
PULLEY A mechanism or wheel that turns in a frame or
block and serves to change the direction of or to
transmit force.
PUMP An apparatus raising, driving, exhausting, or
compressing fluids or gases by means of a
piston, plunger, or set of rotating vanes.
REEL A rotary storage unit for material
SENSING_ELEMENT A mechanism that provides a signal or
measured value.
Continuation of Table 17
Element Type Description
SPREADER A mechanism for flattening or spreading
materials
STORAGE_BATTERY A component consisting of one or more cells, in
which chemical energy is converted into
electricity and used as a source of power.
SWITCH A mechanism for turning on or off an electric
current or for making or breaking a circuit.
TABLE A surface for holding an object or material
TANK A receptacle or container for holding material.
TENSIONER A mechanism that provides or applies a stretch
or strain to another mechanism.
TRANSFORMER A mechanism that transforms electric energy
from a source to a secondary circuit.
VALVE Any mechanism for halting or controlling the
flow of a liquid, gas, or other material through a
passage, pipe, inlet, or outlet.
VAT A container for liquid or powdered materials
WATER A fluid.
WIRE A string like piece or filament of relatively rigid
or flexible material provided in a variety of
diameters.
WORKPIECE An object or material on which a form of work
is performed.
913 Note: As the MTConnect Standard evolves, more Composition types will be
914 added.
916 In the MTConnectDevices XML document, Data Entities are XML elements that de-
917 scribe data that can be reported by a piece of equipment and are associated with Device
918 and Component Structural Elements. While the Data Entities describe the data that can
919 be reported by a piece of equipment in the MTConnectDevices document, the actual
920 data values are provided in the Streams Information Model. See MTConnect Standard:
921 Part 3.0 - Streams Information Model for detail on the reported values.
922 Each Data Entity SHOULD be modeled in the MTConnectDevices document such
923 that it is associated with the Structural Element that the reported data directly applies.
924 When Data Entities are associated with a Structural Element, they are organized in a
925 DataItems XML element. DataItems is a container type XML element. DataItems
926 provides the structure for organizing individual DataItem elements that represent each
927 Data Entity. The DataItems container is comprised of one or more DataItem type
928 XML element(s).
929 DataItem describes specific types of Data Entities that represent a numeric value, a
930 functioning state, or a health status reported by a piece of equipment. DataItem provides
931 a detailed description for each Data Entity that is reported; it defines the type of data being
932 reported and an array of optional attributes that further describe that data. The different
933 types of DataItem elements are defined in Section 8 - Listing of Data Items.
934 Figure 11 demonstrates the relationship between Data Entities (DataItem) and the var-
935 ious Structural Elements in the MTConnectDevices XML document.
937 The DataItems XML element is the first, or highest, level container for the Data Entities
938 associated with a Device or Component XML element. DataItems MUST contain
939 only DataItem type elements. DataItems MUST contain at least one DataItem
940 type element, but MAY contain multiple DataItem type elements.
942 A DataItem XML element represents each Data Entity that MAY be reported by a piece
943 of equipment through an Agent. DataItem provides a detailed description for each Data
944 Entity that is reported and defines the type of data being reported along with an array of
945 optional attributes that further define that data. XML elements representing DataItem
946 will include elements such as TEMPERATURE, PRESSURE, and VELOCITY.
Table 19: MTConnect DataItem Element
948 Figure 12 represents the structure of a DataItem XML element showing the attributes
949 defined for DataItem and the elements that may be associated with DataItem type
950 XML elements.
952 Table 20 lists the attributes defined to provide information for a DataItem type XML
953 element.
954 DataItem MUST specify the type of data being reported, the id of the DataItem, and
955 the category of the DataItem.
Table 20: Attributes for DataItem
Continuation of Table 20
Attribute Description Occurrence
subType A sub-categorization of the data item 0..1
type.
subType is an optional attribute.
For example, the subType of
POSITION can be ACTUAL or
COMMANDED.
Not all type attributes have a
subType.
statistic Describes the type of statistical 0..1
calculation performed on a series of
data samples to provide the reported
data value.
statistic is an optional attribute.
Examples of statistic are
AVERAGE, MINIMUM, MAXIMUM,
ROOT_MEAN_SQUARE, RANGE,
MEDIAN, MODE, and
STANDARD_DEVIATION.
units The unit of measurement for the 0..1
reported value of the data item.
units is an optional attribute.
Data items in the Sample category
MUST report the standard units for the
measured values.
See Section 7.2.2.5 - units Attribute for
DataItem for a list of available standard
units identified in the MTConnect
Standard.
Continuation of Table 20
Attribute Description Occurrence
nativeUnits The native units of measurement for the 0..1
reported value of the data item.
nativeUnits is an optional attribute.
See Section 7.2.2.6 - nativeUnits
Attribute for DataItem for a list of
available native units identified in the
MTConnect Standard.
nativeScale The nativeUnits may not be scaled 0..1
to directly represent the original
measured value. nativeScale MAY
be used to convert the reported value to
represent the original measured value.
nativeScale is an optional attribute.
As an example, the nativeUnits
may be reported as GALLON/MINUTE.
The measured value may actually be in
1000 GALLON/MINUTE. The value of
the reported data MAY be divided by
the nativeScale to convert the
reported value to its original measured
value and units.
If provided, the value MUST be
numeric.
category Specifies the kind of information 1
provided by a data item.
category is a required attribute.
The available options are Sample,
Event, or Condition.
Continuation of Table 20
Attribute Description Occurrence
coordinateSystem For measured values relative to a 0..1
coordinate system like POSITION, the
coordinate system being used may be
reported.
coordinateSystem is an optional
attribute.
The available values for
coordinateSystem are WORK and
MACHINE.
compositionId The identifier attribute of the 0..1
Composition element that the
reported data is most closely associated.
compositionId is an optional
attribute.
sampleRate The rate at which successive samples of 0..1
a data item are recorded by a piece of
equipment.
sampleRate is an optional attribute.
sampleRate is expressed in terms of
samples per second.
If the sampleRate 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
Continuation of Table 20
Attribute Description Occurrence
representation Description of a means to interpret data 0..1
consisting of multiple data points or as
a single value.
representation is an optional
attribute.
representation defines the unique
format for each set of data.
representation for
TIME_SERIES, DISCRETE
(DEPRECATED in Version 1.5),
DATA_SET, TABLE, and VALUE are
defined in Section 7.2.2.12 -
representation Attribute for DataItem.
If representation is not specified,
it MUST be determined to be VALUE.
significantDigits The number of significant digits in the 0..1
reported value.
significantDigits is an optional
attribute.
This SHOULD be specified for all
numeric values.
Continuation of Table 20
Attribute Description Occurrence
discrete An indication signifying whether each 0..1
value reported for the Data Entity is
significant and whether duplicate values
are to be suppressed.
The value defined MUST be either
true or false - an XML boolean
type.
true indicates that each update to the
Data Entity’s value is significant and
duplicate values MUST NOT be
suppressed.
false indicates that duplicated values
MUST be suppressed.
If a value is not defined for discrete,
the default value MUST be false.
coordinateSystemIdRef The associated CoordinateSystem 0..1
context for the DataItem.
957 The attribute name is provided as an additional human readable identifier for a data item.
958 It is not required and is implementation dependent.
960 Each DataItem element MUST be identified with an id. The id attribute MUST be
961 unique across the entire MTConnectDevices document for a piece of equipment, in-
962 cluding the identifiers for all Structural Elements. This unique id provides the information
963 required by a client software application to uniquely identify each Data Entity.
964 For example, an XML document may provide three different Data Entities representing
965 the position of the axes on a machine (x axis position, y axis position, and z axis position).
966 All three may be modeled in the XML document as POSITION type data items for the
967 Axes components. The unique id allows the client software application to distinguish
968 the data for each of the axes.
970 The attribute type specifies the kind of data that is represented by the data item.
971 The attribute type MUST be specified for every data item.
972 A data item MAY further qualify the data being reported by specifying a subType.
973 subType is required for certain data item types. For example, POSITION has the
974 subType of ACTUAL and PROGRAMMED. Both data values can be represented in the
975 document as two separate and different DataItem XML elements – POSITION with
976 subType ACTUAL and POSITION with subType PROGRAMMED.
977 The type and subType SHOULD be used to further identify the meaning of the DataItem
978 associated with a Component element when a subType is applicable. There SHOULD
979 NOT be more than one DataItem with the same type, subType, and composi-
980 tionId within a Component element.
981 Section 8 - Listing of Data Items provides a detailed listing of the data item type and
982 subType elements defined for each category of data item available for a piece of
983 equipment: SAMPLE, EVENT, and CONDITION.
985 A piece of equipment may further process some data types using a statistical calculation
986 like average, mean, or square root. In this case, the statistic attribute MAY be used
987 to indicate how the data was processed.
988 statistic may be defined for any SAMPLE type DataItem. All statistic data is re-
989 ported in the standard units of the DataItem.
990 statistic data is always the result of a calculation using data that has been measured
991 over a specified period of time.
992 The value of statistic may be periodically reset. When a piece of equipment reports
993 a DataItem with a value that is a statistic, the information provided in the XML
994 document for that Data Entity MUST include an additional attribute called duration.
995 The attribute duration defines the period of time over which the statistic has been
996 calculated. See MTConnect Standard: Part 3.0 - Streams Information Model for more
997 information about duration.
998 Table 21 shows the statistic calculations that can be defined for a DataItem.
Statistic Description
AVERAGE Mathematical Average value calculated for the data item
during the calculation period.
KURTOSIS DEPRECATED in Version 1.6. 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 data item
during the calculation period.
MEDIAN The middle number of a series of numbers.
MINIMUM Minimum value recorded for the data item 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 data item during the calculation period. Also represents
Peak-to-Peak measurement in a waveform.
ROOT_MEAN_SQUARE Mathematical Root Mean Square (RMS) value calculated
for the data item during the calculation period.
STANDARD_DEVIATION Statistical Standard Deviation value calculated for the
data item during the calculation period.
1000 Table 22 lists the units that are defined as the standard unit of measure for each type of
1001 DataItem. All SAMPLE type data items MUST report data values in standard units.
Units Description
AMPERE Amps
CELSIUS Degrees Celsius
COUNT A count of something.
CUBIC_MILLIMETER Geometric volume in millimeters
CUBIC_MILLIMETER/SECOND Change of geometric volume per second
CUBIC_MILLIMETER/SECOND2 Change in geometric volume per second
squared
DECIBEL Sound Level
DEGREE Angle in degrees
DEGREE/SECOND Angular degrees per second
DEGREE/SECOND2 Angular acceleration in degrees per second
squared
DEGREE_3D A space-delimited, floating-point
representation of the angular rotation in
degrees around the X, Y, and Z axes relative
to a cartesian coordinate system respectively
in order as A, B, and C. If any of the
rotations is not known, it MUST be zero (0).
GRAM/CUBIC_METER Gram per cubic meter.
HERTZ Frequency measured in cycles per second
JOULE A measurement of energy.
KILOGRAM Kilograms
LITER Measurement of volume of a fluid
LITER/SECOND Liters per second
MICRO_RADIAN Measurement of Tilt
Continuation of Table 22
Units Description
MILLIGRAM Milligram
MILLIGRAM/CUBIC_MILLIMETER Milligram per cubic millimeter
MILLILITER Milliliter
MILLIMETER Millimeters
MILLIMETER/REVOLUTION Millimeters per revolution.
MILLIMETER/SECOND Millimeters per second
MILLIMETER/SECOND2 Acceleration in millimeters per second
squared
MILLIMETER_3D A point in space identified by X, Y, and Z
positions and represented by a
space-delimited set of numbers each
expressed in millimeters.
NEWTON Force in Newtons
NEWTON_METER Torque, a unit for force times distance.
OHM Measure of Electrical Resistance
PASCAL Pressure in Newtons per square meter
PASCAL_SECOND Measurement of Viscosity
PERCENT Percentage
PH A measure of the acidity or alkalinity of a
solution.
REVOLUTION/MINUTE Revolutions per minute
REVOLUTION/SECOND Revolutions per second.
REVOLUTION/SECOND2 Revolutions per second squared.
SECOND A measurement of time.
SIEMENS/METER A measurement of Electrical Conductivity
VOLT Volts
VOLT_AMPERE Volt-Ampere (VA)
VOLT_AMPERE_REACTIVE Volt-Ampere Reactive (VAR)
WATT Watts
Continuation of Table 22
Units Description
WATT_SECOND Measurement of electrical energy, equal to
one Joule
1003 The DataItem MAY specify the engineering units used by the information source using
1004 the optional attribute nativeUnits. The nativeUnits are inclusive of the engi-
1005 neering units for the units attribute (See Table 22). One MAY use a prefixed value,
1006 for example nativeUnits="x:MILE", to extend the Controlled Vocabulary with a
1007 namespace.
1008 MTConnect specifies the following Controlled Vocabulary for nativeUnits in Ta-
1009 ble 23:
Table 23: DataItem attribute nativeunits type
Continuation of Table 23
Native Units Description
INCH/SECOND2 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.
KELVIN A measurement of temperature
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
MINUTE A measurement of time in minutes
OTHER Unsupported units
POUND US pounds
POUND/INCH2 Pressure in pounds per square inch (PSI).
RADIAN Angle in radians
RADIAN/MINUTE Velocity in radians per minute.
RADIAN/SECOND Rotational acceleration in radian per second squared
RADIAN/SECOND2 Rotational acceleration in radian per second squared
REVOLUTION/SECOND Rotational velocity in revolution per second
1011 The units of measure for some measured values may be different from the nativeUnits
1012 defined in Section 7.2.2.8 - category Attribute for DataItem. In the cases where the units
1013 of measure use a different weighting or range than is provided by nativeUnits, the
1014 nativeScale attribute can be used to define the original units of measure.
1015 As an example, a velocity measured in units of 100 ft/min can be represented as native-
1016 Units="FEET/MINUTE" and nativeScale="100".
1018 Many DataItem types provide two forms of data, a value (reported as either a SAMPLE
1019 or EVENT category) and a health status (reported as a CONDITION category). Therefore,
1020 each occurrence of a DataItem in the XML document MUST report a category at-
1021 tribute. This category attribute provides the information required by a client software
1022 application to determine the specific meaning of the data provided.
1023 Each Data Entity provided by a piece of equipment MUST be identified with one of the
1024 following: SAMPLE, EVENT, CONDITION.
1025 A SAMPLE is the reading of the value of a continuously variable or analog data value. A
1026 continuous value can be measured at any point-in-time and will always produce a result.
1027 An example of a continuous data value is the position of a linear axis called X.
1028 The data provided for a SAMPLE category data item is always a floating point number
1029 or integers that have an infinite number of possible values. This is different from a state
1030 or discrete type data item that has a limited number of possible values. A data item of
1031 category SAMPLE MUST also provide the units attribute.
1032 An EVENT is a data item representing a discrete piece of information from the piece of
1033 equipment. EVENT does not have intermediate values that vary over time, as does SAM-
1034 PLE. An EVENT is information that, when provided at any specific point in time, repre-
1035 sents the current state of the piece of equipment.
1036 There are two types of EVENT: those representing state, with two or more discrete values,
1037 and those representing messages that contain plain text data.
1038 An example of a state type EVENT is the value of the data item DOOR_STATE, which
1039 can be OPEN, CLOSED, or UNLATCHED. (Note: No other values are valid to represent the
1040 value of DOOR_STATE.)
1041 An example of a message type EVENT is the value for a data item PROGRAM. The value
1042 representing PROGRAM can be any valid string of characters.
1043 A CONDITION is a data item that communicates information about the health of a piece
1044 of equipment and its ability to function. A valid value for a data item in the category
1045 CONDITION can be one of Normal, Warning, or Fault.
1046 A data item of category CONDITION MAY report multiple values (CONDITION) at one
1047 time whereas a data item of category SAMPLE or EVENT can only have a single value at
1048 any one point in time.
1050 The values reported by a piece of equipment for some types of data will be associated
1051 to a specific positioning measurement system used by the equipment. The coordi-
1052 nateSystem attribute MAY be used to specify the coordinate system used for the mea-
1053 sured value.
1056 If coordinateSystem is not provided, all values representing positional data for Axes
1057 MUST be interpreted using the MACHINE coordinate system and all values representing
1058 positional data for Path MUST be interpreted using the WORK coordinate system.
1059 Table 24 defines the types of coordinateSystem currently supported by the MTCon-
1060 nectDevices XML document:
Table 24: DataItem attribute coordinateSystem type
1062 compositionId attribute identifies the id of the Composition element where the
1063 reported data is most closely associated.
1064 An example would be a TEMPERATURE associated with a Linear type axis may be
1065 further clarified by referencing the MOTOR or AMPLIFIER type Composition element
1066 associated with that axis, which differentiates the temperature of the motor from the tem-
1067 perature of the amplifier.
1068 The compositionId attribute provides the information required by a client software
1069 application to interpret the data with a greater specificity and to disambiguate between
1070 multiple Data Entities of the same data type associated with a Component element.
1072 The value for some data types provided by a piece of equipment may be reported as a
1073 single set of data containing a series of values that have been recorded at a fixed sample
1074 rate. When such data is reported, the sampleRate defines the rate at which successive
1075 samples of data were recorded.
1076 The sampleRate attribute provides the information required by a client software appli-
1077 cation to interpret the data and the sampling time relationship between successive values
1078 contained in the set of data.
1079 sampleRate is expressed in terms of samples per second. If the sample rate is smaller
1080 than one, the number can be represented as a floating point number. For example, a rate 1
1081 per 10 seconds would be 0.1
1083 Some data types provide data that may consist of a series of values or a file of data, not a
1084 single value. Other data types provide a series of data values that may require additional
1085 information so that the data may be correctly understood by a client software application.
1086 When such data is provided, the representation attribute MUST be used to define
1087 the format for the data provided.
1089 Note: See MTConnect Standard: Part 3.0 - Streams Information Model for more
1090 information on the structure and format of each representation.
Table 25: DataItem attribute representation type
Representation Description
DATA_SET The reported value(s) are represented as a set of
key-value pairs.
Each reported value in the Data Set MUST have a
unique key.
Continuation of Table 25
Representation Description
DISCRETE
DEPRECATED in Version 1.5 DEPRECATED as a representation in
MTConnect Version. 1.5. Replaced by the
discrete attribute for a Data Entity –
Section 7.2.2.14 - discrete Attribute for DataItem.
A Data Entity where each discrete occurrence of the
data may have the same value as the previous
occurrence of the data. There is no reported state
change between occurrences of the data.
In this case, duplicate occurrences of the same data
value SHOULD NOT be suppressed.
An example of a DISCRETE data type would be a
parts counter that reports the completion of each part
versus the accumulation of parts. Another example
would be a Message that does not typically have a
reset state and may re-occur each time a specific
message is triggered.
TIME_SERIES A series of sampled data.
The data is reported for a specified number of
samples and each sample is reported with a fixed
period.
VALUE The measured value of the sample data.
If no representation is specified for a data item, the
representation MUST be determined to be VALUE.
Continuation of Table 25
Representation Description
TABLE A Table is a two dimensional set of key-value pairs
where the Entry represents a row, and the value is
a set of key-value pair Cell elements. The Table
follows the same behavior as the Data Set for
change tracking, clearing, and history. When an
Entry changes, all Cell elements update as a
single unit following the behavior of a Data Set.
Note: It is best to use the VARIABLE DataItem
type if the Cell elements represent multiple
semantic types.
Each Entry in the Table MUST have a unique
key. Each Cell of each Entry in the Table
MUST have a unique key.
See Section 5.6.5 of MTConnect Standard: Part 3.0 -
Streams Information Model, for a description of
Entry and Cell elements.
1094 significantDigits attribute is not required for a data item, but it is recommended
1095 and SHOULD be used for any data item reporting a numeric value.
1097 An indication signifying whether each value reported for the Data Entity is significant and
1098 whether duplicate values are to be suppressed.
1099 The value defined MUST be either true or false - an XML boolean type.
1100 true indicates that each update to the Data Entity’s value is significant and duplicate
1101 values MUST NOT be suppressed.
1103 If a value is not defined for discrete, the default value MUST be false.
1105 Table 26 lists the elements defined to provide additional information for a DataItem
1106 type XML element.
Continuation of Table 26
Element Description Occurrence
ResetTrigger ResetTrigger is an optional XML element 0..1
that identifies the type of event that may cause a
reset to occur. It is additional information
regarding the meaning of the data that establishes
an understanding of the time frame that the data
represents so that the data may be correctly
understood by a client software application.
Definition The Definition defines the meaning of Entry 0..1
and Cell elements associated with the
DataItem when the representation is
either DATA_SET or TABLE.
1108 Source is an optional XML element that may be used to identify the physical part of a
1109 piece of equipment where the data represented by DataItem originated and/or it may be
1110 used to identify a complex name or an alternate name used to identify the data where it
1111 originated (e.g. a PLC tag name).
1112 As an example, data related to a servo motor on an Axes component may actually origi-
1113 nate from a measurement made in the Controller element.
1114 In the case where the real name associated with a DataItem element is either complex
1115 or does not meet the format requirements of a NMTOKEN XML type, the real name of
1116 the element may not be able to be expressed in the name attribute. Additionally, a second
1117 or alternate name may be required to describe a piece of data. An example of this case
1118 would be the identity of the bit address in a PLC that represents this piece of data (PLC
1119 address I0015.4). When these cases occur, the alternate name can be provided as the value
1120 for the CDATA for Source.
1121 The XML schema in Figure 13 represents the structure of the Source XML element
1122 showing the attributes defined for Source.
1124 Table 27 identifies the attributes available to identify Source for a measured value:
Continuation of Table 27
Attribute Description Occurrence
compositionId The identifier attribute of the Composition 0..1
element that represents the physical part of a
piece of equipment where the data represented by
the DataItem element originated.
A Valid Data Value reported for
compositionId MUST be the value of the
id attribute for the Composition element
identified.
compositionId is an optional attribute.
1127 For some types of DataItem elements, the expected value(s) for the data reported for the
1128 DataItem MAY be restricted to specific values or a range of values.
1129 Constraints is an optional XML element that provides a way to define the expected
1130 value(s) or the upper and lower limits for the range of values that are expected to be
1131 reported in response to a Current Request or Sample Request.
1132 Constraints are used by a software application to evaluate the validity of the data
1133 reported.
1134 The value associated with each Constraint element is reported in the CDATA for that
1135 element.
1137 The XML schema in Figure 14 represents the structure of the Constraints XML
1138 element and the elements defined for Constraints.
1139 Table 28 identifies the elements available to identify Constraints for a measured value:
Continuation of Table 28
Element Description Occurrence
Filter DEPRECATED in Version 1.4 – Moved to the 0..1 †
Filters element of a DataItem.
If the data reported for a DataItem is a numeric value, a
new value MUST NOT be reported if the change from
the last reported value is less than the delta given as the
CDATA of this element. Filter is an abstract type XML
element. As such, Filter will never appear in the XML
document, but will be replaced by a Filter type. The only
currently supported Filter type is MINIMUM_DELTA.
The CDATA MUST be an absolute value using the same
Units as the reported data. Additional filter types MAY
be supported in the future.
1142 Filters is an optional XML container that organizes the Filter elements for DataItem.
1145 Filter provides a means to control when an Agent records updated information for a
1146 data item. Currently, there are two types of Filter elements defined in the MTConnect
1147 Standard - MINIMUM_DELTA and PERIOD. More Filter types may be added in the
1148 future.
1149 The value associated with each Filter element is reported in the CDATA for that ele-
1150 ment.
1152 Table 30 describes the types of Filter defined for a DataItem element and the ex-
1153 pected behavior of an Agent when a Filter is applied to DataItem element.
Continuation of Table 30
type Description Occurrence
PERIOD For a PERIOD type Filter, the data reported 0..1 †
for a data item is provided on a periodic basis.
The PERIOD for reporting data is defined in the
CDATA for the Filter.
The CDATA MUST be an absolute value
reported in seconds representing the time
between reported samples of the value of the data
item.
If the PERIOD is smaller than one second, the
number can be represented as a floating point
number. For example, a PERIOD of 100
milliseconds would be 0.1.
1156 InitialValue is an XML element that defines the value to be set for the data item after
1157 a reset event.
1158 The value associated with the InitialValue element is reported in the CDATA for this
1159 element and MUST be an absolute value using the same units as the reported data.
1161 The value of some data types is periodically reset to the value of the InitialValue ele-
1162 ment. These reset events may be based upon a specific elapsed time or may be triggered by
1163 a physical or logical reset action that causes the reset to occur. ResetTrigger provides
1164 additional information regarding the meaning of the data – establishing an understanding
1165 of the time frame that the data represents so that the data may be correctly understood by
1166 a client software application.
1167 The reset action that MAY cause a reset to occur is provided in the CDATA for this ele-
1168 ment.
1169 The reset actions that may cause a reset to occur are described in Table 32.
Continuation of Table 32
Reset Actions Description
SHIFT The value of the Data Entity is to be reset at the end of a work
shift.
WEEK The value of the Data Entity is to be reset at the end of a
7-day period.
1171 Figure 16 represents the XML Schema structure for Definition element.
1172 The Definition provides additional descriptive information for any DataItem rep-
1173 resentations. When the representation is either DATA_SET or TABLE, it gives the
1174 specific meaning of a key and MAY provide a Description, type, and units for
1175 semantic interpretation of data.
1184 The key for the EntryDefinion MUST be unique for a given DataItem Defini-
1185 tion.
1192 When the representation is TABLE, the CellDefinition provides the De-
1193 scription and the units associated each Cell by key.
1194 The key for the CellDefinion MUST be unique for a given Definition or En-
1195 tryDefinition.
1199 In the MTConnect Standard, DataItem elements are defined and organized based upon
1200 the category and type attributes. The category attribute provides a high level
1201 grouping for DataItem elements based on the kind of information that is reported by
1202 the data item.
1204 • SAMPLE
1205 A SAMPLE reports a continuously variable or analog data value.
1206 • EVENT
1207 An EVENT reports information representing a functional state, with two or more
1208 discrete values, associated with a component or it contains a message. The data
1209 provided may be a numeric value or text.
1210 • CONDITION
1211 A CONDITION reports information about the health of a piece of equipment and its
1212 ability to function.
1213 The type attribute specifies the specific kind of data that is reported. For some types of
1214 data items, a subType attribute may also be used to differentiate between multiple data
1215 items of the same type where the information reported by the data item has a different,
1216 but related, meaning.
1217 Many types of data items provide two forms of data: a value (reported as either a SAMPLE
1218 or EVENT) and a health status (reported as a CONDITION). These DataItem types MAY
1219 be defined in more than one category based on the data that they report.
1221 The types of DataItem elements in the SAMPLE category report data representing a
1222 continuously changing or analog data value. This data can be measured at any point-in-
1223 time and will always produce a result. The data provided may be a scalar floating point
1224 number or integers that have an infinite number of possible values. The units attribute
1225 MUST be defined and reported for each DataItem in this category.
1226 Table 40 defines the types and subtypes of DataItem elements defined for the SAMPLE
1227 category. The subtypes are indented below their associated types.
1229 DataItem types in the EVENT category represent a discrete piece of information from a
1230 piece of equipment. EVENT does not have intermediate values that vary over time.
1231 An EVENT is information that, when provided at any specific point in time, represents the
1232 current state of the piece of equipment.
1233 There are two types of EVENT: those representing state, with two or more discrete values,
1234 and those representing messages that contain plain text data.
1235 Table 41 defines the DataItem types and subtypes defined for the EVENT category. The
1236 subtypes are indented below their associated types.
1238 CONDITION category data items report data representing a Structural Element’s status
1239 regarding its ability to operate or it provides an indication whether the data reported for
1240 the Structural Element is within an expected range.
1243 All DataItem types in the SAMPLE category MAY have associated CONDITION states.
1244 CONDITION states indicate whether the value for the data is within an expected range and
1245 MUST be reported as Normal, or the value is unexpected or out of tolerance for the data
1246 and a Warning or Fault MUST be provided.
1247 Some DataItem types in the EVENT category MAY have associated CONDITION states.
1248 Additional CONDITION types are provided to represent the health and fault status of
1249 Structural Elements. Table 42 defines these additional DataItem types.
1250 CONDITION type data items are unlike other data item types since they MAY have mul-
1251 tiple concurrently active values at any point in time.
Continuation of Table 42
DataItem type Description
INTERFACE_STATE An indication of the operation condition of an Interface
component.
LOGIC_PROGRAM An indication that an error occurred in the logic program or
programmable logic controller (PLC) associated with a piece
of equipment.
MOTION_PROGRAM An indication that an error occurred in the motion program
associated with a piece of equipment.
SYSTEM An indication of a fault associated with a piece of equipment
or component that cannot be classified as a specific type.
1252 9 Configuration
1253 Configuration contains technical information about a component describing its phys-
1254 ical layout, functional characteristics, and relationships with other components within a
1255 piece of equipment.
type Description
CoordinateSystems CoordinateSystems organizes
CoordinateSystem elements for a Component
and its children.
Relationships Relationships organizes Relationship
elements for a Component.
Continuation of Table 43
type Description
SensorConfiguration SensorConfiguration contains configuration
information about a Sensor.
Specifications Specifications organizes Specification
elements for a Component.
1261 The sensor unit is modeled as a Lower Level Component called Sensor. The sensing
1262 element may be modeled as a Composition element of a Sensor element and the mea-
1263 sured value would be modeled as a DataItem (See Section 8 - Listing of Data Items for
1264 more information on DataItem elements). Each sensor unit may have multiple sensing
1265 elements; each representing the data for a variety of measured values.
1269 While a Sensor may be modeled in the XML document in different ways, it will always be
1270 modeled to associate the information measured by each sensor element with the Structural
1271 Element to which the measured value is most closely associated.
1273 The most basic implementation of a sensor occurs when the sensing element itself is not
1274 identified in the data model, but the data that is measured by the sensing element is pro-
1275 vided as a data item associated with a Component. An example would be the measured
1276 value of the temperature of a spindle motor. This would be represented as a DataItem
1277 called TEMPERATURE that is associated with the Rotary type axis element called "C"
1278 as shown in Example 7:
Example 7: Example of Sensing Element provided as data item associated with a Com-
ponent
1279 1 <Components>
1280 2 <Axes
1281 3 <Components>
1282 4 <Rotary id="c" name="C">
1283 5 <DataItems>
1284 6 <DataItem type="TEMPERATURE"
1285 7 id="ctemp" category="SAMPLE"
1286 8 name="Stemp" units="DEGREE"/>
1287 9 </DataItems>
1288 10 </Rotary>
1289 11 </Components>
1290 12 </Axes>
1291 13 </Components>
1292 A sensor may measure values associated with any Component or Device element.
1293 Some examples of how sensor data may be modeled are represented in Figure 18 :
1295 A sensor unit is an intelligent piece of equipment that manages the functions of one or
1296 more sensing elements.
1298 • convert low level signals from the sensing elements into data that can be used by
1299 other pieces of equipment. (Example: Convert a non-linear millivolt signal from a
1300 temperature sensor into a scaled temperature value that can be transmitted to another
1301 piece of equipment.)
1302 • process sensing element data into calculated values. (Example: temperature sensor
1303 data is converted into calculated values of average temperature, maximum tempera-
1304 ture, minimum temperature, etc.)
1305 • provide calibration and configuration information associated with each sensing ele-
1306 ment
1307 • monitor the health and integrity of the sensing elements and the sensor unit. (Exam-
1308 ple: The sensor unit may provide diagnostics on each sensing element (e.g., open
1309 wire detection) and itself (e.g., measure internal temperature of the sensor unit).
1310 Depending on how the sensor unit is used, it may be considered as either an independent
1311 piece of equipment and modeled in the XML document as a Device, or it may be mod-
1312 eled as a Top Level Component called Sensor if it is integral to a piece of equipment.
1313 A Sensor MAY have its own uuid so it can be tracked throughout its lifetime.
1314 The following examples demonstrate how a Sensor may be modeled in the XML document
1315 differently based on how the Sensor functions within the overall piece of equipment
1316 Example#1: If the Sensor provides vibration measurement data for the spindle on a
1317 piece of equipment, it could be modeled as a Sensor for rotary axis named C.
1335 Example#2: If a Sensor provides measurement data for multiple Component elements
1336 within a piece of equipment and is not associated with any particular Component ele-
1337 ment, it MAY be modeled in the XML document as an independent Lower Level Com-
1338 ponent and the data associated with measurements are associated with their associated
1339 Component elements.
1340 This example represents a sensor unit with two sensing elements, one measures spindle
1341 vibration and the other measures the temperature for the X axis. The sensor unit also has
1342 a sensing element measuring the internal temperature of the sensor unit.
Example 9: Example of Sensor Unit with Sensing Element
1343 1 <Device id="d1" uuid="HM1" name="HMC_3Axis">
1344 2 <Description>3 Axis Mill</Description>
1345 3 <Components>
1346 4 <Axes
1347 5 <Components>
1348 6 <Sensor id="sens1" name="Sensorunit">
1349 7 <DataItems>
1350 8 <DataItem type="TEMPERATURE" id="sentemp"
1351 9 category="SAMPLE" name="Sensortemp"
1352 10 units="DEGREE"/>
1353 11 </DataItems>
1354 12 </Sensor >
1355 13 <Rotary id="c" name="C">
1356 14 <DataItems>
1357 15 <DataItem type="DISPLACEMENT" id="cvib"
1358 16 %category="SAMPLE" name="Svib"
1359 17 units="MILLIMETER">
1360 18 <Source componentId="sens1"/>
1361 19 <DataItem/>
1362 20 </DataItems>
1363 21 </Rotary>
1364 22 <Linear id="x" name="X">
1365 23 <DataItems>
1366 24 <DataItem type="TEMPERATURE" id="xt"
1367 25 category="SAMPLE" name="Xtemp"
1368 26 units="DEGREE">
1369 27 <Source componentId="sens1"/>
1370 28 <DataItem/>
1371 29 </DataItems>
1372 30 </Linear>
1373 31 <Components>
1374 32 </Axes>
1375 33 </Components>
1376 34 </Device>
1378 When a Sensor unit is modeled in the XML document as a Component or as a separate
1379 piece of equipment, it may provide additional configuration information for the sensor
1381 Configuration data provides information required for maintenance and support of the
1382 sensor.
1383 Configuration data is only available when the Sensor unit is modeled as a Com-
1384 ponent or a separate piece of equipment. For details on the modeling of configuration
1385 data in the XML document, see Section 4.4.3.2 - Configuration for Component.
1386 When Sensor represents the sensor unit for multiple sensing element(s), each sensing
1387 element is represented by a Channel. The sensor unit itself and each Channel repre-
1388 senting one sensing element MAY have its own configuration data.
1389 SensorConfiguration can contain any descriptive content for a sensor unit. This
1390 element is defined to contain mixed content and additional XML elements (indicated by
1391 the any element in Figure 19 ) MAY be added to extend the schema for SensorCon-
1392 figuration.
1393 Figure 19 represents the structure of the SensorConfiguration XML element show-
1394 ing the attributes defined for SensorConfiguration.
Continuation of Table 45
Element Description Occurrence
CalibrationDate Date upon which the sensor unit was last 0..1
calibrated.
The data value for CalibrationDate
is provided in the CDATA for this element
and MUST be represented in the W3C
ISO 8601 format.
NextCalibrationDate Date upon which the sensor unit is next 0..1
scheduled to be calibrated.
The data value for
NextCalibrationDate is provided
in the CDATA for this element and MUST
be represented in the W3C ISO 8601
format.
CalibrationInitials The initials of the person verifying the 0..1
validity of the calibration data.
The data value for
CalibrationInitials is provided
in the CDATA for this element and MAY
be any numeric or text content.
Channels When Sensor represents multiple 0..1
sensing elements, each sensing element is
represented by a Channel for the
Sensor.
Channels is an XML container used to
organize information for the sensing
elements.
1398 Channel represents each sensing element connected to a sensor unit. Table 46 defines
1399 the attributes for Channel:
Continuation of Table 47
Element Description Occurrence
CalibrationDate Date upon which the sensor unit was last 0..1
calibrated to the sensor element.
The data value for CalibrationDate
is provided in the CDATA for this element
and MUST be represented in the W3C
ISO 8601 format.
NextCalibrationDate Date upon which the sensor element is 0..1
next scheduled to be calibrated with the
sensor unit.
The data value for
NextCalibrationDate is provided
in the CDATA for this element and MUST
be represented in the W3C ISO 8601
format.
CalibrationInitials The initials of the person verifying the 0..1
validity of the calibration data.
The data value for
CalibrationInitials is provided
in the CDATA for this element and MAY
be any numeric or text content.
1402 Example 10 is an example of the configuration data for Sensor that is modeled as a Com-
1403 ponent. It has Configuration data for the sensor unit, one Channel named A/D:1,
1404 and two DataItems – Voltage (as a SAMPLE) and Voltage (as a CONDITION or
1405 alarm).
1417 12 </Channels>
1418 13 </SensorConfiguration>
1419 14 </Configuration>
1420 15 <DataItems>
1421 16 <DataItem category="CONDITION" id="senvc"
1422 17 type="VOLTAGE" />
1423 18 <DataItem category="SAMPLE" id="senv"
1424 19 type="VOLTAGE" units="VOLT" subType="DIRECT" />
1425 20 </DataItems>
1426 21 </Sensor>
1428 Relationships is an XML container that organizes information defining the associ-
1429 ation between pieces of equipment that function independently but together perform a
1430 manufacturing operation. Relationships may also define the association between
1431 components within a piece of equipment.
1436 Relationship is an XML element that describes the association between two pieces
1437 of equipment that function independently but together perform a manufacturing operation.
1438 Relationship may also be used to define the association between two components
1439 within a piece of equipment.
1441 the XML document by specific Relationship types. XML elements representing Re-
1442 lationship are described in Section 9.2.1.1 - DeviceRelationship and Section 9.2.1.2 -
1443 ComponentRelationship.
1444 A separate Relationship type element MAY be defined to describe each pair of as-
1445 sociations with a piece of equipment or between Component elements within a piece of
1446 equipment.
1447 Pieces of equipment may only be associated with other pieces of equipment and Compo-
1448 nent elements may only be associated with other Component elements within a specific
1449 piece of equipment.
1450 The XML schema diagram in Figure 20 represents the structure of the Relationship
1451 XML element.
1453 DeviceRelationship describes the association between two pieces of equipment that
1454 function independently but together perform a manufacturing operation.
1455 The XML schema diagram in Figure 21 represents the structure of a DeviceRela-
1456 tionship XML element showing the attributes defined for DeviceRelationship.
1457 The Table 49 lists the attributes defined for the DeviceRelationship element.
Table 49: Attributes for DeviceRelationship
Continuation of Table 49
Attribute Description Occurrence
criticality Defines whether the services or functions provided 0..1
by the associated piece of equipment is required
for the operation of this piece of equipment.
criticality is an optional attribute.
The value provided for criticality MUST be
one of the following values:
CRITICAL: The services or functions provided
by the associated piece of equipment is required
for the operation of this piece of equipment.
NONCRITICAL: The services or functions
provided by the associated piece of equipment is
not required for the operation of this piece of
equipment.
deviceUuidRef A reference to the associated piece of equipment. 1
The value provided for deviceUuidRef MUST
be the value provided for the uuid attribute of the
Device element of the associated piece of
equipment.
deviceUuidRef is a required attribute.
An NMTOKEN XML type.
Continuation of Table 49
Attribute Description Occurrence
role Defines the services or capabilities that the 0..1
referenced piece of equipment provides relative to
this piece of equipment.
role is an optional attribute.
The value provided for role MUST be one of the
following values:
SYSTEM: The associated piece of equipment
performs the functions of a System for this piece
of equipment. In MTConnect, System provides
utility type services to support the operation of a
piece of equipment and these services are required
for the operation of a piece of equipment.
AUXILIARY: The associated piece of
equipment performs the functions as an
Auxiliary for this piece of equipment. In
MTConnect, Auxiliary extends the capabilities
of a piece of equipment, but is not required for the
equipment to function.
href A URI identifying the Agent that is publishing 0..1
information for the associated piece of equipment.
href MUST also include the UUID for that
specific piece of equipment.
href is of type xlink:href from the W3C
XLink specification:
(https://www.w3.org/TR/xlink11/).
href is an optional attribute.
xlink:type The XLink type attribute MUST have a fixed 0..1
value of locator as defined in W3C XLink 1.1
https://www.w3.org/TR/xlink11/ section 5.4
Locator Attribute (href).
If the href attribute is provided, it MUST
conform to the URI syntactic rules as defined in
IETF RFC 3986 for Uniform Resource Identifiers.
(https://www.ietf.org/rfc/rfc3986.txt)
1464 The Table 50 lists the attributes defined for the ComponentRelationship element.
Continuation of Table 50
Attribute Description Occurrence
criticality Defines whether the services or functions provided by 0..1
the associated component element is required for the
operation of this piece of equipment.
criticality is an optional attribute.
The value provided for criticality MUST be
one of the following values:
CRITICAL: The services or functions provided
by the associated component element is required for
the operation of this piece of equipment.
NONCRITICAL: The services or functions
provided by the associated component element is not
required for the operation of this piece of equipment.
idRef A reference to the associated component element. 1
The value provided for idRef MUST be the value
provided for the id attribute of the associated
Component element.
idRef is a required attribute.
An NMTOKEN XML type.
1470 Specification elements define information describing the design characteristics for
1471 a piece of equipment.
1473 Table 51 lists the attributes defined to provide information for a Specification ele-
1474 ment.
Table 51: Attributes for Specification
1476 Table 52 lists the elements defined to provide information for a Specification ele-
1477 ment.
Table 52: Elements for Specification
1485 Table 53 lists the attributes defined to provide information for a CoordinateSystem
1486 element.
Table 53: Attributes for CoordinateSystem
type Description
WORLD stationary coordinate system referenced to earth,
which is independent of the robot motion. Ref:ISO
9787:2013
For non-robotic devices, stationary coordinate system
referenced to earth, which is independent of the
motion of a piece of equipment.
BASE coordinate system referenced to the base mounting
surface. Ref:ISO 9787:2013
A base mounting surface is a connection surface
between the arm and its supporting structure.Ref:ISO
9787:2013
For non-robotic devices, it is the connection surface
between the device and its supporting structure.
OBJECT coordinate system referenced to the object. Ref:ISO
9787:2013
TASK coordinate system referenced to the site of the task.
Ref:ISO 9787:2013
MECHANICAL_INTERFACE coordinate system referenced to the mechanical
interface. Ref:ISO 9787:2013
TOOL coordinate system referenced to the tool or to the end
effector attached to the mechanical interface. Ref:ISO
9787:2013
MOBILE_PLATFORM coordinate system referenced to one of the
components of a mobile platform. Ref:ISO 8373:2012
MACHINE coordinate system referenced to the home position
and orientation of the primary axes of a piece of
equipment.
CAMERA coordinate system referenced to the sensor which
monitors the site of the task. Ref:ISO 9787:2013
1490 Table 55 lists the elements defined to provide information for a CoordinateSystem
1491 element.
Table 55: Elements for CoordinateSystem
1492 Notes: Only one of Location or Transformation can be defined for a Coor-
1493 dinateSystem.
1495 Table 56 lists the elements defined to provide information for a Transformation ele-
1496 ment.
Table 56: Elements for Transformation
1497 Appendices
1498 A Bibliography
1502 ISO TC 184/SC4/WG3 N1089. ISO/DIS 10303-238: Industrial automation systems and
1503 integration Product data representation and exchange Part 238: Application Protocols: Ap-
1504 plication interpreted model for computerized numerical controllers. Geneva, Switzerland,
1505 2004.
1506 International Organization for Standardization. ISO 14649: Industrial automation sys-
1507 tems and integration – Physical device control – Data model for computerized numerical
1508 controllers – Part 10: General process data. Geneva, Switzerland, 2004.
1509 International Organization for Standardization. ISO 14649: Industrial automation sys-
1510 tems and integration – Physical device control – Data model for computerized numerical
1511 controllers – Part 11: Process data for milling. Geneva, Switzerland, 2000.
1512 International Organization for Standardization. ISO 6983/1 – Numerical Control of ma-
1513 chines – Program format and definition of address words – Part 1: Data format for posi-
1514 tioning, line and contouring control systems. Geneva, Switzerland, 1982.
1518 National Aerospace Standard. Uniform Cutting Tests - NAS Series: Metal Cutting Equip-
1519 ment Specifications. Washington, D.C. 1969.
1520 International Organization for Standardization. ISO 10303-11: 1994, Industrial automa-
1521 tion systems and integration Product data representation and exchange Part 11: Descrip-
1522 tion methods: The EXPRESS language reference manual. Geneva, Switzerland, 1994.
1523 International Organization for Standardization. ISO 10303-21: 1996, Industrial automa-
1524 tion systems and integration – Product data representation and exchange – Part 21: Imple-
1525 mentation methods: Clear text encoding of the exchange structure. Geneva, Switzerland,
1526 1996.
1527 H.L. Horton, F.D. Jones, and E. Oberg. Machinery’s Handbook. Industrial Press, Inc.
1529 International Organization for Standardization. ISO 841-2001: Industrial automation sys-
1530 tems and integration - Numerical control of machines - Coordinate systems and motion
1531 nomenclature. Geneva, Switzerland, 2001.
1532 ASME B5.57: Methods for Performance Evaluation of Computer Numerically Controlled
1533 Lathes and Turning Centers, 1998.
1534 ASME/ANSI B5.54: Methods for Performance Evaluation of Computer Numerically Con-
1535 trolled Machining Centers. 2005.
1536 OPC Foundation. OPC Unified Architecture Specification, Part 1: Concepts Version 1.00.
1537 July 28, 2006.
1538 IEEE STD 1451.0-2007, Standard for a Smart Transducer Interface for Sensors and Ac-
1539 tuators – Common Functions, Communication Protocols, and Transducer Electronic Data
1540 Sheet (TEDS) Formats, IEEE Instrumentation and Measurement Society, TC-9, The In-
1541 stitute of Electrical and Electronics Engineers, Inc., New York, N.Y. 10016, SH99684,
1542 October 5, 2007.
1543 IEEE STD 1451.4-1994, Standard for a Smart Transducer Interface for Sensors and Ac-
1544 tuators – Mixed-Mode Communication Protocols and Transducer Electronic Data Sheet
1545 (TEDS) Formats, IEEE Instrumentation and Measurement Society, TC-9, The Institute of
1546 Electrical and Electronics Engineers, Inc., New York, N.Y. 10016, SH95225, December
1547 15, 2004.