Modulo contatore di eventi
Descrizione
Il modulo "eventcounter" offre la funzionalità di valutare le serie temporali di canali numerici e booleani. Per un canale di ingresso l'utente può definire uno o più contatori che, in base a un tipo di evento e ad altri parametri, possono contare i seguenti eventi:
- Superamento o scostamento al di sotto di un valore limite nei canali numerici
- Per i canali booleani, il numero delle transizioni da Low a High, da High a Low oppure di entrambe
Interfacce
- Canali smartCORE
- Callback RPC (per il modulo "opticloud")
Configurazione JSON
Nella sezione seguente sono riportati esempi di configurazione per la definizione di contatori personalizzati.
Configurazione di esempio (minima)
Una configurazione minima consiste soltanto nell'indicazione dei canali di ingresso che devono essere valutati da un contatore.
{
"module": "eventcounter",
"factory": "eventcounter",
"config": {
"channels": [
{
"inputChannel": "Producer.BooleanChannel"
},
{
"inputChannel": "Producer.DoubleChannel"
},
{
"inputChannel": "Producer.IntChannel"
},
...
]
}
}
Configurazione di esempio (massima)
{
"module": "eventcounter",
"factory": "eventcounter",
"config": {
"pollingInterval": 1000,
"channels": [
{
"inputChannel": "Producer.FloatChannel",
"outputChannel": "Events.MyCounter",
"threshold": 13.5,
"eventType": "Falling",
"enableStartTimeChannel": true
},
...
]
}
}
Elenco dei parametri
Parametri globali
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Default | Descrizione |
|---|---|---|---|---|---|
| channels | Sì | Array[Contatore] | - | - | Elenco delle definizioni di tutti i contatori di eventi. Vedere più avanti. |
| pollingInterval | No | Number | [100 - 10000 ] | 500 | Intervallo di tempo costante (ms) dopo il quale i contatori interrogano il canale di ingresso assegnato per verificare la disponibilità di valori. |
Struttura del contatore
Parametri generali del contatore
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Default | Descrizione |
|---|---|---|---|---|---|
| inputChannel | Sì | String | Any | - | Canale di ingresso per il contatore di eventi. |
| outputChannel | No | String | Any | * | Nome del canale del contatore da cui è possibile leggere l'ultimo valore del contatore. |
| eventType | No | String Enum | ["Rising","Falling","Both"] | "Rising" | Tipo di evento in base al quale il contatore valuta la serie temporale. |
| enableStartTimeChannel | No | Bool | - | false | Impostare su true per attivare la produzione di timestamp** che indicano l'ultimo riavvio del contatore. |
*Se non specificato, il nome del canale di uscita viene formato secondo il seguente schema: {inputChannel}.{eventType}Counter
**Il timestamp indica i nanosecondi trascorsi dall'epoca UNIX. Il nome di un canale timestamp viene formato come segue:
{outputChannel}.LastStartTime
Parametri per canali numerici
Segue un elenco di parametri che vengono valutati per i canali di ingresso numerici.
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Default | Descrizione |
|---|---|---|---|---|---|
| threshold | No | Number | Any | 0 | Valore di soglia numerico per il rilevamento del superamento della soglia. |
Nota sulla configurazione di optiCLOUD
Nella sezione seguente sono riportate ulteriori indicazioni sulla configurazione e sull'utilizzo del modulo "opticloud" in combinazione con questo modulo.
Configurazione dei canali optiCLOUD
Per la trasmissione dei canali del contatore e dei timestamp si raccomanda la seguente configurazione:
{
"module": "opticloud_eventcounter_example",
"factory": "opticloud",
"config": {
"channels": [
{
"messageType": "telemetry",
"name": "*Counter"
},
{
"messageType": "clientAttribute",
"name": "Events.*.LastStartTime"
}
],
...
}
}
Callback RPC
Riferimento per i callback RPC disponibili:
| Nome | Funzione di istanza? | Esempio di payload | Descrizione |
|---|---|---|---|
| reset | Sì | {"counter":"producer1.signal.Counter"} | Reimposta a 0 il contatore con il canale di uscita producer1.signal.Counter* |
| set | Sì | {"counter":"producer1.signal.Counter", "value": 300} | Imposta a 300 il contatore con il canale di uscita producer1.signal.Counter* |
*In alternativa è possibile impostare o reimpostare tutti i contatori con "counter":".*".
Informazioni sul modulo
| Informazione | Valore |
|---|---|
| Autori | optiMEAS GmbH |
| da smartCORE | 2.5 |
| Tipo di modulo | Consumer |
| Dipendenze | NESSUNA |