Une formule est un ensemble spécial de données dont la valeur n'est pas fixée lors de l'enregistrement, mais est remplacée par des opérations de calcul qui permettent de calculer la valeur lorsque cela est nécessaire. La plupart du temps, vous écrivez ces formules dans le langage de script FPScript. FlexPro vous propose des objets d'analyse spéciaux pour les analyses courantes afin que vous n'ayez pas à apprendre à utiliser FPScript.
Les formules sont les principaux outils d'automatisation de l'analyse. Dans le réseau imbriqué de formules d'un projet, l'ensemble des "connaissances" est sauvegardé afin que vous puissiez répéter l'analyse aussi souvent que vous le souhaitez, et les données à analyser peuvent être affectées d'un simple clic.
Vous pouvez utiliser des formules partout où les ensembles de données sont également autorisés, par exemple pour une courbe dans un diagramme.
FlexPro compile la formule en code binaire, ce qui garantit un traitement rapide. La technologie FlexPro "Smart Update" permet d'éviter les recalculs inutiles. Le résultat du dernier calcul est stocké temporairement et réutilisé le plus longtemps possible.
Avec FlexPro View, les options d'analyse sont limitées aux opérations mathématiques de base et aux évaluations statistiques simples.
Éléments de formules FPScript
•Constantes: Il s'agit d'expressions constantes telles que les valeurs des différents types de données.
•Variables: Vous pouvez utiliser des variables dans une formule pour enregistrer des résultats intermédiaires. Cela vous permet d'économiser du temps de calcul en n'effectuant qu'une seule fois un calcul pour des termes utilisés plusieurs fois. Vous pouvez également mieux structurer vos formules en affectant d'abord les paramètres à une variable, puis en poursuivant la formule à l'aide de cette variable.
•Ensembles de données: Les ensembles de données sont utilisés comme des variables. Si un nom de jeu de données est utilisé dans une formule, ce nom représente les données qui sont lues lorsque la formule est calculée ultérieurement. Ces données peuvent également être des formules. Les formules sont alors d'abord évaluées pour obtenir les données. Vous ne pouvez pas effectuer d'affectations aux formules et aux ensembles de données.
•Constantes prédéfinies: Certaines constantes mathématiques, telles que PI ou E, ainsi que les constantes utilisées comme paramètres de fonction, sont disponibles en tant que constantes prédéfinies. Vous ne pouvez pas utiliser ces noms pour les noms des ensembles de données et/ou des variables.
•Opérateurs: Vous pouvez utiliser des opérateurs pour calculer et modifier des données. FlexPro vous fournit une variété d'opérateurs avec lesquels vous pouvez également calculer des signaux complets.
•Déclarations: Chaque formule se compose d'une ou plusieurs déclarations, une ligne étant utilisée pour chaque déclaration. Toutefois, vous pouvez également écrire plusieurs instructions sur une seule ligne, si vous séparez les instructions les unes des autres à l'aide d'un point-virgule ';'. Vous pouvez également répartir une déclaration sur plusieurs lignes. Pour les lignes qui doivent être fusionnées avec les lignes suivantes, vous devez saisir une barre oblique inversée '\' ou un caractère de soulignement "_" comme dernier caractère. Dans les formules FlexPro, vous pouvez utiliser différentes boucles et instructions conditionnelles, par exemple, pour pouvoir effectuer une analyse complexe pour toutes les séries de données d'une série de signaux.
•FlexPro dispose d'une variété de fonctions que vous pouvez utiliser pour générer des signaux et effectuer des analyses. Vous pouvez également définir des fonctions personnalisées. Ce sont des formules que vous fournissez avec des arguments et que vous pouvez appeler comme une fonction dans d'autres formules.
•Les différents objets de FlexPro fournissent des fonctions spéciales pour accéder à leurs attributs. Par exemple, vous pouvez accéder aux commentaires d'un ensemble de données.
•Commentaires: Elles commencent par "//" et s'étendent ensuite jusqu'à la fin de la ligne.
•Fonctions et constantes Python : Vous pouvez utiliser les fonctions et les constantes de Python directement dans vos formules FPScript.
Exemples de formules FPScript
La base de données du projet FPScript se trouve sur votre disque dur et contient divers exemples de programmation FPScript.
Le nom du chemin de la base de données du projet est généralement C:\Users\Public\Documents\Weisang\FlexPro\\2023\Examples\FPScript.fpd or C:>Users>Public>Public Documents>Weisang>FlexPro>2023>Examples>FPScript.fpd.
Formule Python (FlexPro Professional, Developer Suite)
Si vous avez une licence et activé l'interface Python de FlexPro, vous pouvez créer des formules Python en plus des formules FPScript. Les formules Python sont écrites dans le langage de programmation OpenSource Python et vous permettent d'accéder aux vastes bibliothèques de fonctions de ce langage directement dans FlexPro. FlexPro utilise les types de données numériques de la bibliothèque NumPy de Python pour échanger des données entre FlexPro et Python. NumPy est une bibliothèque qui doit être importée dans un programme Python à l'aide de la commande Import avant d'être utilisée.
Dans une formule Python, le module flexpro est à votre disposition pour accéder aux données d'autres ensembles de données ou formules, pour agréger les données Python aux structures de données composites utilisées dans FlexPro et pour renvoyer le résultat de la formule Python à FlexPro.
Contrairement à FPScript, Python ne peut pas calculer de grandeurs physiques. Il est cependant possible de lire les unités des enregistrements et d'attribuer des unités au résultat de la formule Python.
Smart-Update ne fonctionne pas automatiquement avec Python, c'est-à-dire que FlexPro ne peut pas reconnaître si une formule Python doit être recalculée même si les données qu'elle calcule n'ont pas changé. Pour cela, vous devez explicitement activer l'option Indéterministe dans l'onglet Résultat de la boîte de dialogue des propriétés de la formule Python.
Remarque importante Afin que FlexPro puisse garantir l'intégrité du réseau d'objets, les formules doivent être programmées dans FlexPro de telle sorte qu'elles aient exclusivement leur résultat comme sortie. Une formule ne doit donc pas produire d'"effets secondaires". L'ensemble des fonctions et des commandes de FPScript le garantit pour les formules FPScript. Ils ne peuvent accéder qu'en lecture à d'autres enregistrements et ne peuvent pas effectuer d'opérations telles que l'écriture de fichiers. En Python, ces restrictions n'existent pas et c'est donc à la discipline du programmeur de respecter cette règle de base.
Code Prolog de Python
Les bibliothèques que vous souhaitez utiliser dans Python doivent d'abord être importées à l'aide de la commande import. Pour ne pas avoir à le faire dans chaque formule Python, vous pouvez spécifier dans le fichier > Propriétés de la base de données du projet > Python un code prologue qui sera toujours exécuté avant le code proprement dit de la formule. Un code prologue typique ressemble par exemple à ceci :
import flexpro
import numpy as np
Vous devez toujours importer les modules flexpro et numpy.
Utilisation d'autres modules Python
Les modules numpy et flexpro sont déjà préinstallés. Si vous souhaitez utiliser d'autres modules, vous devez indiquer à FlexPro où ils se trouvent. Vous pouvez indiquer les dossiers du disque dur dans lesquels FlexPro doit chercher des modules Python sous Fichier > Options > Python > Paramètres généraux.
Remarque importante Contrairement à FPScript, Python permet d'écrire des programmes qui, si vos droits d'utilisateur le permettent, effectuent des manipulations sur les fichiers et le système d'exploitation. N'importez donc que des modules provenant de sources fiables et n'indiquez que des répertoires de disque dur dont l'accès n'est pas sans restriction ! En cas de doute, adressez-vous au responsable de la sécurité informatique de votre entreprise.
Voir aussi
Tutoriel sur les fonctions FPScript personnalisées
Travailler avec les formules
Insertion d'éléments de code dans une formule
Recherche et remplacement dans une formule
Appliquer des formules à des ensembles de données
Conversion de formules, d'objets d'analyse ou d'objets de liaison de données en ensembles de données