Grandeurs dans FPScript

23.04.2021

Quantités physiques

L'un des points forts de FPScript est la possibilité d'effectuer des calculs à partir de quantités physiques composées d'une valeur et d'une unité. FPScript gère non seulement le symbole de l'unité, mais aussi la dimension SI, ce qui permet de vérifier et, si nécessaire, de transformer différentes unités pour en assurer la compatibilité.

Saisie des quantités

En ajoutant une unité à une constante, la constante devient une quantité. La valeur d'une quantité peut être du type de données à virgule flottante 32 bits ou 64 bits et réelle ou complexe. Les quantités de type entier ne sont pas supportées.

L'unité est écrite après la constante et séparée par des espaces, comme dans :

1.3 N

Les degrés (°), les minutes (') et les secondes ('') constituent une exception. Ces unités sont écrites immédiatement après la valeur numérique, sans espace :

15° + 30´ + 45´´

ou

15° + 30' + 45"

De nouvelles unités peuvent être formées à partir de la plupart des unités en utilisant un préfixe SI :

1 kHz

1 MHz

1 µm

FPScript accepte également la notation fréquemment utilisée avec u au lieu de µ pour le préfixe "micro" :

1 um equals 1 µm

Cependant, u est écrit seul comme symbole pour l'interprétation de l'unité de masse atomique :

1 u equals 1 Da equals 1 Dalton

FPScript accepte le symbole ou le nom d'une unité. Les symboles sont sensibles à la casse, mais la casse est sans importance pour les noms. Les formes de notation suivantes sont correctes :

5 V

5 mV

5 Volt

5 volt

5 Millivolt

2 Ω

2 Ohm

En revanche, les éléments suivants ne sont pas acceptés :

5 mVolt

5 Volts

Les unités dérivées peuvent être construites comme un produit de puissances d'unités connues.

1 N m

1 N*m

1 N·m

Les exposants sont introduits avec le caractère ^ :

1 m s^-2

Pour les exposants 2 et 3, FPScript accepte également les nombres en exposant :

1 m²

1 m³

Au lieu des exposants négatifs, vous pouvez également utiliser le caractère / (division) :

1 m/s^2

1 1/min

Veillez à utiliser correctement les parenthèses :

1 m/(s kg)

Si vous utilisez Surveillance des unités sur le Gestionnaire d'unités de la base de données du projet Propriétés et définissez-le sur Tolérantvous pouvez omettre les espaces vides ou le signe de multiplication entre les unités de base :

1 Ws

Toutefois, cela a pour conséquence qu'il peut être interprété de manière incorrecte, comme dans l'exemple suivant :

5 Volts

est alors accepté comme

5 V·o·l·t·s

est égal à 5 volts-octet-litre-tonne-seconde.

Remarque : Vous pouvez éviter les erreurs d'interprétation en utilisant uniquement des symboles d'unité et en les séparant par des espaces. Utilisez µ et non u pour le préfixe "micro". Vérifiez l'utilisation des majuscules et des minuscules dans le préfixe et le symbole de l'unité. Les erreurs typiques incluent S (Siemens=conductance) au lieu de s (secondes=temps) ou M (méga=106) au lieu de m (milli=10-3).

Vous pouvez également utiliser des exposants rationnels. L'exemple suivant représente le franklin du système d'unités gaussien en unités SI :

1 g^(1/2) cm^(3/2) s^-1

Les unités peuvent contenir un préfacteur et un décalage. L'illustration suivante représente l'unité ° Fahrenheit dans l'unité SI Kelvin :

1 0.555555555555555K+255.3722222222222

En cas d'ambiguïté, vous devrez placer l'unité entre les apostrophes :

Dim s = 2

v = 3 'Vs'*s

Ceci est également nécessaire pour un préfacteur négatif :

5 '-1.602176487E-19 C'

Vérification du symbole de l'unité

FlexPro décompose une unité en ses éléments pendant la compilation et stocke les symboles d'unité des éléments individuellement avec leurs exposants correspondants. En outre, le symbole d'unité tel que spécifié est enregistré comme un symbole d'unité personnalisé. Pour

1 N m/(1/min)

le symbole personnalisé "Nm/(1/min)" est enregistré avec les exposants 1, 1, 1 comme symboles des unités de base "N", "m", "min". Lors du calcul de différentes unités, le symbole personnalisé est écarté et le symbole de l'unité de résultat est reconstruit à partir des symboles des unités de base :

1 N m/(1/min) * 1 min^-1

résultats dans :

1 N m

Vous pouvez remplacer le symbole personnalisé avec la fonction ChangeUnitSymbol sans affecter l'unité. Vous pouvez également utiliser la même fonction pour le supprimer. FlexPro régénérera ensuite le symbole de l'unité à partir des unités de base. Pour l'exemple ci-dessus, le résultat est "N m min".

Utilisation de quantités pour les calculs

FPScript ajuste les unités entre elles avant de traiter les quantités. L'expression FPScript suivante

1 V + 2 mV

fournit le résultat 1,002 V, par exemple, et non la valeur 3, qui fournirait un calcul ne tenant pas compte de l'unité. L'opérande de droite est transformé à l'unité de l'opérande de gauche avant l'addition.

Il en va de même pour les opérations de comparaison :

5 mV < 1 V

fournit VRAI, par exemple, et non FAUX.

Une autre source d'erreur fréquente lors de calculs purement numériques de comparaisons de quantités est le calcul d'unités incompatibles. L'expression

1 A + 2 V

génère un message d'erreur dans FPScript, car les unités Ampère et Volt ont des dimensions SI différentes.

1 km + 5 NM

est toutefois autorisé, puisque le mille marin peut être converti en km.

Si les valeurs, c'est-à-dire les nombres purs, sont calculées avec des quantités, la valeur prend alors implicitement l'unité de la quantité :

1 V + 2 = 2 + 1 V = 3 V

Ce principe de base, qui s'applique à la comparaison et aux autres opérations ainsi qu'aux arguments de fonction, facilite l'écriture de code FPScript "neutre sur le plan unitaire".

Pour certaines opérations, l'unité du résultat est formée à partir des unités des arguments :

1 m / 2 s

fournit 0,5 m/s comme résultat.

(1 m) ^ 2

fournit 1 m^2 comme résultat.

Pour les données vectorielles, c'est-à-dire les séries de données et les matrices de données, tous les éléments ont toujours la même unité. Les composantes individuelles d'une structure de données agrégée peuvent toutefois avoir des unités différentes, ainsi, par exemple, la composante Y d'un signal peut avoir l'unité Nm et la composante X peut avoir l'unité s.

Les unités sont prises en compte non seulement dans les opérateurs FPScript, mais aussi dans toutes les fonctions FPScript.

Dérivée (chemin)

fournit, par exemple, la vitesse dans l'unité m/s pour le cas où Path est un signal temporel avec l'unité X s et l'unité Y m.

Selon le paramètre de contrôle des unités, FPScript autorise également les unités inconnues pour le résultat, bien qu'elles ne puissent pas être transformées. Par exemple :

1 Dummy + 3 Dummy

se traduit par 4 dummy.

La valeur d'une quantité détermine l'opérateur Valeur:

Valeur 5 mm

renvoie la valeur à virgule flottante de 64 bits 5.

Avec l'opérateur Unité, vous pouvez transformer l'unité d'une quantité :

Unité<mm> 2 cm

fournit 20 mm comme résultat.

Note : Le comportement de FlexPro à l'égard des unités de traitement dépend de l'onglet Gestionnaire d'unités de la boîte de dialogue Propriétés de la base de données du projet Paramètres de surveillance des unités.

Calcul des unités

La fonction Unité permet d'extraire l'unité d'une quantité :

Unité (5,3 V)

Une série de données avec deux valeurs est retournée ici :

Unité({56 V, 7.8 V})

En effectuant ces deux appels, on obtient 1 V comme résultat.

Ainsi, vous pouvez effectuer des calculs d'unités et utiliser la fonction AdjustUnit pour transformer une quantité en unité de résultat :

AdjustUnit(Fréquence, 1 / Unité(Temps))

L'unité de fréquence est transformée en la valeur réciproque de l'unité de temps.

Calcul des pourcentages avec les unités % et ppm

Lorsque l'option ci-dessous est activée Fichier > Info > Propriétés de la base de données du projet > Gestionnaire d'unités > Calcul du pourcentage avec les unités % et ppm les opérations arithmétiques de base addition et soustraction sont calculées d'une manière spéciale pour les opérandes avec l'unité % ou ppm sur le côté droit

200 m + 10 % = 200 m + 200 m * (10/100) = 220 m

200 m - 10 % = 200 m - 200 m * (10/100) = 180 m

Pour toutes les autres opérations, les unités % et ppm sont d'abord converties en unité 1 :

200 m * 20 % = 200 m * (20/100) = 40 m

200 m / 20 % = 200 m / (20/100) = 1000 m

Le seul cas où les unités % et ppm sont conservées est celui où l'opérande de droite n'a pas d'unité :

10 % * 3 = 30 %

Pour l'unité ppm, le calcul s'effectue de manière similaire avec le facteur 1.000.000 au lieu de 100.

Voir aussi

Gestionnaire d'unités

Partager l’article ou envoyer par mail :

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