Trasformazioni
Manufacturing Data Engine (MDE) offre un modo semplice per eseguire la post-elaborazione dei messaggi durante l'importazione e generare nuovi tag e record derivati dai messaggi di input. Questi post-processori sono chiamati trasformazioni. Possono essere associati a un determinato tipo e generare nuovi messaggi che vengono poi reingestiti in MDE. Le trasformazioni sono pipeline Dataflow integrate e possono essere configurate utilizzando determinati parametri di trasformazione specifici.
MDE 1.3 e versioni successive forniscono due trasformazioni predefinite:
- Modifica evento gruppo
- Finestre delle app
Le trasformazioni vengono attivate a livello di tipo. Ciò implica che tutti i tag di quel tipo verranno trasformati. Un tipo può essere associato a nessuna, una o più trasformazioni. L'associazione tra il tipo e una trasformazione specifica può essere configurata nell'interfaccia web e utilizzando l'API di configurazione. Un tipo può essere associato a una trasformazione in qualsiasi momento e l'associazione può essere rimossa quando non è più necessaria.
Una trasformazione potrebbe richiedere parametri di trasformazione per definire il suo comportamento specifico. I parametri di trasformazione sono specifici per ogni tipo di trasformazione e possono variare da una trasformazione all'altra.
Anche i valori dei parametri di trasformazione specifici per una determinata trasformazione vengono impostati a livello di tipo. Tipi diversi possono utilizzare valori di parametri diversi e utilizzare la stessa trasformazione in modo diverso.
Le trasformazioni ricevono come input tutti i messaggi mappati al tipo in cui la trasformazione è attiva. Ogni messaggio viene elaborato dal processore di trasformazione in Dataflow.
L'output di qualsiasi trasformazione è un messaggio JSON non elaborato che viene inserito nell'argomento di destinazione iniziale. MDE fornisce un pacchetto di configurazione unico con ogni trasformazione. Questo pacchetto di configurazione deve essere applicato a MDE se prevedi di utilizzare la trasformazione. Il pacchetto di configurazione crea un insieme di una classe di messaggi, un parser, un tipo e una raccolta di bucket di metadati. Queste entità di configurazione consentono a MDE di identificare ed elaborare i messaggi di output della trasformazione in un tipo specifico. I tipi specifici della trasformazione archiviano le informazioni emesse dalla trasformazione. Sono inoltre associati a specifici bucket di metadati di trasformazione che memorizzano informazioni di riferimento sul tag o sul record trasformato originale.
I due tipi forniti per elaborare i messaggi non elaborati generati da ogni trasformazione sono i seguenti:
group-event-change-records: il tipo di destinazione per i messaggi di output della trasformazione della modifica dell'evento di gruppo.window-transformation-records: il tipo di destinazione per i messaggi di output della trasformazione di raggruppamento in finestre.
Trasformazione della modifica dell'evento di gruppo
Questa trasformazione monitora qualsiasi campo in un tag o in un gruppo di tag e genera un evento ogni volta che i valori monitorati cambiano in uno di questi tag.
Questa trasformazione può essere associata a un tipo di archetipo. La
trasformazione viene visualizzata nell'interfaccia web come eventChange.
Questa trasformazione genera un messaggio analizzato in un tipo
CONTINUOUS_DATA_SERIES specifico denominato group-event-change-records
fornito nel relativo pacchetto di configurazione. Il tipo contiene l'ora di inizio e l'ora di fine del periodo tra le modifiche dei valori, nonché il valore precedente, il valore attuale e il nome del tag che ha attivato la modifica.
Puoi definire un gruppo di tag dello stesso tipo da monitorare insieme. Puoi scegliere un criterio chiave per definire come raggruppare i tag. Tutti i tag in cui la chiave ha lo stesso valore vengono monitorati insieme. Il valore della chiave può essere qualsiasi elemento del tag proto, incluso qualsiasi campo di dati e qualsiasi elemento dei metadati.
Per far funzionare la trasformazione per un singolo tag, la chiave è impostata su
TagName.
Parametri
I due parametri di trasformazione necessari per configurare questa trasformazione sono i seguenti:
Espressione chiave: viene visualizzata nell'interfaccia web come
keyExpression. Definisce l'espressione che verrà utilizzata per raggruppare i tag. Tutti i tag in cui key expression ha lo stesso valore vengono monitorati insieme. La trasformazione genera un evento di modifica del valore ogni volta che viene rilevata una modifica in uno di questi tag. I valori vengono confrontati con i valori precedenti dello stesso tag, ma viene attivato un evento quando uno dei tag cambia. L'espressione chiave è definita come un'espressione SpEL e può utilizzare uno qualsiasi dei campi disponibili nel proto del tag. Ad esempio, per monitorare un solo tag in base al nome del tag, l'espressione SpEL sarebbe definita come:#message['tagName']In alternativa, per raggruppare i tag in base a un campo di metadati comune, come il nome della macchina (supponendo che esista un
asset-hierarchybucket con un attributo denominatomachine-name), l'espressione può essere impostata su:#message['metadata']['asset-hierarchy']['machine-name']Espressione del valore: viene visualizzata nell'interfaccia web come
valueExpression. Definisce il campo del valore che la trasformazione monitora per generare un nuovo evento di modifica. È anche definita come un'espressione SpEL. L'espressione può utilizzare qualsiasi campo della struttura proto del tag. L'output dell'espressione deve essere di tipoStringper funzionare correttamente.Ad esempio, per monitorare un campo
valuenella sezioneDatadel proto del tag, l'espressione di valore può essere impostata su:#message['data']['numeric'].toString()
Messaggio di output
Il contenuto del messaggio di output generato dalla trasformazione della modifica dell'evento di gruppo fornisce i dettagli dell'evento rilevato. Gli attributi specifici disponibili nel messaggio di output sono:
TagName: la trasformazione crea un evento in un nome tag che corrisponde al valore dell'espressione chiave e al suffisso"_event_change". Se l'espressione chiave è definita come un singolo TagName, il tag derivato sarà"TagName_event_change".- Event Change Continuous Timestamp Object: contiene i timestamp iniziale
(attributo
event_timestamp_start) e finale (attributoevent_timestamp_end) dell'evento. Contiene anche la durata (attributoduration) dell'evento comedouble. - Oggetto dati del messaggio di modifica dell'evento: contiene il nome dei tag che
hanno cambiato valore durante l'evento (attributo
changed_tags) e l'elenco dei tag che corrispondono ai criteri di raggruppamento al momento dell'emissione dell'evento (attributocontributing_tags). Entrambi possono contenere più di un tag per messaggio. - Oggetto Modifica valore tag: il nome (attributo
tag_name), il valore precedente (attributoold_expression_value), il nuovo valore (attributonew_expression_attribute) e il messaggio (attributomessage_id) che ha attivato l'evento di modifica dello stato. - Changed Value Message Object (su v1.3.6 e versioni successive): contiene il messaggio che ha attivato la modifica dell'evento.
Consulta lo schema specifico nella sezione Riferimento.
Trasformazione di windowing
Questa trasformazione applica una funzione Windowing a tutti i tag di un tipo. Il windowing si riferisce al riepilogo di più record in un periodo di tempo in un unico record. La trasformazione di finestre può essere associata a qualsiasi tipo di archetipo. Può riassumere i record dei tag da 1 minuto fino a 60 minuti. Il risultato della trasformazione è un messaggio non elaborato contenente i valori di riepilogo per l'espressione di valore durante il periodo di tempo selezionato.
Questa trasformazione può essere applicata più volte allo stesso tipo, a condizione che l'ID di ogni trasformazione di finestra (come definito nei relativi parametri) sia univoco all'interno del tipo. Puoi aggiungere la trasformazione di finestre utilizzando l'interfaccia web, ma devi utilizzare l'API per aggiungere più trasformazioni di finestre a un determinato tipo.
La trasformazione genera un tag derivato di un tipo fornito (denominato
window-transformation-records) contenente un riepilogo di tutti i record
ricevuti durante quel periodo per quel tag. Questa trasformazione opera a
livello di tag: genererà un tag riepilogativo per ogni tag del tipo a
cui è stata associata la trasformazione. Il nome del tag è composto
dal Tagname originale e dal suffisso -window-stats e dal id della
trasformazione di windowing.
Parametri
Questa trasformazione richiede tre parametri per funzionare:
- Durata della finestra: disponibile nell'interfaccia web come
durationMinutes. Si riferisce alla durata della finestra da applicare in minuti. Ad esempio, un valore di 1 genererà una serie temporale derivata con una risoluzione di 1 minuto. - ID finestra: disponibile nell'interfaccia web come
id. Assegna un identificatore univoco a ogni trasformazione di windowing del tipo per consentire l'applicazione di più trasformazioni in parallelo. L'ID può essere qualsiasi stringa. Espressione del valore: disponibile nell'interfaccia web come
valueExpression. È l'espressione SpEL applicata al proto del tag per generare un valore numerico che verrà riepilogato dalla trasformazione di finestre. Ad esempio, se devi utilizzare il campo valore di un tag numerico generico, l'espressione divalueExpressionpuò essere definita come:#message['data']['numeric']
Messaggio di output
La trasformazione genera un messaggio per ogni periodo di tempo definito dal
parametro di trasformazione durationMinutes. Il messaggio di output contiene
i seguenti attributi:
- TagName: il nome del tag della serie temporale derivata. Viene generato
automaticamente dalla trasformazione di windowing. È formato utilizzando il
TagName originale e il suffisso
-window-statseiddella trasformazione di raggruppamento in finestre. Ad esempio, per un TagName chiamatoTemperaturee un ID1, il tag derivato verrà chiamatoTemperature-window-stats-1. - TimeStamp: contiene i timestamp di inizio e fine della finestra
(disponibile come attributi
event_timestamp_starteevent_timestamp_end). - Statistiche riepilogative della finestra: contiene tutti i dati riepilogativi per il periodo
che include:
- Media: il valore medio di tutti i valori ricevuti durante la finestra temporale.
- Min: il valore minimo di tutti i valori ricevuti durante la finestra temporale.
- Max: il valore massimo di tutti i valori ricevuti durante il periodo di tempo.
- Deviazione standard: la deviazione standard di tutti i valori ricevuti durante la finestra temporale.
- p50: il livello di confidenza del 50% di non essere superato per i valori ricevuti durante la finestra temporale.
- p90: il livello di confidenza del 90% di non essere superato per i valori ricevuti durante la finestra temporale.
- Somma: il riepilogo di tutti i valori ricevuti durante la finestra temporale.
- Conteggio: il numero di valori ricevuti durante la finestra temporale.
- Delta: la differenza tra l'ultimo e il primo valore ricevuto durante la finestra temporale.
Per ulteriori informazioni, consulta lo schema specifico nella sezione Schemi di trasformazione.