Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Eclipse Unide: Establishing an Open Industry 4.0 Standard

DZone's Guide to

Eclipse Unide: Establishing an Open Industry 4.0 Standard

Take a look at Eclipse Unide, an open source effort to bring PPMP to the industrial masses. See how it works and how to start playing with it.

· IoT Zone ·
Free Resource

Industry 4.0, or smart manufacturing, focuses on automating and exchanging data in manufacturing technologies. To achieve this, all the devices (machines, sensors, controller, software solutions, etc.) need to communicate with you and each other. In order to transmit this information, a common language needs to be defined or a translator is required, which can be costly and require a lot of effort. This is especially true when you have different vendor products in your factory.

To avoid these problems when communicating with machines and Industry 4.0 solutions, the Productions Performance Management Protocol (PPMP) was created. It will provide a common language to facilitate communication between devices. We started the Eclipse Unide project to help PPMP become an open standard for Industry 4.0 and resolve these problems.

Image title

Difference between Eclipse Unide and PPMP

What Is PPMP?

The Production Performance Management Protocol (PPMP) describes the payload definition of messages that are used for Industry 4.0. It is used for condition monitoring, predictive maintenance, process quality analysis, etc. Other requirements like availability, latency, and security require specific transport protocols such as HTTP/REST, MQTT, or AMQP. PPMP is independent of these protocols. Its focus lies on interoperability, ease, and openness.

To evaluate the production state, we currently offer three different message types:

  • Machine messages
  • Measurement messages
  • Process messages

These messages are important for condition monitoring and process quality analysis.

For other Industry 4.0 use cases, like tool tracking or machine configuration management, additional information that is not covered by the current message types is needed. Gathering the knowledge that helps us understand how these payloads should look like is one of the reasons for Eclipse Unide. It shall be a discussion and contribution platform for the further development of the PPMP  standard.

Image title


PPMP-Measurement payload structure

To minimize the overhead, increase the readability, and simplify the serialization of PPMP-messages, we decided to use JSON format over other ones like XML, for example.

What Is Eclipse Unide?

Unide stands for Understand Industry Devices. It aims to provide simple tooling that helps you to test and implement PPMP into your specific software or hardware component. We want to use Eclipse technology as a platform to publish the current specification of PPMP. The Eclipse community is our discussion forum for the further development of PPMP.

Currently, we provide tools and source code for:

  • Validation of PPMP-Messages

  • Visualization and persisting of PPMP-data

  • Bindings for implementations

Other features like client implementations and an improved process visualization are already planned for the near future.

Validation of PPMP-Messages

To validate PPMP messages, we offer a validator that compares the payload you send to the given JSON-schema. By sending HTTP-POST requests to the validator endpoint, you receive a message confirming whether or not the PPMP message is correctly written according to the specification.

Image title

Postman screenshot with an invalid PPMP-message

This validator is hosted online in the Unide Sandbox, but you can also run it on your local machine by using the following commands:

$ git clone https://github.com/eclipse/unide.git


$ mvn clean install


When built, start your server:

$ java -jar ppmp-server-<version-number>-fat.jar -conf application_conf.json


Now you are able to access the validation endpoints for the individual message types. Example for machine message validation:

POST http://localhost:xxxx/rest/v2/message?


Visualization and Persisting

To get visual feedback of PPMP-messages we implemented an InfluxDB database access. This enables you to store measurements, as well as machine and process messages and make them accessible to visualization tools. One of these tools is Grafana. This is an open platform for data visualization and monitoring. You can access different types of databases (e.g. InfluxDB) and design monitoring and alerting dashboards on your own. This can be a first step to get in touch with Industry 4.0!

Image title

Grafana Dashboard @ Unide Sandbox

Grafana and InfluxDB can be downloaded and installed on your local machine. These tools are also available in the Unide-Sandbox.

To store the data you send to your local instance, activate the database access:

POST http://localhost:xxxx/influxdb?


Bindings for Implementations

To help implement PPMP into your software or hardware components we provide bindings for different programming languages. These bindings are objects or structures that represent the PPMP definitions with all its properties. They are used to create message objects and send then via your chosen transport protocol.

Image title

Binding for machine messages

Currently, we offer bindings for Java and Python and we are working on C/C++ and C# implementations. Feel free to contribute your own implementation in your preferred programming language! You can do that here.

Eclipse IoT Testbed

To demonstrate how existing and new industrial systems can be connected and federated using Eclipse IoT stacks, we started an Eclipse IoT Testbed. In this testbed, we want to build up an ecosystem where all participants (machines, sensors, controller, software solutions, …) have one common language – PPMP.

Image title

IoT Testbed phase #1  (Connectivity)

Firstly, we want to establish the connectivity with machines and hardware components by using Eclipse projects, such as Eclipse 4diac or Eclipse Kura. The second step will be the use of this data for Industry 4.0 and Smart Manufacturing use cases, like predictive maintenance.

Conclusion

Unide won’t be the type of open source project with bags of artifacts, million lines of code and a ready-to-use technology stack implementation. The focus lies solely on getting in touch with the new standard. The project itself serves as a platform for the further development of PPMP, which aims to become an accepted and widely used Industry 4.0 standard. Running the IoT testbed will show that it’s not only a theoretical specification, but an ideal standard for Industry 4.0 and smart manufacturing.

Providing validation functionalities for PPMP might seem intimidating, but it’s simpler than you think. Try it out for yourself!

Topics:
iot ,industrial internet ,ppmp ,open source ,eclipse Unide

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}