Module compteur d'événements
Description
Le module « eventcounter » permet d'évaluer les séries temporelles de canaux numériques et booléens. Pour un canal d'entrée, l'utilisateur peut définir un ou plusieurs compteurs qui, selon un type d'événement et d'autres paramètres, comptent les événements suivants :
- Dépassement par le haut ou par le bas d'un seuil pour les canaux numériques
- Pour les canaux booléens, le nombre de transitions Low vers High, High vers Low ou les deux
Interfaces
- Canaux smartCORE
- Callbacks RPC (pour le module « opticloud »)
Configuration JSON
La section suivante répertorie des exemples de configuration pour définir ses propres compteurs.
Exemple de configuration (minimale)
Une configuration minimale se limite à indiquer quels canaux d'entrée doivent être évalués par un compteur.
{
"module": "eventcounter",
"factory": "eventcounter",
"config": {
"channels": [
{
"inputChannel": "Producer.BooleanChannel"
},
{
"inputChannel": "Producer.DoubleChannel"
},
{
"inputChannel": "Producer.IntChannel"
},
...
]
}
}
Exemple de configuration (maximale)
{
"module": "eventcounter",
"factory": "eventcounter",
"config": {
"pollingInterval": 1000,
"channels": [
{
"inputChannel": "Producer.FloatChannel",
"outputChannel": "Events.MyCounter",
"threshold": 13.5,
"eventType": "Falling",
"enableStartTimeChannel": true
},
...
]
}
}
Liste des paramètres
Paramètres globaux
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| channels | Oui | Array[Compteur] | - | - | Liste des définitions de tous les compteurs d'événements. Voir plus bas. |
| pollingInterval | Non | Number | [100 - 10000 ] | 500 | Intervalle de temps constant (ms) après lequel les compteurs interrogent le canal d'entrée affecté pour obtenir les valeurs disponibles. |
Structure d'un compteur
Paramètres généraux du compteur
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| inputChannel | Oui | String | Any | - | Canal d'entrée du compteur d'événements. |
| outputChannel | Non | String | Any | * | Nom du canal de compteur à partir duquel la dernière valeur du compteur peut être lue. |
| eventType | Non | String Enum | ["Rising","Falling","Both"] | "Rising" | Type d'événement selon lequel le compteur évalue la série temporelle. |
| enableStartTimeChannel | Non | Bool | - | false | Mettre à true pour activer la production d'horodatages** indiquant le dernier redémarrage du compteur. |
*Si le nom n'est pas indiqué, le nom du canal de sortie est formé selon le modèle suivant : {inputChannel}.{eventType}Counter
**L'horodatage indique les nanosecondes écoulées depuis l'epoch UNIX. Le nom d'un canal d'horodatage est formé comme suit :
{outputChannel}.LastStartTime
Paramètres pour les canaux numériques
Voici la liste des paramètres évalués pour les canaux d'entrée numériques.
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| threshold | Non | Number | Any | 0 | Seuil numérique pour la détection du dépassement de seuil. |
Remarque sur la configuration d'optiCLOUD
La section suivante fournit des indications supplémentaires sur la configuration et l'utilisation du module « opticloud » en association avec ce module.
Configuration des canaux optiCLOUD
La configuration suivante est recommandée pour la transmission des canaux de compteur et d'horodatage :
{
"module": "opticloud_eventcounter_example",
"factory": "opticloud",
"config": {
"channels": [
{
"messageType": "telemetry",
"name": "*Counter"
},
{
"messageType": "clientAttribute",
"name": "Events.*.LastStartTime"
}
],
...
}
}
Callbacks RPC
Référence des callbacks RPC disponibles :
| Nom | Fonction d'instance ? | Exemple de payload | Description |
|---|---|---|---|
| reset | Oui | {"counter":"producer1.signal.Counter"} | Remet à 0 le compteur dont le canal de sortie est producer1.signal.Counter* |
| set | Oui | {"counter":"producer1.signal.Counter", "value": 300} | Met à 300 le compteur dont le canal de sortie est producer1.signal.Counter* |
*Il est également possible de mettre à jour ou de réinitialiser tous les compteurs avec "counter":".*".
Informations sur le module
| Information | Valeur |
|---|---|
| Auteurs | optiMEAS GmbH |
| depuis smartCORE | 2.5 |
| Type de module | Consumer |
| Dépendances | AUCUNE |