This thesis aims to ease the visualization and utilization of numerous quantities, parameters and states of a production line by collecting real time data, storing it in a database and plotting custom graphs, tables and alerts. The need of a program that solves this problem comes from the Industry 4.0 laboratory of Politecnico di Milano, where a reduced scale production line is located. The opportunity to have at disposal a large amount of organized data will give the chance to come up with new techniques for predictive maintenance and refine already existing ones. Numerous sensors are already deployed and connected to the local network utilizing the standard OPC-UA. However, to date, there is not a fast and practical way to access the values of these sensors for everyday usage. The main idea of this thesis is to collect the data from the sensors by running a concurrent Python script able to communicate with multiple nodes of the network at the same time in order to achieve a real time data collection. The same script uploads the newly collected data to InfluxDB, a database able to store, process and organize a large amount of data points, keeping track of the precise moment at which they were recorded. InfluxDB, then, has an inbuilt way to dashboard this data selecting how and what to visualize. Through this process, interesting parameters such as trends, maximum and minimum values, averages, variances and other quantities are readily available at a glance. Both the Python script and InfluxDB will be running in a Docker container removing the need to install packages and dependencies on the local machine that will run the software. Furthermore all of the utilized software is open source.
L'obbiettivo di questa tesina è quello di rendere più semplice la visualizzazione e l'utilizzo di numerose quantità, parametri e stati di una linea di produzione tramite la raccolta di dati in tempo reale, accumularli in un database e successivamente organizzarli in grafici e tabelle. La necessità di un programma che risolva tale problema nasce dal laboratorio Industry 4.0 del Politecnico di Milano, dove si trova una ricreazione didattica di una linea di produzione. L'opportunità di avere a disposizione una grande quantità di dati organizzati darà la possibilità di concentrarsi sullo studio di essi al fine di migliorare le tecniche di manutenzione predittiva. Molti sensori sono già montati sulla linea di produzione e connessi alla rete locale utilizzando lo standard OPC-UA. Nonostante ciò, al momento, non c'è un modo veloce e comodo per visualizzare i valori di questi sensori per un uso quotidiano. L'idea consiste nel leggere i valori dei sensori con uno script in Python che sfrutta la programmazione concorrente per comunicare con numerosi nodi della rete in contemporanea raggiungendo una raccolta dati in tempo reale. Lo stesso script, successivamente, carica i dati appena raccolti su InfluxDB, un database in grado di accumulare, processare e organizzare una grande quantità di dati, tenendo traccia del preciso momento in cui sono stati raccolti. La creazione della dashboard verrà poi effettuata tramite un metodo proprio di InfluxDB. In questo modo, parametri interessanti come trend, massimi e minimi, medie, varianze e altri valori potranno essere facilmente visualizzati. Sia lo script Python che InfluxDB saranno utilizzati tramite un container Docker, in questo modo non sarà necessario installare pacchetti e dipendenze necessari per la loro esecuzione sulla macchina locale che farà girare il programma. Inoltre, tutto il software utilizzato è disponibile senza bisogno di licenza.
Dashboarding of real time data from a production line
Bonacina, Luca
2021/2022
Abstract
This thesis aims to ease the visualization and utilization of numerous quantities, parameters and states of a production line by collecting real time data, storing it in a database and plotting custom graphs, tables and alerts. The need of a program that solves this problem comes from the Industry 4.0 laboratory of Politecnico di Milano, where a reduced scale production line is located. The opportunity to have at disposal a large amount of organized data will give the chance to come up with new techniques for predictive maintenance and refine already existing ones. Numerous sensors are already deployed and connected to the local network utilizing the standard OPC-UA. However, to date, there is not a fast and practical way to access the values of these sensors for everyday usage. The main idea of this thesis is to collect the data from the sensors by running a concurrent Python script able to communicate with multiple nodes of the network at the same time in order to achieve a real time data collection. The same script uploads the newly collected data to InfluxDB, a database able to store, process and organize a large amount of data points, keeping track of the precise moment at which they were recorded. InfluxDB, then, has an inbuilt way to dashboard this data selecting how and what to visualize. Through this process, interesting parameters such as trends, maximum and minimum values, averages, variances and other quantities are readily available at a glance. Both the Python script and InfluxDB will be running in a Docker container removing the need to install packages and dependencies on the local machine that will run the software. Furthermore all of the utilized software is open source.File | Dimensione | Formato | |
---|---|---|---|
Master_Thesis_Luca_Bonacina 06-11-22.pdf
accessibile in internet per tutti
Dimensione
18.1 MB
Formato
Adobe PDF
|
18.1 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/195952