Módulo contador de actividad "uptime"
Descripción
El módulo "uptime" consume un determinado conjunto de canales de entrada, aplica un predicado a los valores de sus canales y suma los intervalos de tiempo durante los cuales se cumple el predicado. Los intervalos de tiempo acumulados se guardan a continuación en un archivo persistente correspondiente y, además, se producen en forma de canales.
Interfaces y protocolos utilizados
NINGUNO
Ejemplo de configuración JSON (demo)
La sección siguiente muestra una configuración de demostración del módulo.
{
"module":"Uptime",
"factory": "uptime",
"config":{
"fileName": "/sdi/log/uptimes.ini",
"pollingIntervalMs": 1000,
"writeIntervalMs":5000,
"reproductionTimeoutMs":60000,
"triggerChannels":[
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_and2_ch",
"countIf": "&2"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_and4_ch",
"countIf": "&4"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andoct8_ch",
"countIf": "&010"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andhex16_ch",
"countIf": "&0xA"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andbinary4_ch",
"countIf": "&0b100"
},
{
"inputChannel":"ch_trigger_sawtooth_int64",
"outputChannel":"ch_trigger_sawtooth_int64_andbinary4or1_ch",
"countIf": "&0b101"
},
{
"inputChannel":"ch_trigger",
"outputChannel":"ch_trigger_outputChannel",
"offset":-10
},
{
"inputChannel":"ch_trigger",
"outputChannel": "ch_trigger_outputChannel_RENAMED_CHANNEL"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_lessThan_90_channel",
"countIf": "<90,0"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_lessOrEqual_90_channel",
"countIf": "<=90"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_greaterThan_130_channel",
"countIf": ">130"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_greaterOrEqual_130_channel",
"countIf":">=130.0"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_inRangeExclusive_90_130_channel",
"countIf": "90.0~130"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_inRangeInclusive_90_130_channel",
"countIf": "90=~=130.0"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_notInRangeExclusive_90_130_channel",
"countIf": "90.!~130"
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_notInRangeInclusive_90_130_channel",
"countIf": "90=!~=130."
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_equal_110_channel",
"countIf":"==110."
},
{
"inputChannel":"ch_trigger_sawtooth",
"outputChannel":"ch_trigger_sawtooth_notEqual_110_channel",
"countIf":"!=110."
}
]
}
}
Parámetros del módulo
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores razonable | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| fileName | No | STRING | ruta de archivo válida con permiso de escritura | "/sdi/config/uptimes.ini" | Ruta del archivo persistente en el que se guardan las lecturas de los contadores |
| pollingIntervalMs | No | INT | 1000 (1 s) | Intervalo [ms] para la evaluación periódica de los predicados de conteo | |
| writeIntervalMs | No | INT | 60000 (60 s) | Intervalo [ms] para la actualización de las lecturas de los contadores dentro del archivo persistente | |
| reproductionTimeoutMs | No | INT | 60000 (60 s) | Timeout [ms] para la producción incondicional de los canales de contador resultantes cuando no se ha producido ninguna actualización de contador | |
| triggerChannels | SÍ | Array JSON de objetos JSON | véase más abajo | Configuración de los canales que se van a supervisar y de sus canales de contador |
Configuración de los "triggerChannels"
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores razonable | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| inputChannel | SÍ | STRING | nombre de canal válido | canal supervisado | |
| outputChannel | SÍ | STRING | canal de contador del canal supervisado | ||
| offset | No | INT | 0 | un offset adicional que se suma al valor del CounterChannel | |
| countIf | No | STRING | el valor de inputChannel se interpreta como verdadero | un predicado opcional que convierte el valor de inputChannel en un valor booleano (véase más abajo) |
Configuración del predicado "countIf"
El predicado puede definirse con las siguientes notaciones
| Tipo de predicado | Ejemplos de predicado | Descripción |
|---|---|---|
A nivel de bits & | "&2", "&010", "&0xf0", "&0b10010" | Conjunción a nivel de bits del valor del canal (entero) supervisado, p. ej., para la supervisión del estado de máscaras de bits. Se admiten las representaciones decimal, octal, hexadecimal y binaria (mostradas de izquierda a derecha) |
Comparación estricta <, > | "<70.0", ">90" | Comparación estricta del valor del canal supervisado |
Comparación <=, >= | "<=70.0", ">=90" | Comparación del valor del canal supervisado |
Comparación de pertenencia a un rango ~ | "7~10", "7=~10", "7~=10", "7=~=10" | Comparación de pertenencia al rango para los rangos 7-10 excluyendo 7 y 10, excluyendo 10, excluyendo 7, incluyendo 7 y 10 (mostrados de izquierda a derecha) |
Comparación de no pertenencia a un rango !~ | "7!~10", "7=!~10", "7!~=10", "7=!~=10" | Comparación de no pertenencia al rango 7–10 excluyendo 7 y 10, excluyendo 10, excluyendo 7, incluyendo 7 y 10 (mostrados de izquierda a derecha) |
Igualdad == y desigualdad != | "==42", "!=7.0" | Comprobación de igualdad o desigualdad del canal supervisado |
Restablecimiento de las lecturas de los contadores (Reset) mediante SCPI
Las lecturas de los contadores pueden restablecerse o modificarse mediante la acción SCPI UPTIME:SET.
Parámetros
| Opcional | Parámetro | Tipo de datos | Rango de valores | Significado |
|---|---|---|---|---|
| No | Nombre | STRING | Nombre del contador | |
| No | Lectura del contador | INT | Lectura del contador recién asignada |
Valor devuelto
OK o ERR
Ejemplo
< uptime:set counter,42
> OK
Restablecimiento de las lecturas de los contadores (Reset) mediante RPC
Las lecturas de los contadores pueden restablecerse o modificarse en optiCloud mediante la Remote Procedure Call [$Modulinstanz]::setCounter.
Parámetros
| Opcional | Parámetro | Tipo de datos | Rango de valores | Significado |
|---|---|---|---|---|
| No | counterVariable | STRING | El nombre de canal del contador que se desea modificar. | |
| No | counterValue | INT | 0 - * | El valor al que se debe establecer el contador. |
Ejemplo
Método RPC: [uptime0]::setCounter
Parámetros RPC:
{
"counterVariable": "SawToothExceed70_Time",
"counterValue": 0
}
Información del módulo
| Información | Valor |
|---|---|
| Autor | optiMEAS GmbH |
| desde smartCORE | 0,143 |
| Tipo de módulo | Consumer / Producer |
| Dependencias | canales que se van a supervisar |