×

Status message

This proposal has been approved and the Eclipse Unide project has been created.

Unide

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Background: 

Noticeably in the recent years, there’s a continuous increase in demand, price pressure and complexity in manufacturing. Things need to move faster, be more flexible, and fulfill higher quality standards. Often, optimization in this regard is referred to as Production Performance Management (PPM). The basis for this optimization is information from the machines and devices related to a product, such as:

  • Torque and angle for a tightening process
  • Influx / efflux of throttle plate test station
  • Energy consumption of spindles in a cutting process

Nowadays, brand new machines and software are often shipped with powerful communication capabilities. For older machines, smaller factories and SMEs (Small and Medium Enterprises), it can be a challenge to catch up with the complex IT standards that come along. In fact, sometimes the hardware itself imposes limits.

Nevertheless, in a manufacturing environment, monitoring makes most sense if there are no blind spots. To achieve that, upgrading machines and software is one option, retrofitting another. For the latter, the hurdle should be as low as possible. Yet, there should be a few guidelines for a one-way exchange of the most necessary information (machine messages, measurements):

The structure of the data shall be:

  • flexible enough to be carried via multiple protocols,
    in order to not reinvent the wheel and leverage on existing technology
  • similar in each case,
    to be able to use the same software to interpret the data
  • easily understandable,
    so that implementation in a custom environment won’t be a hurdle
  • as simple as possible,
    to not produce an opinionated framework
  • and yet containing enough information for the use cases,
    to fulfill the functional requirements

We decided the least common denominator of necessary information are the mandatory fields, common relevant information to be optional, and the possibility for further extension points through metadata.

Industry benefits of Unide

This open source project aims to make PPM affordable for smaller organizations by reducing cost and complexity of data communication. Through sample implementations of a simple information structure (Production Performance Management Protocol - PPMP) tailored to manufacturing environments, we want to encourage the community to use, share, and evolve this structure together.

PPMP has already been introduced as part of a PPM testbed at a medium-sized Bosch plant, working with many SMEs as partners and suppliers. Furthermore, this testbed aims to create an ecosystem which allows SMEs and larger companies to collaborate efficiently.

The PPMP takes an important role by ensuring interoperability between different types of devices and software. It is designed to gather and aggregate machine and sensor data from different devices. It focuses on defining the JSON payload which can be transferred via a variety of transports (REST, AMQP, MQTT…). The primary goals of PPMP are:

  1. Integrating devices (across domains; e.g. manufacturing or energy) for data aggregation and gathering purposes
  2. Providing a very lightweight and easy-to-use solution for small and medium-sized enterprises (SMEs)
Scope: 

The Eclipse Unide project publishes the current version of Production Performance Management Protocol (PPMP) and develops simple server/client implementations. The implementations store the payloads in a database and displays them through a simple user interface. Everyone can then use these samples for their custom condition monitoring applications.

The project will contain:

PPMP Specification:

  • Machine message and measurement interfaces
  • JSON based
  • Versioned

Client:

  • Chrome / nw.js App
  • For Industry Machines and Devices
  • Node.js/Python client running on Raspberry Pi

Server:

  • (REST) Server including persistence and simple data visualization
  • Multiple examples for different technologies
Description: 

Eclipse Unide provides a lightweight Production Performance Management Protocol (PPMP) server-client implementations (using JSON, REST and other).

The core of the protocol are two interface definitions:

  • PPMP Measurement Interface: This is a public REST API with the purpose of receiving time series and machine data.
  • PPMP Messages Interface: This is a public REST API with the purpose of receiving machine messages.
Why Here?: 

The PPMP extends the existing Eclipse IoT world by providing an easy and lightweight format for gathering data from industry sensors and machines, focusing on normalizing time series and alert messages. It can be transported by protocols like REST, AMQP, MQTT. As PPMP, these technologies do also not require complex and expensive middleware nor do their systems cause additional license fees. Eclipse is an excellent platform for developing PPMP sample implementations and evolving the format hands-on with the community. In fact, it could even join forces with existing Eclipse IoT projects like Hono, Paho or Kura.

Project Scheduling: 

The project schedule contains three steps:

  • In short-term (end of Q3/2016)

    • Publishing PPMP specification

  • In mid-term (end of Q4/2016)

    • Development of first client and server

  • In mid-term (end of Q2/2017)
    • Development of further examples

Future Work: 

See project scheduling.

People
Source Code
Initial Contribution: 

The initial contribution to the project contains:

  • PPMP specification
  • Sample Client implementation
Source Repository Type: 
Sebastián Espinosa's picture

is public?

 

I want to understand the protocol and try to add some tests.

 

 

ty

nawazish khan's picture

Hi,

I am a full time Java developer with a bit of Go (Golang) as well. I would love to participate and contribute humbly in this project partly because I love programming and partly because I came into software industry from manufacturing industry!

I would wait to listen.

Sincerely,

M. Nawazish. Khan