Supported protocols
PPMP (Production Performance Management Protocol)
The Production Performance Management Protocol (PPMP) is an IT protocol developed by Bosch for Industry 4.0 for communication between machines.
Technically, the data is sent as a JSON payload via HTTP-REST, AMQP, MQTT or other methods. Communication via PPMP is unidirectional and goes from the machine to a recipient by design. The recipient is the client and, in the simplest case, provides a REST API.
PPMP offers the specifications "Machine Message", "Measurement Message" and "Process Message" with differently defined structures. The protocol used to be promoted by the Eclipse IoT Working Group under the project name Unide and is licensed as open source and free for everyone to use.
The URI of the Information Router endpoint is built as in the following pattern:
https://{serverUrl}:{port}/connectivity/messaging/{apiVersion}/{tenantId}/{messageFormat}/{messageVersion}{messageType}
The table bellow explains the components of the URI pattern.
Component | Meaning | Possible Values | Example |
---|---|---|---|
serverUrl |
The fully qualified name or IP address where the Information Router service is running. |
||
port |
The port on which the service is running |
||
apiVersion |
The version of the Information Router machine API. |
Current version: v1 |
|
tenantId |
The unique identifier of the tenant to which the machine is assigned to. |
7311ea8c-5d48-43fe-acf9-980eedf24b6c |
|
messageFormat |
The format of the message that the machine sends to the Information Router service. |
Currently supported: |
|
messageVersion (optional) |
The version of the Ppmp payload. This part of the URL is optional and defaults to v3 when omitted. |
v2 |
|
messageType |
The type of the message payload that the machine sends to the Information Router service. |
For the ppmp message format, the available message types are: |
Example URI:
https://serverurl.com:8000/connectivity/messaging/v1/7311ea8c-5d48-43fe-acf9-980eedf24b6c/ppmp/v2/measurement
https://serverurl.com:443/connectivity/messaging/v1/7311ea8c-5d48-43fe-acf9-980eedf24b6c/ppmp/measurement
Message Payload
The Information Router service validates the received Ppmp request against the official Ppmp schemas and aborts forwarding if the payload is not following the specification.
Rexroth Tightening Protocol
The Rexroth Tightening protocol is a message protocol for communication between Bosch Rexroth tightening devices and services.
Technically, the data is sent as a JSON payload via HTTP. TLS is unfortunately not supported by the devices that use this protocol. The communication is unidirectional and always goes from the device to a backend service.
Information Router translates the incoming messages into PPMP process messages which are subsequently forwarded to the consuming services like Process Quality (PQ).
Message forwarding
During the forwarding of messages from Rexroth tightening controllers a conversion takes place that transforms the original Rexroth json to a standard PPMP version 2 (until Hub version 1.1.0) or version 3 (from Hub version 1.2.0) process message. The conversion for an average message takes a few milliseconds thus the throughput of the hub is less than for normal PPMP forwarding. The measured throughput with a general test environment is around 200 messages per second.
The URI of the Information Router endpoint is built as in the following pattern:
https://\{serverUrl}:\{port}/connectivity/messaging/\{apiVersion}/\{tenantId}/rexrothtightening
The table bellow explains the components of the URI pattern.
Component | Meaning | Possible Values | Example |
---|---|---|---|
serverUrl |
The fully qualified name or IP address where the Information Router service is running. |
||
port |
The port on which the service is running |
||
apiVersion |
The version of the Information Router machine API. |
Current version: v1 |
|
tenantId |
The unique identifier of the tenant to which the machine is assigned to. |
7311ea8c-5d48-43fe-acf9-980eedf24b6c |
Example URI:
https://serverurl.com:8000/connectivity/messaging/v1/7311ea8c-5d48-43fe-acf9-980eedf24b6c/rexrothtightening
Additional Notes for Rexroth Tightening
During the forwarding of messages from Rexroth tightening controllers a conversion takes place that transforms the original Rexroth json to a standard PPMP version 2 (until Hub version 1.1.0) or version 3 (from Hub version 1.2.0) process message. The conversion for an average message takes a few milliseconds thus the throughput of the hub is less than for normal PPMP forwarding. The measured throughput with a general test environment is around 200 messages per second.
Message Payload
The Information Router service validates the received Rexroth json payload against the official schemas and aborts forwarding if the payload is not following the specification.
OPP (Open Production Protocol)
The Open Production Protocol (OPP) is an application-level protocol, that uses standardized manufacturing domain messages for the information exchange between machines and software solutions in manufacturing. It supports the message exchange patterns one-way (i.e. publish-subscribe) and request-response. OPP is also designed to enable saving of redundantly transferred data by batching of manufacturing domain messages.
Features
-
Reduction of configuration and integration effort for manufacturing machines and software solutions in the manufacturing context by introducing standardized manufacturing domain messages.
-
Balancing of interests of machine and solution developers, so it is easy for machines and software solutions to create and process OPP messages.
-
Support of "one-way" and "request-response" communication patterns, which can be determined by the sender.
-
Saving of redundantly transferred data by batching of manufacturing domain messages.
-
Independence of the used transport protocols (e.g. HTTP, MQTT).
-
Downward compatible extensibility of OPP messages.
For the specification, please check out our API documentation |