Más contenido relacionado La actualidad más candente (20) Similar a Nilden Tutular, Volkan Balikci, Uygar Zubari [Eldor Corporation] | MQTT - Machine Data Collection | InfluxDays NA 2021 (20) Nilden Tutular, Volkan Balikci, Uygar Zubari [Eldor Corporation] | MQTT - Machine Data Collection | InfluxDays NA 20213. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
Our Data Engineering Architecture
4. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
Machine Data Collection with MQTT Architecture
The data obtained by the Robot Controller, such as Torque, Temperature & Current, are sent to the PLC
with the EtherCAT industrial communication protocol. This data is then sent to the MQTT Broker on the server
with the MQTT communication protocol. The sent data is instantly listened by the Telegraf through the MQTT
Broker
.
We have worked with many different types and brands of robots. In this presentation we wanted to share the
details of our work with KUKA Industrial Robots. We use OMRON brand as PLC.
5. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
Details about Data Collection
KUKA Industrial Robots have 6 axes. Therefore, the data we receive is separated on an axis basis.
▶ Each data has two subtypes. Average and Peak Values.
The data (Torque, Temperature & Current) received from the Robot is sent to the PLC with the EtherCAT (Industrial Communication Protocol).
These data are made meaningful in PLC and transmitted to MQTT Broker in the form of JSON Data Format.
Axis No Torque Temperature Current
for (i=1; i<=6; i++)
Axis Average Value Axis Average Value Axis Average Value
Axis Peak Value Axis Peak Value Axis Peak Value
6. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
• On the PLC side, we process and combine the data (Torque, Temperature, Current) we receive from the robot and convert it to JSON format. We publish it to MQTT broker with
MQTT protocol
.
• Omron PLCs are used in our factory. That's why we made this project using Omron PLC’s
.
• In order to use the MQTT Protocol on the PLC side; First of all,
• It is necessary to have an Ethernet card on which the Socket Service Functions of the PLC can be used. Because when using MQTT, it has to open a socket according to the
TCP/IP standard and send the data to this socket with a topic
.
• Omron has created a library to PLC, which includes function blocks for MQTT Protocol and JSON Data Standard. ( A function block is a smart function with its own instances
and memories.)
Details about Data Collection
7. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
Mosquitto, Open Source MQTT Broker, is used as MQTT Broker. By the way, to briefly explain the MQTT Broker
;
An MQTT broker is a server that receives all messages from the clients and then routes the messages to the appropriate destination clients.
PLC and Telegraf are connected to MQTT Broker as MQTT Client. Here, the Broker acts as a server, making it possible to transfer data between clients
.
This Broker is installed on a Windows operating system computer. With the installation of this program, that computer turns into a MQTT Broker
.
The Broker's configuration is set to activate 1 port for up to 5 Robots for optimum data usage (Default 1883)
.
PLC publishes the data from the determined topic to the Broker. Obtains the data by listening to the broker from the same topic in Telegraf.
8. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
Predictive Maintenance Architecture
Details
9. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
Telegraf: High Qualified Server
Agent
As a deamonset for collecting robot data from Broker(directed from PLC)
10. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
10
Telegraf: High Qualified
Server Agent
11. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
Configuration
# Configuration for telegraf agent
[agent]
interval = "1s"
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "5s"
flush_jitter = "0s“
precision = ""
debug = true
# Configuration for sending metrics to
InfluxD
B
[[outputs.influxdb]]
urls = ["http://ourdomain:8086"]
database = "telegraf“
skip_database_creation = true
## HTTP User-Agent
user_agent = "telegraf"
[[inputs.mqtt_consumer]]
servers = ["tcp://ourIP:1883"]
# MQTT QoS, must be 0, 1, or 2
name_override = "rpmOvm1"
qos = 0
connection_timeout = "70s"
## Topics to subscribe to
topics = [ "SmartFactory0090/RPM" ]
#topic_tag="SmartFactory0090/
RPM"
persistent_session = false
client_id = ""
data_format = "json“
#[inputs.mqtt_consumer.tags]
# destinationdb ="telegraf"
tag_keys=[
"LineName",
"ModuleName",
"StationName",
"RobotName",
"RobotType",
"EditDate"
]
Telegraf as a deamonset for collecting robot data from Broker
12. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
The data we collect
EditDate LineName ModuleName RobotID RobotName RobotType StationName host topic
-------- -------- ---------- ------- --------- --------- ----------- ---- -----
2021-10-04T10:41:45.593Z OM1 Unload 2183201 PickMold KR10_R900_2 ST1_Mold ourHost.com.tr SmartFactory0090/RPM
2021-10-04T10:41:30.792Z OM1 Unload 2183205 CellUnload
KR10_R1100_SIX
X ST6_CellUnl ourHost.com.tr SmartFactory0090/RPM
2021-10-04T10:41:27.693Z OM1 Unload 2183204 Transfer G10_851SR ST4_Transfer ourHost.com.tr SmartFactory0090/RPM
Fields
Tags
13. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
The next steps
We have already configured these two
technologies in order to predict our Robot’s
breakdown times.
We have 1-Click ML Architecture with Kapacitor
on Chronograf and still trying to improve our
TICK-Stack knowledge for using the same stack
in other fields like sensor data.
14. © 2021 InfluxData Inc. All Rights Reserved.
© 2021 InfluxData Inc. All Rights Reserved.
References
• https://www.support-omron.fr/telechargements/documentations/2019-03-28%20-%2009-14-20%20-%201454888610/MQTT_library_revE.pdf
• https://www.support-omron.fr/telechargements/documentations/2019-03-28%20-%2009-14-20%20-%201422177077/JSON_library_revE.pdf
• https://assets.omron.eu/downloads/manual/en/w501_nx_nj-series_cpu_unit_software_users_manual_en.pdf
• https://www.kuka.com/tr-tr/%C3%BCr%C3%BCnler/robot-sistemleri/end%C3%BCstriyel-robot/kr-agilus
• https://www.ethercat.org/default.htm
• https://www.kuka.com/tr-tr/%C3%BCr%C3%BCnler/robot-sistemleri/robot-kontrol-%C3%BCniteleri/kr-c4