Analyse efficace des données

22.04.2021

L'analyse des données du FlexPro est basée sur le puissant langage de programmation d'analyse FPScript. Outre la configuration optimale de l'environnement d'exécution FPScript et de la base de données d'objets FlexPro, l'utilisation correcte de FPScript joue un rôle décisif dans l'efficacité de l'analyse. Éviter les boucles est le facteur le plus important lors de la création d'un algorithme d'analyse utilisant FPScript. Pour ce faire, les fonctionnalités suivantes de FPScript sont disponibles :

FPScript offre la possibilité de calculer des ensembles de données complets dans des expressions arithmétiques simples.

Pour toutes les analyses courantes, FPScript offre une variété de fonctions intégrées.

Les fonctions d'isolation des événements localisent les événements tels que les valeurs extrêmes, les pentes et les passages à niveau.

L'opérateur Index extrait des valeurs individuelles ou des plages de données.

Avec les informations ci-dessus pour vous aider, vous pouvez presque toujours éviter les boucles, en particulier sur toutes les valeurs d'un ensemble de données. Si vous ne pouvez pas éviter une boucle sur des valeurs individuelles dans FPScript, vous devez utiliser l'instruction For Each Value...End, qui est la plus rapide de toutes les boucles FPScript.

Exemple

Pour les ondes individuelles d'un signal de puissance, la valeur RMS doit être calculée et renvoyée sous forme de série de données. Cette tâche peut être résolue comme suit :

1.Avec la fonction LevelCrossings, les positions (indices) de tous les passages à zéro positifs dans le signal sont déterminées sous forme de séries de données.

2.À l'aide d'une boucle For, parcourez toutes les valeurs de la série de données.

3.Pour chaque deux positions voisines avec l'opérateur Index, prenez l'intervalle entre ces deux indices dans le signal.

4.Pour chaque segment de signal ainsi formé, calculez la moyenne quadratique (RMS).

5.Avec l'opérateur Append, rassemblez les valeurs RMS calculées de cette manière dans une série de données.

L'exemple ci-dessus utilise une boucle, non pas sur les valeurs individuelles de l'ensemble de données, mais uniquement sur les périodes qui s'y trouvent. La boucle est nécessaire car même si le signal a un taux d'échantillonnage et une fréquence constants, la longueur des plages de données individuelles peut varier légèrement.

1.Dans le cas particulier où le signal a été échantillonné avec synchronisation de phase, par exemple avec 1000 valeurs par période, le calcul peut être considérablement simplifié :

2.Avec la fonction NextLevelCrossing, recherchez le premier passage à zéro positif et prenez la partie du signal qui commence à cette position en utilisant l'opérateur d'indexation pour supprimer l'onde incomplète du début.

3.Avec la fonction Reshape, transformez la série de données avec les N valeurs d'amplitude en une matrice de données avec N / 1000 colonnes et par 1000 lignes. Toute onde incomplète qui pourrait se produire à la fin du signal sera alors rejetée.

4.Pour cette matrice de données, calculez les valeurs RMS colonne par colonne à l'aide de la fonction Mean.

Vous trouverez ces deux exemples dans la base de données des exemples FPScript, dans le dossier Wave Analysis.

Voir aussi

Optimisation de FlexPro pour les grands volumes de données

Partager l’article ou envoyer par mail :

Vous serez probablement intéressé par les articles suivants :