/
Integration Guide

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): open62541

      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: UaModeler “Turns Design into Code” - Unified Automation

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

  4. Testing

    1. Umati Test Server: GitHub - umati/Sample-Server: Sample-Server implementation based on open62541, showcases umati endorsed OPC UA companion specifications. Provides a :whale2: to run locally for development purpose.

    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

 

Related content

Three Levels of Connectivity
Three Levels of Connectivity
More like this
Umati - Introduction
Umati - Introduction
More like this
Software Integrations
Software Integrations
More like this
Machine Connectivity System Requirements
Machine Connectivity System Requirements
Read with this
Setting up Machine Connectivity for Machine Manufacturers
Setting up Machine Connectivity for Machine Manufacturers
More like this
Aggregator Setup and Install
Aggregator Setup and Install
Read with this