BIION-D Docs

Caso 1: Dischi plastica — Caso 0 con dashboard e PLC

Esercizio di formazione 1 — Estensione del Caso 0 con invio dei conteggi a una dashboard personalizzata e integrazione con il PLC di linea.

Panoramica dello scenario

Parti dalla pipeline funzionante del Caso 0: YOLO rileva ogni disco in plastica, identifica la Faccia A o la Faccia B e il Plugin esporta count_a, count_b e total_count. Estendi lo stesso flusso per comunicare i risultati a una dashboard personalizzata e al PLC di linea:

  • Rilevamento faccia e conteggio: conserva i rilevamenti YOLO e i conteggi per faccia del Caso 0.
  • Invio telemetria: inviare i conteggi e i metadati di ciclo tramite Webhook a una dashboard esterna personalizzata.
  • Handshaking PLC:
    • Leggere il trigger di ciclo e l’ID lotto attivo dal PLC di linea tramite OPC-UA Reader.
    • Scrivere il conteggio di Faccia A e Faccia B nei registri del PLC tramite OPC-UA Writer.

Nota sull’ambito: riusa il Caso 0 senza aggiungere rilevamento anomalie o ispezione dei difetti superficiali. Le nuove attività riguardano l’integrazione con dashboard e PLC.


Compiti da svolgere

È richiesto di costruire e configurare la pipeline di ispezione:

  1. Architettura della pipeline: estendi l’Action Plan del Caso 0 coordinando lettura PLC, acquisizione immagine, rilevamento YOLO, conteggio e comunicazione verso l’esterno.
  2. Rilevamento e conteggio: mantieni le classi Object Detection del Caso 0 (disc_face_a e disc_face_b) e gli output del Plugin (count_a, count_b e total_count). Prepara un payload JSON dai conteggi esportati e dai metadati di ciclo.
  3. Invio Webhook alla dashboard: configura un modulo Webhook per effettuare un HTTP POST dei conteggi e del payload di telemetria verso l’endpoint della dashboard.
  4. Handshaking di output verso il PLC: configura il modulo OPC-UA Writer per mappare i conteggi esportati (count_a, count_b) sui corrispondenti nodi del PLC.

Specifiche e vincoli di sistema

Parametro Specifica
Ambito di ispezione Classificare l’orientamento della faccia dei dischi (Faccia A vs Faccia B) e contare la quantità di ciascuna.
Telecamera disponibile 1 telecamera.
Illuminazione disponibile Alcune luci.
Tipo di modello Rilevamento oggetti (classi disc_face_a e disc_face_b).
Output del Plugin Conteggio Faccia A (count_a), conteggio Faccia B (count_b) e totale (total_count).
Dashboard esterna Endpoint HTTP POST che riceve un payload JSON con count_a, count_b e total_count.
Comunicazione PLC Server OPC-UA su Main_PLC con nodi di Trigger/BatchID in lettura e registri di conteggio in scrittura.

Criteri di accettazione

La soluzione sarà valutata in base ai seguenti criteri:

  • [ ] La pipeline contiene la sequenza corretta di moduli dall’acquisizione dell’input all’output esterno senza conflitti di dipendenza.
  • [ ] Il rilevamento e il conteggio per faccia del Caso 0 continuano a funzionare per tutti i dischi visibili.
  • [ ] Il modulo Webhook invia un payload JSON valido contenente i conteggi all’endpoint della dashboard.
  • [ ] I tag OPC-UA nel PLC si aggiornano con i valori corrispondenti di count_a e count_b.