Introduzione a DPM > Impostazione dell'automazione dei dati
Impostazione dell'automazione dei dati
L'integrazione dell'automazione di DPM consente a DPM di ricevere i dati da pacemaker connessi in tempo quasi reale. Un pacemaker è l'unità di lavorazione che imposta il ritmo della produzione per un centro di lavorazione. L'integrazione dell'automazione di DPM supporta le modifiche della commessa (avvio della produzione, arresto della produzione o modifica della commessa), la produzione e il numero di scarti e gli eventi di disponibilità risultanti da codici macchina mappati ai codici motivo in DPM. La ricezione dei dati dal pacemaker connesso determina la modifica delle proprietà in ThingWorx. Tutte le modifiche delle proprietà con dati di buona qualità vengono memorizzate in uno stream di valori. Ogni 5 minuti, tali transazioni vengono recuperate in ordine cronologico e scritte nelle tabelle eventi appropriate nel database DPM.
Ad esempio, quando tutte le proprietà di automazione dei dati sono configurate, DPM può ricevere i dati che avviano la produzione in una commessa. Mentre una commessa è in produzione, è possibile ricevere i dati di produzione per aggiungere la produzione e il numero di scarti per la commessa, registrare gli eventi di inattività per la macchina, ad esempio pause o interruzioni di corrente, e registrare il ritorno della macchina a uno stato di funzionamento. DPM può quindi ricevere i dati che completano la prima commessa e avvia la produzione nella commessa successiva.
Se il sistema è scollegato dal pacemaker per meno di 15 minuti, vengono acquisiti gli eventi che si sono verificati durante questo periodo di tempo. Se il sistema è scollegato per più di 15 minuti, gli eventi accaduti da più di 15 minuti vengono ignorati. In tal modo si evita la duplicazione dei dati, dal momento che gli operatori potrebbero avere immesso manualmente i dati per tale periodo di tempo. Per ulteriori informazioni, vedere Immissione manuale e immissione automatizzata dei dati.
* 
Assicurarsi che gli orologi di sistema (le impostazioni di data e ora nel sistema operativo Windows) sul server Kepware e sul server ThingWorx siano sincronizzati entro 5 secondi e che tale sincronizzazione venga mantenuta nel tempo.
* 
In alcune situazioni rare, se il database DPM o il database ThingWorx diventa non disponibile, si può determinare la perdita o la duplicazione dei dati. Per ulteriori informazioni, vedere Perdita di disponibilità del database e relative implicazioni.
Impostazione dell'automazione dei dati
Per impostare l'automazione dei dati per DPM, attenersi alla procedura descritta di seguito.
1. Installare e connettere l'origine dati a ThingWorx.
Per ulteriori informazioni su Kepware, consultare la guida KEPServerEX Version 6 Install Guide.
Per ulteriori informazioni sull'hub IoT di Azure, vedere Azure IoT Hub Connector Help Center.
2. In ThingWorx Composer, creare o utilizzare una connessione industriale. Per creare una nuova connessione industriale, creare un nuovo oggetto con il modello di oggetto IndustrialGateway come Modello di oggetto di base.
3. L'automazione dei dati può essere configurata nel pacemaker per ogni centro di lavorazione. Non è possibile automatizzare altri tipi di impianto (azienda, regione, sito, area o centro di lavorazione).
Nell'oggetto unità di lavorazione per un pacemaker, attenersi alla procedura descritta di seguito.
a. Aggiungere le seguenti thing shape al campo Shape implementate:
PTC.OperationKPI.AutomationEventsModelLogic_TS
IndustrialThingShape
b. Impostare il campo Stream valori su PTC.OperationKPI.Automation_VS.
c. In Proprietà e avvisi, impostare la proprietà IndustrialThing sulla connessione industriale del passo 2.
d. Impostare le proprietà per le attività di automazione dei dati da utilizzare. Le informazioni su ciascuna proprietà sono disponibili nelle sezioni collegate:
e. Fare clic cu Salva per salvare le modifiche apportate all'oggetto unità di lavorazione.
4. Ripetere il passo 3 per ciascun pacemaker da automatizzare.
* 
Il timer PTC.OperationKPI.AutomatedEventProcessor_TI è attivato per default quando viene distribuito DPM. Ciò significa che poiché le proprietà di automazione dei dati sono configurate, verranno incluse quando il timer attiva l'elaborazione in batch. È possibile scegliere di disattivare il timer per interrompere l'elaborazione in batch durante l'impostazione dell'automazione dei dati, ma si tanga presente che questa operazione interrompe l'elaborazione in batch per tutti i pacemaker finché il timer non viene riattivato.
Per avviare commesse esistenti
Per avviare commesse esistenti utilizzando l'automazione dei dati, attenersi alla procedura descritta di seguito in ThingWorx Composer.
1. Nell'oggetto unità di lavorazione per un pacemaker, in Proprietà e avvisi, associare la proprietà PTCJobOrderID al tag appropriato. Questa proprietà accetta valori STRING.
2. Fare clic su Salva per salvare le modifiche apportate all'oggetto.
Ogni volta che il valore della proprietà PTCJobOrderID viene modificato, viene avviata la commessa specificata. Se una commessa è in produzione quando la proprietà viene modificata, viene completata e viene avviata la nuova commessa. Se la commessa con l'ID specificato non esiste, viene visualizzato un errore per l'operatore. Le commesse vengono create nella pagina Commesse in Amministrazione. Per ulteriori informazioni, vedere Creazione di una commessa.
Quando la proprietà PTCJobOrderID riceve il valore 0 (il valore di default della proprietà PTCJobOrderIDNullValue), la commessa in produzione viene completata e non viene avviata una nuova commessa.
Se un operatore modifica manualmente lo stato di una commessa in Dashboard di produzione avviando la produzione o arrestando la produzione successivamente alla data e ora indicate per la modifica della proprietà PTCJobOrderID, la modifica della proprietà viene ignorata e viene visualizzato un errore. Gli eventi automatici vengono elaborati dopo che si verificano e si presuppone che l'operatore sappia cosa accade nell'impianto in tempo reale.
Per creare commesse in base al materiale specificato
Per creare commesse in base a un materiale specificato utilizzando l'automazione dei dati, definita anche esecuzione di materiale, attenersi alla procedura descritta di seguito in ThingWorx Composer.
1. Nell'oggetto unità di lavorazione per un pacemaker, in Proprietà e avvisi, associare la proprietà PTCMaterialMasterID al tag appropriato. Questa proprietà accetta valori STRING.
2. Fare clic su Salva per salvare le modifiche apportate all'oggetto.
Ogni volta che il valore della proprietà PTCMaterialMasterID viene modificato, viene creata una commessa per il materiale specificato con una quantità target di default pari a 1. Se una commessa è in produzione quando questa proprietà viene modificata, viene completata e viene avviata la nuova commessa creata. Se il materiale corrispondente all'ID materiale principale non esiste, viene generato un errore.
Se un operatore modifica manualmente lo stato di una commessa in Dashboard di produzione avviando la produzione o arrestando la produzione successivamente alla data e ora indicate per la modifica della proprietà PTCMaterialMasterID, la modifica della proprietà viene ignorata e viene visualizzato un errore. Gli eventi automatici vengono elaborati dopo che si verificano e si presuppone che l'operatore sappia cosa accade nell'impianto in tempo reale.
Quando la proprietà PTCMaterialMasterID riceve il valore 0 (il valore di default della proprietà PTCMaterialMasterIDNullValue), la commessa in produzione viene completata e non viene avviata una nuova commessa.
Per aggiornare la quantità target per le commesse
La proprietà PTCTargetQuantity viene utilizzata per impostare la quantità target per le commesse create utilizzando la proprietà PTCMaterialMasterID. Questa proprietà deve essere sempre impostata dopo l'impostazione della proprietà PTCMaterialMasterID. Quando il valore della proprietà viene modificato, la quantità target per la commessa in produzione viene aggiornata.
* 
Quando sono presenti due materiali successivi in esecuzione con la stessa quantità target, reimpostare la proprietà PTCTargetQuantity prima di inviare il secondo valore di quantità target inviando il valore -1 (il valore di default per la proprietà PTCTargetQuantityResetValue). Il sistema non riconosce la ricezione dello stesso valore come modifica dei dati. Il valore della proprietà deve essere reimpostato perché la quantità target della seconda commessa venga aggiornata allo stesso valore impostato per la prima commessa.
Per aggiornare la quantità target per le commesse utilizzando l'automazione dei dati, attenersi alla procedura descritta di seguito in ThingWorx Composer
1. Nell'oggetto unità di lavorazione per un pacemaker, in Proprietà e avvisi, associare la proprietà PTCTargetQuantity al tag appropriato.
2. Fare clic cu Salva per salvare le modifiche apportate all'oggetto unità di lavorazione.
Per registrare la produzione
Il contatore di produzione registra la produzione conforme generata sul pacemaker. La produzione totale viene calcolata come produzione conforme più il numero di scarti.
Per registrare la produzione utilizzando l'automazione dei dati, attenersi alla procedura descritta di seguito in ThingWorx Composer.
1. Nell'oggetto unità di lavorazione per un pacemaker, in Proprietà e avvisi, associare la proprietà PTCProductionCount al tag appropriato. Questa proprietà accetta valori numerici.
2. Sono supportati sia i contatori di produzione assoluti che quelli di rollover. Per default, il contatore di produzione è assoluto. Per convertirlo in contatore di rollover, impostare la proprietà PTCIsProductionCountRollover su TRUE e la proprietà PTCProductionRolloverCounter sul valore di rollover per il contatore.
* 
Un contatore assoluto registra i nuovi conteggi man mano che vengono ricevuti. Ad esempio, se vengono ricevuti i conteggi 3, 5 e 2, viene registrato un totale di 10.
Un contatore di rollover registra la differenza tra il conteggio precedente e quello nuovo, fino a quando non viene raggiunto un numero di rollover designato e il contatore si reimposta. Quando il contatore si reimposta, registra la differenza tra il conteggio precedente e il numero di rollover, più il nuovo conteggio. Ad esempio:
I conteggi 0, 2 e 5 vengono ricevuti dal contatore di rollover. Quando viene ricevuto 2, viene registrato 2 (la differenza tra 2 e 0). Quando viene ricevuto 5, viene registrato 3 (la differenza tra 2 e 5).
I conteggi 990, 998 e 3 vengono ricevuti dal contatore di rollover e il numero di rollover è 999. Quando viene ricevuto 998, viene registrato 8 (la differenza tra 998 e 990). Quando viene ricevuto 3, viene registrato 4 (la differenza tra 999 e 998, più il nuovo conteggio di 3).
Un contatore di rollover non viene reimpostato quando la commessa cambia nell'oggetto unità di lavorazione.
3. Per default, il contatore di produzione inizia da 0. Se si desidera che il contatore di produzione inizi con un numero diverso, aggiungere alla proprietà di infotable PTCLastAutomationProcessedValues una riga con i seguenti valori:
propertyName - PTCProductionCount
value - Valore in corrispondenza del quale si desidera iniziare il contatore di produzione.
jobOrderUid - Questo campo viene ignorato da DPM.
4. Fare clic cu Salva per salvare le modifiche apportate all'oggetto unità di lavorazione.
* 
Per un contatore assoluto, quando sono presenti due conteggi di produzione successivi con lo stesso numero, reimpostare la proprietà PTCProductionCount prima di inviare il secondo valore della produzione inviando il valore -1 (il valore di default per la proprietà PTC.ProductionCountResetValue). Il sistema non riconosce la ricezione dello stesso valore come modifica dei dati. Il valore della proprietà deve essere reimpostato perché la seconda produzione dello stesso valore venga riconosciuta come nuova produzione.
Per registrare il numero di scarti
I contatori di scarti registrano la produzione scartata avvenuta sul pacemaker. Possono essere presenti più contatori di scarti per un singolo pacemaker. Il numero di scarti per un pacemaker viene calcolato dai valori di tutti i contatori di scarti ad esso correlati.
Ogni contatore di scarti in DPM è mappato a un singolo codice macchina degli scarti generato dal pacemaker. Di conseguenza, se un pacemaker presenta un singolo contatore di scarti che può generare codici macchina diversi per conteggi diversi, è necessario creare un tag contatore di scarti univoco nell'origine dati per ogni codice macchina per cui si desidera mantenere il conteggio.
Ogni codice macchina degli scarti è mappato a un codice motivo di scarto in DPM.
Per registrare il numero di scarti utilizzando l'automazione dei dati, attenersi alla procedura descritta di seguito.
1. Verificare che i codici macchina degli scarti siano presenti su ogni pacemaker e che siano assegnati ai codici motivo di scarto appropriati. I codici macchina e i relativi codici motivo assegnati possono essere visualizzati in Amministrazione, nella scheda Impostazioni codice macchina per l'unità di lavorazione in Elenco impianti.
* 
Se un codice macchina non è presente nel pacemaker o non è mappato a un codice motivo, gli eventi ricevuti tramite l'automazione dei dati per il codice macchina vengono registrati con una categoria di eventi (eventCategory) e un valore di categoria di perdita (reasonCategory) di Invalid. Questi eventi non validi non vengono visualizzati nei log eventi di Dashboard di produzione, non vengono aggiunti al numero di scarti e non vengono considerati nei calcoli dei dati.
2. In ThingWorx Composer, nell'oggetto unità di lavorazione per un pacemaker, in Proprietà e avvisi, creare una proprietà per ogni codice macchina degli scarti per cui si desidera mantenere il conteggio. Ogni proprietà degli scarti è considerata un contatore di scarti in DPM.
3. Sono supportati sia i contatori di scarti assoluti che quelli di rollover. Per default, i contatori di scarti sono assoluti. Per creare contatori di scarti sui contatori di rollover di pacemaker, impostare la proprietà PTCIsScrapCounterRollover sull'oggetto su TRUE.
* 
Un contatore assoluto registra i nuovi conteggi man mano che vengono ricevuti. Ad esempio, se vengono ricevuti i conteggi 3, 5 e 2, viene registrato un totale di 10.
Un contatore di rollover registra la differenza tra il conteggio precedente e quello nuovo, fino a quando non viene raggiunto un numero di rollover designato e il contatore si reimposta. Quando il contatore si reimposta, registra la differenza tra il conteggio precedente e il numero di rollover, più il nuovo conteggio. Ad esempio:
I conteggi 0, 2 e 5 vengono ricevuti dal contatore di rollover. Quando viene ricevuto 2, viene registrato 2 (la differenza tra 2 e 0). Quando viene ricevuto 5, viene registrato 3 (la differenza tra 2 e 5).
I conteggi 990, 998 e 3 vengono ricevuti dal contatore di rollover e il numero di rollover è 999. Quando viene ricevuto 998, viene registrato 8 (la differenza tra 998 e 990). Quando viene ricevuto 3, viene registrato 4 (la differenza tra 999 e 998, più il nuovo conteggio di 3).
Un contatore di rollover non viene reimpostato quando la commessa cambia nell'oggetto unità di lavorazione.
4. Aggiornare la proprietà PTCScrapEventProperties in modo da includere ogni proprietà degli scarti creata al passo 2. Il valore della proprietà PTCScrapEventProperties è una infotable. Per ogni proprietà degli scarti, aggiungere alla infotable una riga con le seguenti informazioni:
propertyName - Nome della proprietà degli scarti.
machineCode - Codice macchina associato alla proprietà degli scarti.
rolloverCounter - Valore di rollover. Se la proprietà PTCIsScrapCountRollover dell'oggetto unità di lavorazione è FALSE, il valore di rollover viene ignorato.
reallocateFromGoodCount - Selezionare la casella di controllo (TRUE) se il numero di scarti ricevuto per questa proprietà deve essere riallocato dal numero di parti conformi già registrato. Se non è necessario riallocare il numero di scarti ricevuto per questa proprietà dal numero di parti conformi, non selezionare la casella di controllo (FALSE).
Considerare la posizione del contatore di scarti quando si determina se i numeri di scarti segnalati dal contatore di scarti devono essere riallocati dalla produzione conforme. I numeri di scarti possono essere registrati sia prima che dopo i numeri di parti conformi, a seconda della posizione fisica di un contatore di scarti rispetto al contatore di produzione. L'immagine riportata di seguito mostra un esempio semplice in cui un pacemaker dispone di due contatori di scarti: il contatore di scarti 1 viene collocato davanti al contatore di produzione e il contatore di scarti 2 viene collocato dopo il contatore di produzione.
Diagramma che mostra un pacemaker con due contatori di scarti e un contatore di produzione. Il contatore di scarti 1 è posizionato davanti al contatore di produzione e il contatore di scarti 2 è posizionato dopo il contatore di produzione.
Quando un numero di scarti viene registrato dal contatore di scarti 1, il numero di parti conformi non è stato ancora registrato dal contatore di produzione. Di conseguenza, non è necessario riallocare il numero di scarti dal numero di parti conformi. Ciò presuppone che qualsiasi prodotto scartato conteggiato dal contatore di scarti 1 non venga incluso nel numero di parti conformi registrato dal contatore di produzione. Impostare reallocateFromGoodCount su FALSE per questo contatore di scarti.
Quando un numero di scarti viene registrato dal contatore di scarti 2, il numero di parti conformi è già stato registrato dal contatore di produzione. Qualsiasi prodotto scartato deve essere riallocato dal numero di parti conformi poiché è stato incluso nel numero di parti conformi registrato dal contatore di produzione. Impostare reallocateFromGoodCount su TRUE per questo contatore di scarti.
* 
Se la proprietà degli scarti e il codice macchina non sono mappati correttamente nella infotable PTCScrapEventProperties, tutti i dati ricevuti per la proprietà degli scarti vengono registrati come evento con una categoria di eventi (eventCategory) e una categoria di perdita (reasonCategory) del valore di Invalid. Questi eventi non validi non vengono visualizzati nei log eventi di Dashboard di produzione, non vengono aggiunti al numero di scarti e non vengono considerati nei calcoli dei dati.
5. Per default, ogni contatore di scarti inizia da 0. Se si desidera che un contatore di scarti inizi con un numero diverso, aggiungere alla proprietà di infotable PTCLastAutomationProcessedValues una riga con i seguenti valori:
propertyName - Nome della proprietà degli scarti.
value - Valore in corrispondenza del quale si desidera iniziare il contatore di scarti.
jobOrderUid - Questo campo viene ignorato da DPM.
6. Aggiungere una sottoscrizione per l'evento di modifica dei dati per ogni proprietà degli scarti creata al passo 2. In Sottoscrizioni fare clic su Aggiungi. Specificare le informazioni riportate di seguito.
In Info sottoscrizione, immettere un nome per la sottoscrizione e selezionare la casella di controllo Attivata.
In Input, selezionare l'evento DataChange e selezionare il nome della proprietà degli scarti per la quale si sta creando la sottoscrizione.
Nell'editor di script, incollare nel codice seguente:
me.AddPTCValueStreamEntry({
propertyName: sourceProperty,
newEventData: eventData.newValue
});
Fare clic su Fine.
7. Fare clic cu Salva per salvare le modifiche apportate all'oggetto unità di lavorazione.
* 
Per un contatore assoluto, quando sono presenti due numeri di scarti successivi con lo stesso numero per una proprietà degli scarti specificata, reimpostare la proprietà degli scarti prima di inviare il secondo valore del numero di scarti inviando il valore -1 (il valore di default per la proprietà PTC.ScrapCountResetValue). Il sistema non riconosce la ricezione dello stesso valore come modifica dei dati. Il valore della proprietà deve essere reimpostato perché il secondo numero di scarti dello stesso valore per la stessa proprietà degli scarti venga riconosciuto come nuovo numero di scarti.
* 
Se una proprietà del numero di scarti viene eliminata dall'oggetto unità di lavorazione per un pacemaker, è necessario eliminarla anche dalla proprietà PTCScrapEventProperties. Una proprietà del numero di scarti non esistente elencata nella proprietà PTCScrapEventProperties impedisce l'elaborazione di tutti gli eventi nello stream valori per quell'oggetto.
Per registrare gli eventi di disponibilità
Gli eventi di disponibilità registrano lo stato della macchina accettando dalla macchina i codici macchina mappati ai codici motivo.
Per registrare gli eventi di disponibilità utilizzando l'automazione dei dati, attenersi alla procedura descritta di seguito.
1. Verificare che i codici macchina dei guasti siano presenti su ogni pacemaker e che siano assegnati ai motivi appropriati. È incluso un codice macchina In funzione assegnato a un codice motivo dell'albero motivi In funzione. I codici macchina e i relativi codici motivo assegnati possono essere visualizzati in Amministrazione, nella scheda Impostazioni codice macchina per l'unità di lavorazione in Elenco impianti.
* 
Se un codice macchina non è presente nel pacemaker o non è mappato a un codice motivo di un albero motivi assegnato al pacemaker, l'evento viene registrato con un codice motivo Sconosciuto.
2. In ThingWorx Composer, nell'oggetto unità di lavorazione per ogni pacemaker, in Proprietà e avvisi, associare la proprietà PTCAvailabilityEventFaultCode al tag appropriato.
3. Fare clic cu Salva per salvare le modifiche apportate all'oggetto unità di lavorazione.
È stato utile?