Módulo contador de eventos
Descripción
El módulo "eventcounter" ofrece la funcionalidad de evaluar las series temporales de canales numéricos y booleanos. Para un canal de entrada, el usuario puede definir uno o varios contadores que, en función de un tipo de evento y de otros parámetros, pueden contar los siguientes eventos:
- Superación o descenso por debajo de un valor límite en canales numéricos
- En canales booleanos, el número de transiciones de Low a High, de High a Low o de ambas
Interfaces
- Canales de smartCORE
- Callbacks RPC (para el módulo "opticloud")
Configuración JSON
En la siguiente sección se enumeran ejemplos de configuraciones para definir contadores propios.
Configuración de ejemplo (mínima)
Una configuración mínima consiste únicamente en indicar qué canales de entrada debe evaluar un contador.
{
"module": "eventcounter",
"factory": "eventcounter",
"config": {
"channels": [
{
"inputChannel": "Producer.BooleanChannel"
},
{
"inputChannel": "Producer.DoubleChannel"
},
{
"inputChannel": "Producer.IntChannel"
},
...
]
}
}
Configuración de ejemplo (máxima)
{
"module": "eventcounter",
"factory": "eventcounter",
"config": {
"pollingInterval": 1000,
"channels": [
{
"inputChannel": "Producer.FloatChannel",
"outputChannel": "Events.MyCounter",
"threshold": 13.5,
"eventType": "Falling",
"enableStartTimeChannel": true
},
...
]
}
}
Lista de parámetros
Parámetros globales
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores razonable | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| channels | Sí | Array[contador] | - | - | Lista de definiciones de todos los contadores de eventos. Véase más abajo. |
| pollingInterval | No | Number | [100 - 10000 ] | 500 | Intervalo de tiempo constante (ms) tras el cual los contadores consultan el canal de entrada asignado en busca de valores disponibles. |
Estructura del contador
Parámetros generales del contador
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores razonable | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| inputChannel | Sí | String | Any | - | Canal de entrada del contador de eventos. |
| outputChannel | No | String | Any | * | Nombre del canal del contador del que se puede leer el último valor del contador. |
| eventType | No | String Enum | ["Rising","Falling","Both"] | "Rising" | Tipo de evento según el cual el contador evalúa la serie temporal. |
| enableStartTimeChannel | No | Bool | - | false | Establecer en true para activar la producción de marcas de tiempo** que indican el último reinicio del contador. |
*Si no se indica, el nombre del canal de salida se forma según el siguiente patrón: {inputChannel}.{eventType}Counter
**La marca de tiempo indica los nanosegundos transcurridos desde la época UNIX. El nombre de un canal de marca de tiempo se
forma de la siguiente manera: {outputChannel}.LastStartTime
Parámetros para canales numéricos
A continuación se muestra una lista de parámetros que se evalúan para los canales de entrada numéricos.
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores razonable | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| threshold | No | Number | Any | 0 | Valor umbral numérico para la detección de la superación del umbral. |
Nota sobre la configuración de optiCLOUD
En la siguiente sección se indican notas adicionales sobre la configuración y el uso del módulo "opticloud" junto con este módulo.
Configuración de canales de optiCLOUD
Se recomienda la siguiente configuración para la transmisión de los canales de contador y de marca de tiempo:
{
"module": "opticloud_eventcounter_example",
"factory": "opticloud",
"config": {
"channels": [
{
"messageType": "telemetry",
"name": "*Counter"
},
{
"messageType": "clientAttribute",
"name": "Events.*.LastStartTime"
}
],
...
}
}
Callbacks RPC
Referencia de los callbacks RPC disponibles:
| Nombre | ¿Función de instancia? | Ejemplo de payload | Descripción |
|---|---|---|---|
| reset | Sí | {"counter":"producer1.signal.Counter"} | Restablece a 0 el contador con el canal de salida producer1.signal.Counter* |
| set | Sí | {"counter":"producer1.signal.Counter", "value": 300} | Establece en 300 el contador con el canal de salida producer1.signal.Counter* |
*Opcionalmente, también se pueden establecer o restablecer todos los contadores con "counter":".*".
Información del módulo
| Información | Valor |
|---|---|
| Autores | optiMEAS GmbH |
| desde smartCORE | 2.5 |
| Tipo de módulo | Consumer |
| Dependencias | NINGUNA |