Building block > Building block specifici della soluzione > Building block di KPI delle operazioni > Ulteriori informazioni sull'automazione (building block di KPI delle operazioni)
Ulteriori informazioni sull'automazione (building block di KPI delle operazioni)
Tenere presenti le informazioni riportate di seguito durante l'utilizzo dell'automazione dei dati e del building block di KPI delle operazioni.
Elaborazione in batch di eventi di automazione
Ogni 5 minuti viene eseguito un evento timer per l'entità timer PTC.OperationKPI.AutomationEventProcessor_TI e la sottoscrizione di ogni pacemaker nell'evento esegue il servizio di elaborazione eventi di automazione principale: ProcessPTCAutomationEvents. L'elaborazione multibatch viene quindi esercitata finché non sono presenti altri eventi da elaborare per il pacemaker.
L'elaborazione in batch viene eseguita per ogni pacemaker. Di seguito sono riportate le operazioni principali che si verificano, nell'ordine.
1. Interrogazione dello stream di valori per i dati dell'evento non ancora elaborati. L'interrogazione restituisce le voci per tutti gli eventi con data e ora successive al valore della proprietà PTCLastProcessedEventTimestamp corrente.
2. Elaborazione degli eventi di interrogazione per ogni data e ora, in ordine di tipo di evento: commessa (PTCJobOrderID), materiale principale (PTCMaterialMasterID), quantità target (PTCTargetQuantity), disponibilità (PTCAvailabilityEventFaultCode) e, infine, conteggio di produzione (PTCProductionCount) e conteggio di scarti (PTCScrapCount).
3. Buffering degli eventi di conteggio di produzione e scarti per consolidare le voci del database scritto.
4. Inserimento nel database DPM dei conteggi di produzione e scarti memorizzati nel buffer.
La proprietà PTCLastProcessedEventTimestamp viene aggiornata dopo l'elaborazione di ogni evento. Per i conteggi di produzione e scarti, la proprietà PTCLastProcessedEventTimestamp non viene aggiornata finché tutti i conteggi raggruppati non sono stati inseriti nel database. La data e l'ora più recenti di tutti i gruppi memorizzati nel buffer sono impostate come valore della proprietà PTCLastProcessedEventTimestamp.
Buffering degli eventi di conteggio di produzione e scarti
Durante l'elaborazione in batch, gli eventi di conteggio di produzione e scarti vengono memorizzati nel buffer e organizzati in memoria. Ogni voce è organizzata in un gruppo specifico, costruito come descritto di seguito. Ogni valore elaborato incrementerà il valore di un conteggio nella voce per il gruppo specifico.
Gli eventi del numero di scarti sono raggruppati per codice macchina, ID commessa, turno e ID blocco di produzione. Quando il turno è sconosciuto, il valore UNKNOWNSHIFT viene utilizzato al posto del numero di turno.
Gli eventi di produzione sono raggruppati per ID commessa, turno e blocco di produzione. Quando il blocco di produzione è sconosciuto, il valore UNKNOWNPB viene utilizzato al posto del numero di blocco di produzione.
I conteggi vengono memorizzati nel buffer fino a quando non viene elaborato un evento non di conteggio o viene raggiunta la fine dei risultati dell'interrogazione. A questo punto, i conteggi vengono inseriti nel database DPM. La proprietà PTCLastProcessedEventTimestamp è impostata sulla data e ora dell'evento più recente tra tutti i gruppi di conteggi memorizzati nel buffer.
Qualità dei dati
Solo i valori delle proprietà automatizzate in entrata per un pacemaker con qualità GOOD vengono scritti nello stream di valori. L'operazione viene eseguita utilizzando una sottoscrizione all'evento di modifica dei dati di ciascuna proprietà automatizzata. La sottoscrizione chiama il servizio AddPTCValueStreamEntry e verifica che la qualità sia GOOD prima di aggiungere il valore della proprietà allo stream di valori.
Eliminazione programmata dei dati di proprietà
L'entità scheduler PTC.OperationKPI.AutomationPurgeScheduler controlla l'eliminazione dei dati dello stream di valori per ogni pacemaker. La proprietà dataAgeInHours nell'entità PTC.OperationKPI.AutomationPurgeScheduler determina l'intervallo di tempo dei dati eliminati.
L'ora di fine di questo intervallo di tempo corrisponde all'ora corrente meno il valore di dataAgeInHours o meno la data e ora della proprietà PTCLastProcessedEventTimestamp per il pacemaker, a seconda di quale sia più recente. L'ora di inizio dell'intervallo di tempo corrisponde all'ora di fine dell'intervallo di tempo meno il valore di dataAgeInHours.
Ad esempio, se il valore di dataAgeInHours è 24 (valore di default) e il valore della proprietà PTCLastProcessedEventTimestamp su Pacemaker A non corrisponde a meno di 24 prima dell'ora corrente, l'ora di fine dell'intervallo di tempo è 24 ore prima dell'ora corrente. L'ora di inizio dell'intervallo di tempo è quindi 48 ore prima dell'ora corrente o 24 ore prima dell'ora di fine. Di conseguenza, quando l'entità PTC.OperationKPI.AutomationPurgeScheduler elimina i dati per Pacemaker A, vengono eliminate tutte le voci di dati dello stream di valori con data e ora tra 24 ore e 48 ore prima dell'ora corrente.
Se, tuttavia, il valore della proprietà PTCLastProcessedEventTimestamp per Pacemaker A è 3 ore prima dell'ora corrente, meno di 24 ore prima del valore dataAgeInHours, vengono eliminate tutte le voci di dati dello stream di valori con data e ora tra 3 ore e 27 ore prima dell'ora corrente.
Disconnettività del pacemaker
Quando il pacemaker è disconnesso da DPM più a lungo del valore della proprietà PTCMaxTimeAllowedDisconnected, i dati precedenti al tempo indicato in minuti vengono ignorati.
Se la proprietà PTCEnableAutoSetMachineStatusToRunning è impostata su true e l'entità è stata disconnessa più a lungo del tempo massimo specificato dalla proprietà PTCMaxTimeAllowedDisconnected, l'elaborazione in batch tenta di impostare il pacemaker sullo stato di disponibilità In funzione se era stato precedentemente inattivo prima della disconnessione. Ciò accade come azione finale dell'elaborazione in batch, chiamando il servizio SetPTCMachineStatusToRunningIfDisconnectedMoreThanAllowed, dopo che tutti gli eventi sono stati elaborati.
* 
L'impostazione di un pacemaker sullo stato In funzione indica che un evento di disponibilità con le informazioni relative al motivo di esecuzione corrispondenti viene inserito nel database DPM.
La proprietà PTCLastTimeConnected viene utilizzata per rappresentare la data e ora dell'ultima ricorrenza di un evento di disconnettività, ovvero quando la proprietà isConnected era impostata su false. Questa proprietà viene aggiornata solo quando si verifica un evento di disconnessione.
Thing shape PTC.MfgModel.WorkunitModelLogic_TS
La thing shape PTC.MfgModel.WorkunitModelLogic_TS nel building block del modello di fabbricazione contiene anche i servizi e le proprietà utilizzati dall'automazione dei dati.
Il servizio IsPTCAutomationWorkUnit verifica se l'unità di lavorazione supporta l'automazione dei dati.
La proprietà PTCDisconnectivitySupported è una proprietà booleana utilizzata per indicare se i dispositivi remoti stabiliscono una connessione con ThingWorx e se il pacemaker deve essere riportato allo stato di disponibilità In funzione tramite il servizio SetPTCMachineStatusToRunningIfDisconnectedMoreThanAllowed.
La proprietà IsPTCDisconnectivitySupported è una proprietà booleana controllata da Dashboard di produzione. Se il valore della proprietà è true, il sistema valuta lo stato connesso del dispositivo per determinare quando vengono visualizzati popup e messaggi simili al seguente: Il sistema si è disconnesso dall'origine dati. Se il sistema è ancora disconnesso dopo quindici minuti, immettere manualmente tutti gli eventi di produzione e di perdita.
Messaggi di automazione
I messaggi vengono generati automaticamente durante la normale elaborazione dell'automazione dei dati e vengono aggiunti alla proprietà di infotable PTCAutomationMessage a scopo di riferimento futuro. Questi messaggi vengono visualizzati da Dashboard di produzione quando viene aggiunto un nuovo messaggio.
La proprietà PTCMaxNumberOfAutomationMessages determina il numero di messaggi memorizzati nella proprietà PTCAutomationMessage. Il numero di messaggi memorizzati per default è 10.
Personalizzazioni
Tutti i servizi sono scritti in codice JavaScript per poter essere personalizzati in base alle esigenze specifiche di un'applicazione.
Sono disponibili diverse proprietà di configurazione che consentiranno di ottimizzare l'applicazione. Per ulteriori informazioni, vedere Proprietà chiave (building block di KPI delle operazioni).
È stato utile?