Affichage de la durée d'événements spécifiques sous la forme d'une étiquette distincte
Il est parfois intéressant de connaître la durée d'un événement spécifique et il est nécessaire d'afficher cette durée sous la forme d'un nouveau Tag dans le diagramme de focus.
Voici 3 façons d'afficher la durée d'un Événement sous la forme d'un nouveau Tag :
Créez un Generador de etiquetas - Formule qui est égal à 0 au début de l'Événement et égal à 1 à la fin de l'Événement.
Formule:
if(and(a="ACTIVE", b="INACTIVE"), 0, if(and(a="INACTIVE", b="ACTIVE "), 1, sqrt(-1)))
Mappage de variables :
a = Tag discret/ string (pas de décalage) ;
b = discret/ string tag (shift : 1s)
La pente du Tag résultant de l'étape 1 est inversement proportionnelle à la durée de l'Événement. Calculer la pente de l'étiquette de la formule précédente peut être converti en minutes/heures/jours en multipliant la pente par un facteur.
Formule [Minutes] : if((a-b)&0, (1/(a-b)/60), 0)
Formule [Heures] : if((a-b)&0, (1/(a-b)/3600), 0)
Formule [Jours] : if((a-b)&0, (1/(a-b)/ 86400), 0)
Dans cet exemple, l'objectif est d'afficher la durée lorsque le niveau est compris entre 10 et 30.
Créez un Tag de formule qui est égal à 0 au début de l'événement et égal à 1 à la fin de l'événement.
Formule :
if(and(LEVEL_now>10, LEVEL_before<10), 0, if(and(LEVEL_now>30, LEVEL_before<30), 1, sqrt(-1)))
Mappage de variables :
LEVEL_now = Tag de niveau analogique (pas de décalage) ;
LEVEL_before = tag de niveau analogique (décalage : 1min)
La pente du Tag résultant de l'étape 1 est inversement proportionnelle à la durée de l'Événement. Calculer la pente de l'étiquette de la formule précédente peut être converti en minutes/heures/jours en multipliant la pente par un facteur.
Formule [Minutes] : if((a-b)&0, (1/(a-b)/60), 0)
Formule [Heures] : if((a-b)&0, (1/(a-b)/3600), 0)
Formule [Jours] : if((a-b)&0, (1/(a-b)/86400), 0)
Cartographie variable :
a = Tag de niveau analogique (pas de décalage) ;
b = tag de niveau analogique (décalage : 1s)
Créez un nouveau Tag Formula qui affiche la valeur 1440 (minutes par jour) si l'événement en question se produit.
Formula: if(a="PHASE2",1440,0)-b*0
Mappage de variables :
a = Tag discret/ string (pas de décalage) ;
b = tout Tag analogique (décalage : 1s)
Nous utilisons ici l'astuce suivante :
https://userguide.trendminer.com/en/74136-stepped-formula-tags.html
Créez un Tag d'agrégation qui calcule l'intégrale sur une fenêtre mobile donnée (choisissez-la plus grande que votre durée maximale prévue).
Opérateur : Intégral
L'unité de marquage est "par jour" L'unité de marquage est "par jour".
Direction : "Central".
Agrégation par : Il est important d'identifier la fenêtre d'agrégation la plus appropriée pour cette situation. Si la méthode choisie est trop longue, elle pourrait potentiellement chevaucher une autre période au cours de laquelle l'Événement d'intérêt se produit. Veuillez tenir compte de cette considération.
La valeur maximale des agrégations est égale à la durée de l'événement considéré.La valeur maximale des agrégations est égale à la durée de l'événement considéré.
Astuce
La valeur de la durée est inexacte de ±1 minute en raison de l'indexation.