Integration Guide

Overview

At 3YOURMIND, machine data is collected, standardized and aggregated via the Aggregator. It serves as the central data hub on a workshop and pushes the processed data to the Agile MES (on-prem/cloud). This machine data is then used for production tracking, automation and analytics. In order to integrate your machine to the Agile MES, it needs to support the following use-cases and must be connected via one of the interfaces supported by the Aggregator.


Table of Content

 

Use-Case Support

The following list gives insights into the supported use cases based on their level of depth and the control mechanisms they enable. The more use-cases your machine’s connectivity interface covers the greater the value for your customers.

List of use-cases: Three Levels of Connectivity

Interface Selection

Different technology stacks are used for machine connectivity interfaces across the industry, ranging from self-developed REST APIs to protocols like MTConnect, which require a standardization of the received data. 3YOURMIND relies on the OPC/UA + umati CS data model to harmonize all machine connectivity data and therefore highly recommend using this connectivity interface as a plug&play solution. Further technical criteria are listed below:

Use-case coverage: Some technologies/interfaces support more of the above use-cases than others. Many vary due to their lack of standardization.

Standardized data: If the technology/interface provides a standardized data representation, the mapping to umati is more consistent and allows plug&play of machines.

Extendable: In order to implement further use cases a technology/interface needs to provide some kind of extendability.

Real-time data: Some technologies/interfaces do not publish data changes automatically which may result in the loss of data between requests.

2-way-operational: Automation requires data to be pulled from a machine but also pushing control instructions or job files to it.

Safety: Most technologies/interfaces come with encryption and multi-layer authentication and authorization processes.

Complexity: A less complex technology may be easier to implement but lacks a lot of functionality needed within an industrial environment.

 

OPC/UA + umati CS

Octoprint (REST API)

(Alternative)

 

OPC/UA + umati CS

Octoprint (REST API)

(Alternative)

Use-case coverage

 High

 Medium

Standardized data

yes

yes

Extendable

 yes

yes

Real-time data

yes

no

2-way-operational

planned

yes

Safety

 high

medium

Complexity

 medium

low

If your machine is to be used in an industrial context, we highly recommend using OPC/UA + umati CS as the connectivity interface!

 

 

Please make sure you read Umati - Introduction before continuing with this guide


Integrating via OPC/UA + umati CS

A universal machine connectivity interface with standardized semantics is highly needed and requested to enable Industry 4.0. The OPC/UA architecture for machine-to-machine communication together with the umati companion specifications (umati CS) defines a common data model suitable for the AM industry.


Benefits

  • It is a set of companion specifications for OPC/UA, a well-accepted, performant, and secure protocol that is made for high throughput and polling and pushing mechanisms.

  • Compared to designing an internal API scheme, umati already comes with a ready-to-use scheme. That reduces the time needed for implementing an internal API.

  • Although OPC/UA is documented in an abstract form, there are a lot of libraries that are easy to use. For supporting umati, most of the features offered by OPC/UA are not needed.

 

It is also possible to support OPC/UA + umati CS in parallel to an existing connectivity interface either in a side-by-side installation or with a driver that converts the existing data interface to OPC/UA + umati CS.

 

Prerequisites

The following requirements must be fulfilled in order to develop an umati server:

  1. OPC/UA library and documentation

    1. Open-source library (C99): https://open62541.org/

      1. Supports generation of data types and information models from XML specification files (used in Step 3)

    2. OPC/UA documentation: https://reference.opcfoundation.org/

  2. Umati companion specifications

    1. OPC 40001-1 - UA CS Machinery

    2. OPC 40501-1 - UA CS for Machine Tools

    3. OPC 10000-200 - UA Specification Part 200 - Industrial Automation

    4. OPC 10001-13 - UA Specification 1.04.01 Amendment 13 - Ordered List

      You can find them either here, at the official OPC/UA webpages, or by contacting info@umati.info.

  3. OPC/UA server modelling (suggested but optional)

    1. Requires a OPC/UA library that supports generation of data types and information models from XML specification files

    2. OPC/UA Modeler: https://www.unified-automation.com/products/development-tools/uamodeler.html

      1. To model your server and export the node sets as XML

  4. Testing

    1. Umati Test Server: https://github.com/umati/Sample-Server

    2. Free OPC/UA Client: https://www.unified-automation.com/products/development-tools/uaexpert.html

 

Basic Server Development

First, the individual nodes for your OPC/UA server must be defined based on the OPC/UA + umati CS. This can be done by either using the umati companion specifications and creating the node sets manually with an OPC/UA library or by modelling them, exporting that model to XML and auto-generating the node definitions in the OPC/UA library.

With the library and the compiled node definitions, an OPC/UA + umati server can be easily created. The server will contain all the relevant node representations available and can now be connected to your machine’s data.

Further resources:

umati homepage, umati GitHub



Integration Approval


The Agile MES currently supports the following OPC/UA + umati CS version v1.0.0 nodes. After you confirm your implementation with an OPC/UA client (e.g. UaExpert) you can provide a test instance of your server for approval to 3YOURMIND (URL + authentication details needed). In that case please reach out to our team via product@3yourmind.com.

 

Use-Case

Node Browse Path

Reference

Use-Case

Node Browse Path

Reference

Machine ID/Serial Number

4:Machines.6:<MachineTool>.2:Identification.2:SerialNumber

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.2.1/ https://reference.opcfoundation.org/v104/Machinery/v100/docs/8.2/

Machine Model

4:Machines.6:<MachineTool>.2:Identification.2:Model

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.2.1/

Machine Custom Name

4:Machines.6:<MachineTool>.2:Identification.2:ComponentName

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.2.1/ https://reference.opcfoundation.org/v104/DI/v102/docs/5.5.3/

Machine Manufacturer

4:Machines.6:<MachineTool>.2:Identification.2:Manufacturer

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.2.1/ https://reference.opcfoundation.org/v104/Machinery/v100/docs/8.2/

Machine Stacklight

4:Machines.6:<MachineTool>.5:Monitoring.5:Stacklight.6:<Light>.3:SignalColor
4:Machines.6:<MachineTool>.5:Monitoring.5:Stacklight.6:<Light>.3:SignalOn

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.3.1/

https://reference.opcfoundation.org/v104/IA/v100/docs/5.2.1/

Machine Custom State

N.A.

 

Machine Maintenance Prognosis

4:Machines.6:<MachineTool>.5:Notification.5:Prognoses.6:Maintenance.5:Activity
4:Machines.6:<MachineTool>.5:Notification.5:Prognoses.6:Maintenance.5:PredictedTime

… more options: MaintenancePrognosisType, ManualActivityPrognosisType, PartUnloadPrognosisType, ProcessChangeoverPrognosisType, ProductionJobEndPrognosisType, PartLoadPrognosisType, ToolLoadPrognosisType, ToolUnloadPrognosisType, ToolChangePrognosisType and UtilityChangePrognosisType.

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.6.4/

Machine Events

4:Machines.6:<MachineTool>.5:Notification.5:Messages
4:Machines.6:<MachineTool>.5:Notification.5:Prognoses
4:Machines.6:<MachineTool>.5:Production.5:ProductionPlan

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.6.1/

Material Type

in development

 

Material Amount

in development

 

Material Consumption

in development

 

Job ID

4:Machines.6:<MachineTool>.5:Production.5:ProductionPlan.6:<Job>.5.Identifier
Alternatively:
4:Machines.6:<MachineTool>.5:Notification.5:Prognoses.6:ProductionJobEnd.5:SourceIdentifier
For the active job:
4:Machines.6:<MachineTool>.5:Production.5:ActiveProgram.5:JobIdentifier

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.4.3/

Job Name

4:Machines.6:<MachineTool>.5:Production.5:ProductionPlan.6:<Job>.5:PartSets.6:<PartSet>
Or Job ID

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.4.3/

Job State

4:Machines.6:<MachineTool>.5:Production.5:ProductionPlan.6:<Job>.5:State.0:CurrentState
4:Machines.6:<MachineTool>.5:Production.5:ProductionPlan.6:<Job>.5:State.0:CurrentState.0:Number
For the active job:
4:Machines.6:<MachineTool>.5:Production.5:ActiveProgram.5:State.0:CurrentState.0:Number

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.4.9/
https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.4.10/

Job Events

4:Machines.6:<MachineTool>.5:Production.5:ProductionPlan.6:<Job>.5:State

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.4.9/

Job Predicted End Time

4:Machines.6:<MachineTool>.5:Notification.5:Prognoses.6:ProductionJobEnd.5:PredictedTime

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.6.10/

Sensor Data

4:Machines.6:<MachineTool>.5:Monitoring.6:<ElementMonitoringType>
ElementMonitoringTypes: WorkingUnitMonitoringType, LaserMonitoringType, EDMGeneratorMonitoringType, SpindleMonitoringType, ChannelMonitoringType, CombinedChannelMonitoringType, MachineOperationMonitoringType, ChannelModifierType

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.3.1/

KPI Data

4:Machines.6:<MachineTool>.5:Equipment.5:Tools.6:<Tool>.5:ToolLife
options: Time, NumberOfParts, NumberOfUsages, Feed_Distance, Cutting_Distance, Length, Diameter, Other

4:Machines.6:<MachineTool>.5:Production.5:Statistics.5:PartsProducedInLifetime

https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.5.4/
https://reference.opcfoundation.org/v104/MachineTool/v100/docs/8.4.12/

Job File Transfer

in development

 

Job Remote Control

in development