Aller au contenu principal

Module de comptage d'activité « uptime »

Description​

Le module « uptime » consomme un ensemble déterminé de canaux d'entrée, applique un prédicat aux valeurs de ces canaux et additionne les périodes pendant lesquelles le prédicat est satisfait. Les périodes cumulées sont ensuite enregistrées dans un fichier persistant correspondant et, en outre, produites sous forme de canaux.

Interfaces et protocoles utilisés​

AUCUN

Exemple de configuration JSON (démo)​

La section suivante présente une configuration de démonstration du module.

{
"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."
}
]
}
}

Paramètres du module​

Nom du paramètreObligatoireType de donnéesPlage de valeurs utileDéfautDescription
fileNameNonSTRINGchemin de fichier valide accessible en écriture"/sdi/config/uptimes.ini"Chemin du fichier persistant dans lequel les valeurs des compteurs sont enregistrées
pollingIntervalMsNonINT1000 (1 s)Intervalle [ms] pour l'évaluation périodique des prédicats de comptage
writeIntervalMsNonINT60000 (60 s)Intervalle [ms] pour la mise à jour des valeurs des compteurs dans le fichier persistant
reproductionTimeoutMsNonINT60000 (60 s)Timeout [ms] pour la production inconditionnelle des canaux de compteur résultants, lorsqu'aucune mise à jour de compteur n'a eu lieu
triggerChannelsOUIJSON Array von JSON Objektenvoir ci-dessousConfiguration des canaux à surveiller ainsi que de leurs canaux de compteur

Configuration des « triggerChannels »​

Nom du paramètreObligatoireType de donnéesPlage de valeurs utileDéfautDescription
inputChannelOUISTRINGnom de canal validecanal surveillé
outputChannelOUISTRINGCanal de compteur du canal surveillé
offsetNonINT0un décalage (offset) supplémentaire qui est ajouté à la valeur du CounterChannel
countIfNonSTRINGla valeur de inputChannel est interprétée comme vraieun prédicat optionnel qui convertit la valeur de inputChannel en valeur booléenne (voir ci-dessous)

Configuration du prédicat « countIf »​

Le prédicat peut être défini avec les notations suivantes

Type de prédicatExemples de prédicatsDescription
& bit à bit"&2", "&010", "&0xf0", "&0b10010"Conjonction bit à bit de la valeur du canal surveillé (entier), p. ex. pour la surveillance d'état de masques de bits. Les représentations décimale, octale, hexadécimale et binaire sont prises en charge (présentées de gauche à droite)
Comparaison stricte <, >"<70.0", ">90"Comparaison stricte de la valeur du canal surveillé
Comparaison <=, >="<=70.0", ">=90"Comparaison de la valeur du canal surveillé
Comparaison d'appartenance à une plage ~"7~10", "7=~10", "7~=10", "7=~=10"Comparaison d'appartenance à la plage pour les plages 7-10, 7 et 10 exclus, 10 exclu, 7 exclu, 7 et 10 inclus (présentées de gauche à droite)
Comparaison de non-appartenance à une plage !~"7!~10", "7=!~10", "7!~=10", "7=!~=10"Comparaison de non-appartenance à la plage 7–10, 7 et 10 exclus, 10 exclu, 7 exclu, 7 et 10 inclus (présentées de gauche à droite)
Égalité == et inégalité !="==42", "!=7.0"Vérification de l'égalité ou de l'inégalité du canal surveillé

Réinitialisation des valeurs des compteurs (reset) via SCPI​

Les valeurs des compteurs peuvent être réinitialisées ou modifiées via l'action SCPI UPTIME:SET.

Paramètres​

OptionnelParamètreType de donnéesPlage de valeursSignification
NonNameSTRINGNom du compteur
NonValeur du compteurINTNouvelle valeur attribuée au compteur

Retour​

OK ou ERR

Exemple​

< uptime:set counter,42
> OK

Réinitialisation des valeurs des compteurs (reset) via RPC​

Les valeurs des compteurs peuvent être réinitialisées ou modifiées dans optiCloud via le Remote Procedure Call [$Modulinstanz]::setCounter.

Paramètres​

OptionnelParamètreType de donnéesPlage de valeursSignification
NoncounterVariableSTRINGLe nom de canal du compteur qui doit être modifié.
NoncounterValueINT0 - *La valeur à laquelle le compteur doit être défini.

Exemple​

Méthode RPC : [uptime0]::setCounter
Paramètres RPC :

{
"counterVariable": "SawToothExceed70_Time",
"counterValue": 0
}

Informations sur le module​

InformationsValeur
AuteuroptiMEAS GmbH
depuis smartCORE0,143
Type de moduleConsumer / Producer
Dépendancescanaux à surveiller