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ètre | Obligatoire | Type de données | Plage de valeurs utile | Défaut | Description |
|---|---|---|---|---|---|
| fileName | Non | STRING | chemin de fichier valide accessible en écriture | "/sdi/config/uptimes.ini" | Chemin du fichier persistant dans lequel les valeurs des compteurs sont enregistrées |
| pollingIntervalMs | Non | INT | 1000 (1 s) | Intervalle [ms] pour l'évaluation périodique des prédicats de comptage | |
| writeIntervalMs | Non | INT | 60000 (60 s) | Intervalle [ms] pour la mise à jour des valeurs des compteurs dans le fichier persistant | |
| reproductionTimeoutMs | Non | INT | 60000 (60 s) | Timeout [ms] pour la production inconditionnelle des canaux de compteur résultants, lorsqu'aucune mise à jour de compteur n'a eu lieu | |
| triggerChannels | OUI | JSON Array von JSON Objekten | voir ci-dessous | Configuration des canaux à surveiller ainsi que de leurs canaux de compteur |
Configuration des « triggerChannels »
| Nom du paramètre | Obligatoire | Type de données | Plage de valeurs utile | Défaut | Description |
|---|---|---|---|---|---|
| inputChannel | OUI | STRING | nom de canal valide | canal surveillé | |
| outputChannel | OUI | STRING | Canal de compteur du canal surveillé | ||
| offset | Non | INT | 0 | un décalage (offset) supplémentaire qui est ajouté à la valeur du CounterChannel | |
| countIf | Non | STRING | la valeur de inputChannel est interprétée comme vraie | un 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édicat | Exemples de prédicats | Description |
|---|---|---|
& 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
| Optionnel | Paramètre | Type de données | Plage de valeurs | Signification |
|---|---|---|---|---|
| Non | Name | STRING | Nom du compteur | |
| Non | Valeur du compteur | INT | Nouvelle 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
| Optionnel | Paramètre | Type de données | Plage de valeurs | Signification |
|---|---|---|---|---|
| Non | counterVariable | STRING | Le nom de canal du compteur qui doit être modifié. | |
| Non | counterValue | INT | 0 - * | 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
| Informations | Valeur |
|---|---|
| Auteur | optiMEAS GmbH |
| depuis smartCORE | 0,143 |
| Type de module | Consumer / Producer |
| Dépendances | canaux à surveiller |