Passa al contenuto principale

BilanciaWorker

 funzione Principale è: AvviaCollegamentoBilancia

await _notificatoreHubClient.StartAsync();

  • Avvia il collegamento al Hub di SignalR
    • Si sottoscrive a: "RichiediStato"

var response = leggiPresenzaPallet();

  • Tramite OPCUA chiede la lettura della PRESENZA del pallet
  • Aggiorna lo Stato della Bilancia che è "ONLine"
  • Invio notifica all'HUB

 await LeggiPeso();

  • Tramite OPCUA chiede la lettura del PESO del pallet

await imballaggioService.SalvaPesoAsync(_appConfig.IpBilancia, pesoLetto);

  • Tramite il Servizio ImballaggioService esegue la procedura di "Gestione del Pacco" e stampa Etichetta.

(Vedi Pagina ImballaggioService)

 

  • Se NON c'è il peso segue la procedura KoNBoRFID
  • Se C'E' il peso Salva il peso nella tabella: LettureRockwellTb
    • await controllaCampione(customLetturaBilancia);

      • Cerco nella tabella Pesi_Campione se esiste un pallet con l'epc letto dalla bilancia

 

  • Controlla Se E'  un CAMPIONE
    • await KoNoCampione(pesoCampione);

    • await Salva_Pallet_Tabella_5_A_Terra

  • Se NON è un CAMPIONE
      • await CercaNelleTabelleSTAIN(customLetturaBilancia);

      • Cerca in Tabella3
      • Cerca in Tabella4
      • Chiede all'OPCUA il numero di colata
      • Cerca in Tabella5FineLavoro
      • Gestione CASI:
        • CASO 1: Pallet presente nel DB e il numero di colata del pallet è lo stesso di quello della colata attuale oppure è bypassata la gestione numero colata
        • CASO 2: Pallet presente nel DB ma il numero colata del pallet è diverso da quello della colata impostata --> PACCO A TERRA
        • CASO 3: Pallet non presente nel DB --> forzare bit di bypass PC nel PLC