blob: 58f03c89daae09fa845967f0faf5e1d6af985016 [file] [log] [blame]
<!DOCTYPE html>
<html data-n-head="" data-n-head-ssr>
<head>
<meta data-n-head="true" charset="utf-8"><meta data-n-head="true" content="width=device-width,initial-scale=1" name="viewport"><meta data-n-head="true" content="Eclipse Unide: Understand Industry devices" name="description" data-hid="description"><title data-n-head="true">Eclipse unide</title><link href="/unide/favicon.ico" rel="icon" data-n-head="true" type="image/x-icon"><base href="/unide/"><link href="/unide/files/app.afe60790845d32718c70d2bd3d6005bc.css" rel="stylesheet"><style data-vue-ssr-id="d5b0f30e:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}header.nav-header{box-shadow:0 3px 5px 0 #ddd;margin-bottom:2em;padding-bottom:0}header.nav-header nav.navbar{display:flex;align-items:flex-end;border-bottom:5px solid #50237f}header.nav-header nav.navbar .navbar-burger{margin-left:0;height:auto}header.nav-header nav.navbar .navbar-burger span{height:2px;width:25px}header.nav-header nav.navbar .navbar-burger span:first-child{margin-top:-9px}header.nav-header nav.navbar .navbar-burger span:nth-child(3){margin-top:7px}header.nav-header nav.navbar .navbar-brand{align-self:stretch}header.nav-header nav.navbar .navbar-brand .navbar-item img{max-height:none;width:240px}header.nav-header nav.navbar .navbar-item,header.nav-header nav.navbar .navbar-link,header.nav-header nav.navbar .navbar-link a{color:#a7a7a7}header.nav-header nav.navbar .navbar-item.is-active,header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a.is-active,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link.is-active,header.nav-header nav.navbar .navbar-link:hover{color:#78be20}header.nav-header nav.navbar .navbar-item:hover,header.nav-header nav.navbar .navbar-link a:hover,header.nav-header nav.navbar .navbar-link:hover{background-color:transparent;text-decoration:none;font-weight:700}header.nav-header nav.navbar .navbar-item .dropdown-trigger,header.nav-header nav.navbar .navbar-link .dropdown-trigger,header.nav-header nav.navbar .navbar-link a .dropdown-trigger{display:flex}@media screen and (min-width:1024px){.nav-header .container>.navbar .navbar-menu{margin-right:1rem}}@media screen and (max-width:1007px){header.nav-header nav.navbar{flex-direction:column;align-items:stretch}header.nav-header nav.navbar .navbar-menu{order:1;box-shadow:none}}@media screen and (min-width:1008px){nav.navbar .container .navbar-menu{height:40px}}</style><style data-vue-ssr-id="0d7afdaa:0">@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.specification .card-content{padding:.5em}.specification img.is-centered{max-width:100%;margin-left:auto;margin-right:auto;display:block}.specification .property.card{margin-bottom:2em}.specification .property.card .card-content{font-size:.875em}.specification .property.card .card-content pre[class*=language-]{width:100%}.specification .property.card .card-content .field-body{display:block}.specification .property.card .card-content .field-body>div:not(:last-child){margin-bottom:.75rem}.specification .property.card>.card-header{background-color:#f5f5f5}.specification .property.card>.card-header p{margin-bottom:0}.specification .property.card>.card-header .card-header-icon{text-decoration:none}.specification #messageDetail.columns{margin-top:3em;border-bottom:2px solid #50237f;margin-bottom:2em}.specification #messageDetail.columns>.column a{font-size:1.2rem;color:#a7a7a7;display:block;text-decoration:none}.specification #messageDetail.columns>.column a:hover{color:#78be20;font-weight:700}.specification #messageDetail.columns>.column.nuxt-link-active a{color:#78be20}</style>
</head>
<body data-n-head="">
<div id="__nuxt" data-server-rendered="true"><div class="nuxt-progress" style="width:0%;height:2px;background-color:#50237f;opacity:0"></div><div id="__layout"><div><header class="nav-header"><div class="container"><nav class="navbar"><div class="navbar-menu" id="navMenu"><div class="navbar-start"><a href="/unide/" class="navbar-item">
Home
</a><a href="/unide/proposal" class="navbar-item">
Proposal
</a><a href="/unide/specification" class="navbar-item nuxt-link-exact-active is-active">
Specification
</a><a href="/unide/blog" class="navbar-item">
Blog Archives
</a><a href="/unide/faq" class="navbar-item">
FAQ
</a></div></div><div class="navbar-brand"><div class="navbar-burger burger"><span></span><span></span><span></span></div><a href="/unide/" class="navbar-item nuxt-link-active"><img src="logo.svg"></a></div></nav></div></header><div class="container"><div class="header clearfix"></div><div class="specification"><div class="content"><h1><a id="PPMP-Specification" title="PPMP Specification"></a>
PPMP Specification
</h1><h2>Rationale</h2><p>
Noticeably in recent years, there is a continuous increase in demand, price pressure and complexity in manufacturing. Things need to move faster, be more flexible, and fulfill higher quality standards forcing manufacturers to optimize their processes.
<p>
Production facilities and their performance have a huge impact on the overall performance of manufacturing processes. However, to identify bottlenecks and possibilities for improvements detailed data from machines are required.
<p>
Such data is surely provided by machines either via modern protocols such as OPC UA or via proprietary access methods but it is not provided in a common and easily accessible format, which can be used to do performance analysis and optimization. This renders holistic process improvement efforts infeasible for many, especially smaller organizations.
<p>
The Production Performance Management Protocol (PPMP) specifies a format that allows to capture data that is required to do performance analysis of production facilities. It allows monitoring backends to collect and evaluate key metrics of machines in the context of a production process. It is doing that by allowing to relate the machine status with currently produced parts.
<p>
The specification is structured into three payload formats: Measurement payload, message payload and process payload. The Measurement payload contains measurements from machines such as the temperature of a machine at a specific point in time together with the currently produced part. The message payload contains arbitrary messages sent by a machine, e.g. alerts or the like. A process message consists of information about a discrete e.g. tightening or welding processes with all their characterising data which are needed to describe and analyze it.
<p>
The default way of transporting the json payload is via http to allow for an easy integration into various backend systems. Other transportation methods are possible and welcome.
</div><div class="columns" id="messageDetail"><div class="column"><a href="/unide/specification#messageDetail">Overview</a></div><div class="column"><a href="/unide/specification/machine-message#messageDetail">Machine Message</a></div><div class="column"><a href="/unide/specification/measurement-message#messageDetail">Measurement Message</a></div><div class="column"><a href="/unide/specification/process-message#messageDetail">Process Message</a></div></div><div class="content"><h1><a href="#Communicating-Parties" title="Communicating Parties"></a>
Communicating Parties
</h1><p>
Two parties are involved in a PPMP message exchange: the sender and the receiver. The sender pushes a message to the receiver. Usually the sender is a machine or a sensor of a machine.
<p>
The receiver waits for messages. It offers a API that allows for sending either measurement payloads or message payloads.
<p>
The communication is unidirectional. Only the sender can contact the receiver and send messages. No feedback from receiver to sender is provided.
</p><img src="images/collaborators_v2.svg" alt="Overview PPMP" title="Overview PPMP" class="is-centered"></div></div></div><footer class="footer"><div class="container"><div class="content has-text-centered"><ul><span><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></span><span><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></span><span><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></span><span><a href="https://eclipse.org/security/">Security reports</a></span><span><a href="http://www.eclipse.org/legal/">Legal</a></span></ul></div></div></footer></div></div></div><script type="text/javascript">window.__NUXT__={layout:"default",data:[{isStatic:!0},{}],error:null,state:{},serverRendered:!0}</script><script defer src="/unide/files/manifest.d751c57943ee407a2f53.js"></script><script defer src="/unide/files/layouts_default.2114b4fdc743f1b2e00e.js"></script><script defer src="/unide/files/pages_specification.cfba7cb7ef03067aa6be.js"></script><script defer src="/unide/files/pages_specification_index.06dad5cb3f63c35339f3.js"></script><script defer src="/unide/files/vendor.21b6003b92f8fb004a4d.js"></script><script defer src="/unide/files/app.1a7766a710a6398bc906.js"></script>