Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "BaSyx / Documentation / Monitoring Scenarios"

(Applications & Benefits)
(Use Case - Data Analytics)
Line 8: Line 8:
 
=== Use Case - Data Analytics ===
 
=== Use Case - Data Analytics ===
  
Data analysis play a key role in making decisions in a many diverse businesses and domains. In the context of Industry 4, data analysis will support to operate more effectively and efficiently, and will also be crucial for predictive maintenance.  
+
Data analysis play a key role in making decisions in a many diverse businesses and domains. In the context of Industry 4.0, data analysis will support to operate more effectively and efficiently, and will also be crucial for predictive maintenance.  
  
 
In the context of Basyx project, a tool named <b>Streamsheets</b> is integrated to support Basyx users in the task of monitoring and visualizing streams of data.
 
In the context of Basyx project, a tool named <b>Streamsheets</b> is integrated to support Basyx users in the task of monitoring and visualizing streams of data.

Revision as of 15:13, 17 November 2020

Overview

Basyx enables integration with third-party tools to support real-time data visualization, real-time data monitoring, and data processing. The following examples provide different use cases according each application.

Applications & Benefits

Use Case - Data Analytics

Data analysis play a key role in making decisions in a many diverse businesses and domains. In the context of Industry 4.0, data analysis will support to operate more effectively and efficiently, and will also be crucial for predictive maintenance.

In the context of Basyx project, a tool named Streamsheets is integrated to support Basyx users in the task of monitoring and visualizing streams of data. Streamsheets provides features such as:

  • Data streams may be processed, aggregated, visualized and transformed in real-time as a server application.
  • Data streams may be exchanged over REST-based protocols (request/response)
  • Data streams may be published/subscribed via protocols like MQTT, Apache Kafka or AMQP.


The following example describes a scenario where temperature values are collected from a AAS via a proxy:

  • A parameter called temperature is collected via a proxy each 1 second.
  • The accumulated results can be see as bar chart.
  • It is also possible to customize some alert messages, for example when the temperature reaches a certain value. It is possible to send such critical values as a message to an e-mail address.


Basyx.monitoring-streamsheets-thumb.png

Use Case - Dashboard

Data visualization through user-friendly Dashboards which displays real-time data complements the use case Data Analytics. To support Basyx users the tool names Grafana was selected as a flexible and customizable application. Grafana is an open-source tool for creating dashboards of different types of data sources. Grafana provides features such as:

  • It is possible to query and visualize data independent of where data is stored.
  • Data may be read from multiple sources.
  • Different metrics and parameters can be configured and visualized in a single dashboard.


The following example describes a scenario where temperature values can be visualized in a nice and easy-to-read dashboard:

  • A parameter called temperature is collected via a proxy each 1 second. This interval can also be customized according the need, e.g. 5 sec, 1 min, 10 min, 1 hour, and so on.
  • The accumulated results can be see using different types of charts.
  • It is also possible to configure alert messages based on customized rules. Messages can be sent to an e-mail (single or multiple addresses); Telegram; Microsoft Teams; Slack; webhooks; and many more.


GrafanaDashboard.png

Use Case - Dataflow Controlling

Dataflow controlling is also a need in the context of Industry 4.0. In near future, most of all operations in a shop floor might be based on data. From basic operations, decision making processes, predictive maintenance, to processes optimization all will be realized by interoperability of data. Many sources and targets will be in communication exchanging information. To support such scenarios, Basyx users shall use tools that allows data processing and transformation. For the moment, Node-RED is the selected tool to support in these tasks. Node-RED provides features such as:

  • Flows shall be composed by nodes and links. These flows can be wired, and then deployed in runtime.
  • Flows can be deployed to run locally; in a device (e.g. a Raspberry Pi); or in the cloud.
  • Nodes may send and receive messages whilst the flow is running.


Node-RED shall be used for use cases such as:

  • Data processing and transformation - e.g. a temperature is collected in Celsius and need to be consumed by a software in Fahrenheit;
  • Data propagation - e.g. temperature collected from an oven A shall be sent to a cloud server X, and temperature collected from an oven B shall be sent to a cloud server Y;

and many more.


In the following example:

  • a node "Get Temperature" reads temperature via http request each 1 second. This interval can also be customized according the need, e.g. 5 sec, 1 min, 10 min, 1 hour, and so on.
  • a node "Calculate Average" computes the temperature average for all read values, and node "MQTT Avg Temp Publisher" sends it to a server via MQTT Publisher protocol.
  • a node "Calculate Fahrenheit" transforms the values from Celsius to Fahrenheit, and node "MQTT Fahrenheit Temp Publisher" sends it to a server via MQTT Publisher protocol.


NodeRedDashboard.png

How to Use

TODO: deploy the built docker images to DockerHub TODO: Push the files to BaSyx SDK

A full example for monitoring properties in Asset Administration Shells is given in the Git repository. To run this example, there exist following minimum requirements:

  • Git
  • A running Docker environment


To download the necessary files, you can check out the BaSyx repository from the command line with:

git clone https://git.eclipse.org/r/basyx/basyx

After checking out the repository, you can easily run the example:

1. Browse to /examples/monitoring
2. Run the "start.bat"-file or alternatively run "docker-compose up" in the /docker folder

If there are issues with the docker environment, make sure that the files inside of the git repository are shared with the docker containers by configuring the file sharing mechanism in the docker daemon settings.

Back to the top