FlexPro vous offre la possibilité de programmer vos propres fonctions en FPScript ou Python. Vous les créez comme des formules normales, mais vous utilisez l' instruction Arguments dans la première ligne de code pour déclarer des arguments pour la fonction. Cela transforme la formule en une fonction qui doit recevoir des arguments lorsqu'elle est appelée. Vous pouvez enregistrer de telles fonctions dans des bases de données de modèles et élargir ainsi la réserve de fonctions de FlexPro.
Python fait partie intégrante de FlexPro dans l'édition professionnelle.
Exemple :
a) FPScript
Une fonction FPScript Sum ressemblerait par exemple à ceci :
Arguments a, b
a + b
Cette fonction peut maintenant être appelée dans une autre formule :
Somme (1 V, 2 mV)
ou
Somme(DataSet1, DataSet2)
Les arguments a et b servent de paramètres formels pour représenter les arguments passés. Vous pouvez les utiliser comme des variables locales.
Vous pouvez omettre tout élément de la liste d'arguments lorsque vous appelez la fonction. Ces éléments ont alors un type de données vide :
Sum( , 2) est donc équivalent à Sum(Empty, 2) et Sum(1) est équivalent à Sum(1, Empty).
Veuillez noter que dans la fonction Sum, aucune déclaration de retour n'est nécessaire. Le résultat de la dernière instruction d'une formule FPScript est automatiquement utilisé comme résultat de la formule.
b) Python
Le même exemple en Python est légèrement différent. En Python, vous devez explicitement assigner le résultat du calcul à la valeur de résultat de la fonction. Les arguments sont transmis sous forme d'objets flexpro.Data avec valeur et unité :
arguments a, b
this.data = a.value + b.value
Si vous souhaitez transmettre le résultat avec l'unité, le code ressemble à ceci :
arguments a, b
this.data = flexpro.Data(a.value + b.value, a.unit)
Une fonction FPScript ou Python est appelée dans une formule Python de la manière suivante :
flexrpro.call('Sum', flexpro.Data(1, 'V'), flexpro.Data(2, 'V'))
Veuillez noter que Python ne vérifie pas l'unité et ne l'ajuste pas non plus. Si, par exemple, a a pour unité V et b pour unité mV, le résultat calculé est faux.
Enregistrer les fonctions FPScript ou Python comme modèles
Si vous enregistrez une fonction FPScript ou Python dans une base de données de modèles, vous pouvez l'utiliser dans vos bases de données de projets comme une fonction intégrée. Pour enregistrer une fonction, utilisez un assistant dans lequel vous pouvez spécifier un commentaire pour chaque argument et définir les types de données et les structures autorisés. Fonctions ainsi enregistrées
•sont affichés dans l'assistant d'insertion d'une fonction dans une formule de la catégorie Personnalisé,
•sont prises en charge par la fonction d'assistance de l'éditeur FPScript,
•prennent en charge les arguments facultatifs avec des valeurs par défaut, et
•lorsqu'ils sont appelés, vérifient automatiquement les arguments passés pour les types de données et les structures de données autorisés.
Partage des fonctions FPScript
FlexPro Professional et FlexPro Developer Suite supportent les bases de données de modèles partagées. Les fonctions FPScript ou Python que vous enregistrez dans une telle base de données de modèles peuvent être partagées avec vos collègues. Utilisez les bases de données de modèles partagées pour créer des bibliothèques de fonctions pour votre département ou votre entreprise.
Voir aussi
Tutoriel sur les fonctions FPScript personnalisées
Travailler avec les fonctions FPScript
Création d'une fonction FPScript