Saltar al contenido principal

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ámetroObligatorioTipo de datosRango de valores razonableValor predeterminadoDescripción
fileNameNoSTRINGruta 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
pollingIntervalMsNoINT1000 (1 s)Intervalo [ms] para la evaluación periódica de los predicados de conteo
writeIntervalMsNoINT60000 (60 s)Intervalo [ms] para la actualización de las lecturas de los contadores dentro del archivo persistente
reproductionTimeoutMsNoINT60000 (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
triggerChannelsSÍArray JSON de objetos JSONvéase más abajoConfiguración de los canales que se van a supervisar y de sus canales de contador

Configuración de los "triggerChannels"​

Nombre del parámetroObligatorioTipo de datosRango de valores razonableValor predeterminadoDescripción
inputChannelSÍSTRINGnombre de canal válidocanal supervisado
outputChannelSÍSTRINGcanal de contador del canal supervisado
offsetNoINT0un offset adicional que se suma al valor del CounterChannel
countIfNoSTRINGel valor de inputChannel se interpreta como verdaderoun 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 predicadoEjemplos de predicadoDescripció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​

OpcionalParámetroTipo de datosRango de valoresSignificado
NoNombreSTRINGNombre del contador
NoLectura del contadorINTLectura 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​

OpcionalParámetroTipo de datosRango de valoresSignificado
NocounterVariableSTRINGEl nombre de canal del contador que se desea modificar.
NocounterValueINT0 - *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ónValor
AutoroptiMEAS GmbH
desde smartCORE0,143
Tipo de móduloConsumer / Producer
Dependenciascanales que se van a supervisar