Sviluppare dahsboard OPC UA

10/10/2023
Francesco Massimo Gallo
OPC UA Dashboard

Devo sviluppare una dashboard per interconnettere due macchinari tramite il protocollo OPC UA.

Di seguito propongo una possibile soluzione sul linguaggio da utilizzare e sui principali step da seguire per realizzare una dashboard che permetta all’utente di:

  1. leggere il valore delle variabili
  2. scrivere sulle variabili
  3. conservare uno storico delle attività di lettura e scrittura delle variabili.

Vediamo un elenco passo passo delle attività.

OPC UA (Open Platform Communications – Unified Architecture) è un protocollo standard per la comunicazione di dati tra macchine in ambito industriale.

Per sviluppare un software client che si interfacci con i macchinari attraverso OPC UA, considereremo i seguenti passi.

Analisi delle possibilità:

  • Piattaforma: Su quale piattaforma (Windows, Linux, etc.) dovrà girare il nostro client?
    OPC UA supporta diverse piattaforme, quindi questo definirà la nostra scelta di linguaggio e libreria.
  • Linguaggio di programmazione: Esistono librerie e toolkit OPC UA per molti linguaggi, inclusi C++, Java, Python, .NET, etc.
  • Libreria OPC UA: A seconda del linguaggio scelto, dovremo selezionare una libreria OPC UA adatta.

Scelta del linguaggio e della libreria:

Dato che vuoi una soluzione flessibile e possibilmente con una curva di apprendimento non troppo ripida, potremmo scegliere Python come linguaggio. Esistono diverse librerie Python per OPC UA, come ‘opcua-asyncio’ che è moderna e basata su ‘asyncio’, offrendo così un modello asincrono.

Step per lo sviluppo:

  • Configurazione del client: Installa la libreria scelta e crea un client OPC UA.
  • Connessione al server: Questo step prevede la connessione del client al server OPC UA dei macchinari. Di solito, avrai bisogno dell’endpoint del server.
  • Lettura delle variabili: Utilizza la libreria per navigare la struttura del server e leggere le variabili desiderate.
  • Scrittura delle variabili: Analogamente alla lettura, la libreria ti permetterà di scrivere valori sulle variabili.
  • Conservazione storica: Per mantenere uno storico delle attività di lettura e scrittura, puoi utilizzare un database come SQLite (per soluzioni leggere) o PostgreSQL (per soluzioni più robuste). Ogni volta che leggi o scrivi una variabile, registra l’evento nel database.
  • Sviluppo della dashboard: Utilizza un framework web come Flask o Django per sviluppare una dashboard.
    Questa dashboard avrà una UI che mostra le variabili e permette agli utenti di leggerle o modificarle. Inoltre, presenterà lo storico delle operazioni prelevato dal database.

Test

  • Testa la connessione tra il client e i server dei macchinari.
  • Verifica la lettura e scrittura delle variabili.
  • Controlla che lo storico delle attività venga correttamente registrato nel database.
  • Assicurati che la dashboard funzioni correttamente, mostrando le informazioni in tempo reale e permettendo le operazioni di lettura/scrittura.

Documentazione e deploy

  • Crea una documentazione per l’utente finale e per gli sviluppatori.
  • Infine, distribuisci la soluzione nella piattaforma target, assicurandoti che tutto funzioni correttamente.

In sintesi, Python, con la libreria ‘opcua-asyncio’ e un framework web come Flask, sembra una buona soluzione per il tuo progetto.

Questa scelta offre flessibilità, una curva di apprendimento relativamente soft e buone prestazioni.

Procediamo quindi con lo sviluppo della dashboard e ci aggiorniamo in un prossimo articolo.

Leave a comment

Iscriviti alla newsletter

Articoli recenti