EUROMAP 77 Integration
How to read machine status, job information, and cycle data from injection molding machines that implement EUROMAP 77 (OPC 40077) using the Connectware OPC UA client connector.
This guide describes how to read data from injection molding machines that implement EUROMAP 77 with Connectware. You configure a service commissioning file that connects to the machine's OPC UA server, subscribes to machine status, job information, and cycle data, and publishes the values to an ISA-95-style MQTT topic hierarchy. A complete example file is available at the end of this guide.
Objectives
Understanding the EUROMAP 77 information model and where its data lives in the OPC UA address space.
Resolving the namespace index and NodeIds of the EUROMAP 77 nodes on your machine.
Connecting Connectware to the machine's OPC UA server.
Subscribing to machine status, job information, and cycle data.
Publishing the values to an ISA-95-style MQTT topic hierarchy.
Prerequisites
To follow this guide, you will need the following:
A running instance of Cybus Connectware.
An injection molding machine whose OPC UA server implements EUROMAP 77 (OPC 40077), reachable from Connectware over the network. The machine documentation tells you whether the interface is available and which release it implements.
An OPC UA client for browsing the machine's address space, for example UaExpert or one of the tools listed in Using Connectware as an OPC UA Client.
Access to the Admin UI with sufficient user permissions.
Basic knowledge of MQTT and the Connectware services concept (for example, service commissioning files, connections, and endpoints).
Connectware and EUROMAP 77 Integration
EUROMAP 77 is the OPC UA companion specification for data exchange between injection molding machines (IMM) and manufacturing execution systems (MES). It is published by the OPC Foundation as OPC 40077 and builds on the common types for plastics and rubber machinery defined in EUROMAP 83 (OPC 40083). A machine that implements EUROMAP 77 exposes its production data in a standardized structure, so the same integration works across machine vendors.
Connectware connects to the machine's OPC UA server with the OPC UA client connector and subscribes to the EUROMAP 77 nodes in the same way as any other OPC UA nodes. For generic OPC UA setup topics such as browsing the address space, security policies, and certificate exchange, see Using Connectware as an OPC UA Client. This guide focuses on the EUROMAP 77 specifics: where the data lives and how to address it.
The MQTT topics in this guide follow an ISA-95-style equipment hierarchy (<enterprise>/<site>/<area>/<line>/<cell>), with one topic per data point below the machine level. This keeps the machine data addressable in a Unified Namespace alongside other equipment.
The EUROMAP 77 Information Model
A EUROMAP 77 machine exposes one interface object per machine under the DeviceSet object of its OPC UA server. The object is named IMM_<Manufacturer>_<SerialNumber>, for example IMM_EXAMPLE_0123456, and is an instance of IMM_MES_InterfaceType. Its components group the machine data:
MachineInformation
Manufacturer, model, serial number, and logbook events.
MachineConfiguration
Machine configuration, such as the user-defined machine name.
MachineStatus
Current operating state, including MachineMode and IsPresent.
MachineMESStatus
MES-related status, such as standstill reasons.
InjectionUnits
Injection units with their temperature zones and cycle parameters.
PowerUnits
Power unit data.
Moulds
Mounted molds.
Jobs
The active production job (ActiveJob) and its live values (ActiveJobValues), including part counters and cycle times. Optional.
ProductionDatasetManagement
Transfer of production datasets. Optional.
For an MES-style integration that reads data from the machine, the most relevant nodes are the following:
MachineStatus.MachineMode: The current operating mode as an enumeration value:0(OTHER),1(AUTOMATIC),2(SEMI_AUTOMATIC),3(MANUAL),4(SETUP),5(SLEEP).MachineStatus.IsPresent: Whether the machine is physically connected to its OPC UA server.Jobs.ActiveJob: The job definition, includingJobName,ProductionDatasetName,ProductName,MouldId,NumCavities, andExpectedCycleTime.Jobs.ActiveJobValues: The live production values, includingJobStatus, the part counters (JobPartsCounter,JobGoodPartsCounter,JobBadPartsCounter), the cycle counters (JobCycleCounter,MachineCycleCounter), and the cycle times (LastCycleTime,AverageCycleTime).
In addition to these variables, the interface object emits a CycleParametersEventType event at the end of each machine cycle, carrying per-cycle process values such as injection time, dosing time, and cushion volume. You can receive OPC UA events with Connectware as described in Events for OPC UA. This guide uses variable subscriptions, which cover the typical MES data needs.
Resolving the Namespace Index and NodeIds
The BrowseNames in the EUROMAP 77 information model are standardized, but the NodeIds of the instance nodes are not. Each OPC UA server assigns its namespaces a numeric index at runtime, and machine vendors place the instance nodes in their own namespace with vendor-specific identifiers. A NodeId that works on one machine does not work on another. Before you write the service commissioning file, resolve the actual NodeIds on your machine:
Connect to the machine's OPC UA server with an OPC UA client, for example UaExpert.
Read the
NamespaceArrayvariable (ns=0;i=2255). Its value lists all namespace URIs of the server. The position of a URI in this array is its namespace index. The EUROMAP 77 types use the namespace URIhttp://opcfoundation.org/UA/PlasticsRubber/IMM2MES/. Machines that implement Release 1.00 use the older URIhttp://www.euromap.org/euromap77/instead.Browse to Objects > DeviceSet and open the
IMM_<Manufacturer>_<SerialNumber>object of your machine.Navigate along the standardized BrowseNames, for example
MachineStatus > MachineMode, select the node, and copy the NodeId shown in the attributes pane. This is the value for thenodeIdproperty of the corresponding Connectware endpoint.
The NodeIds in this guide, such as ns=4;s=IMM_EXAMPLE_0123456.MachineStatus.MachineMode, are machine-specific examples. Both the namespace index and the identifier differ between machine vendors. Always use the NodeIds that your OPC UA client shows for your machine.
EUROMAP 77 Parameters
We add the connection details, the namespace index, and the topic root as parameters to the service commissioning file, so you can set them when you install the service.
Do not worry about copying the service commissioning file snippets together into one, the complete example file is available at the end of this guide.
machineHostandmachinePort: The address of the machine's OPC UA server. The default OPC UA port is4840, the machine documentation tells you the actual value.opcuaUserandopcuaPass: The credentials for the OPC UA server. Leave them empty for anonymous access.namespaceIndex: The namespace index of the EUROMAP 77 instance nodes on your machine, resolved from theNamespaceArray.topicRoot: The ISA-95-style topic prefix for this machine.
EUROMAP 77 Connection
To connect to the machine's OPC UA server, we set up a Cybus::Connection resource that uses the OPC UA connector. For the complete set of connection options, including messageSecurityMode, securityPolicy, and client certificates, see the OPC UA connection properties and Using Connectware as an OPC UA Client.
Reading the Machine Status
The machine status endpoints subscribe to MachineStatus.MachineMode and MachineStatus.IsPresent. Because these are subscriptions, the OPC UA server only sends data when a value changes, for example when an operator switches the machine from SETUP to AUTOMATIC. The topic property publishes each value to its place in the ISA-95 hierarchy.
Each message contains the value and the OPC UA source timestamp. For MachineMode, the value is the numeric enumeration value:
Reading Job Information
The job endpoints subscribe to the active job definition under Jobs.ActiveJob and its live values under Jobs.ActiveJobValues. The job name and the production dataset name identify what the machine is producing, the status and the part counters tell you how the job is progressing. JobStatus is an enumeration as well, with values such as 6 (JOB_IN_PRODUCTION) and 8 (JOB_FINISHED).
The Jobs component is optional in EUROMAP 77. If your machine does not expose it, remove these endpoints from the service commissioning file. The part counters are 64-bit integers, so Connectware publishes their values as strings containing the decimal number, as described in the OPC UA client output format.
Reading Cycle Data
The cycle data endpoints subscribe to the values under Jobs.ActiveJobValues that update with every machine cycle: the machine cycle counter and the cycle times. Injection molding cycles are often only a few seconds long, so these endpoints use a faster publishInterval and samplingInterval than the default of 1000 milliseconds. Connectware groups endpoints with the same publishInterval into one OPC UA subscription, see OPC UA Subscriptions.
LastCycleTime and AverageCycleTime have the OPC UA data type Duration, which is a floating point number of milliseconds. For detailed per-cycle process values, such as injection time or cushion volume, check whether your machine exposes the cycle parameters of its injection units as variables, or subscribe to the CycleParametersEventType event as described in Events for OPC UA.
Verifying the Integration
Install the service and set the parameters with the values of your machine. See Installing Services.
Check that the connection is in the Connected state on the service details page in the Admin UI. If the connection stays in the connecting state, verify the host, the port, and the security settings of the machine's OPC UA server.
Open the Data Explorer and subscribe to the topic root, for example
enterprise/hamburg/injection-molding/line-1/imm-01/#. The machine status topics receive their current values right after the subscription is established.Change the operating mode on the machine control panel and check that a new value arrives on the
machine-status/machine-modetopic.Start a production job and check that the job topics update and that the cycle topics receive new values with every machine cycle. If a topic stays empty, verify the NodeId of the corresponding endpoint against your OPC UA client, a wrong namespace index is the most common cause.
Service Commissioning File Example
Last updated
Was this helpful?

