La mise à l'échelle est utile pour convertir une gamme de valeurs d'unités mesurées en une gamme calculée. Vous pouvez configurer la mise à l'échelle pour chaque type de données de variables partagées. Vous pouvez configurer la mise à l'échelle sur la page Mise à l'échelle de la boîte de dialogue Propriétés de la variable partagée.

(Module DSC) Vous pouvez également utiliser les propriétés de mise à l'échelle SharedVariableIO pour configurer la mise à l'échelle.

Mise à l'échelle de variables partagées numériques

Vous pouvez utiliser la mise à l'échelle linéaire ou racine carrée pour les variables partagées numériques.

Il faut souvent manipuler les données brutes utilisées par le serveur de périphériques pour convertir les données en unités ingénieur, plus pratiques pour les utilisateurs d'une application. Vous pouvez définir la gamme brute et la gamme ingénieur d'une variable partagée sur la page Mise à l'échelle de la boîte de dialogue Propriétés de la variable partagée pour effectuer des conversions simples entre les deux gammes. La gamme brute fait référence aux valeurs utilisées par le serveur de périphériques. La gamme ingénieur fait référence aux valeurs utilisées par le moteur de variables partagées et l'application HMI.

Mise à l'échelle linéaire et racine carrée

La mise à l'échelle linéaire est définie par l'équation suivante :

m * brute + b

b étant l'échelle zéro ingénieur, et m étant la pleine échelle ingénieuréchelle zéro ingénieur/pleine échelle bruteéchelle zéro brute.

La mise à l'échelle racine carrée est définie par l'équation suivante :

b + m * racine carrée de bruteo

b étant l'échelle zéro ingénieur, m étant la pleine échelle ingénieuréchelle zéro ingénieur/racine carrée de pleine échelle bruteéchelle zéro brute, et o étant l'échelle zéro brute.

Le tableau suivant montre des valeurs de variable partagée allant de 0 à 100 mises à l'échelle en unités au format ingénieur allant de 0 à 10.

Unités brutes Échelle linéaire Échelle racine carrée
0 0 0
4 0,4 2
9 0,9 3
10 1 3,16
16 1,6 4
20 2 4,47
25 2.5 5
30 3 5,48
36 3,6 6
40 4 6,32
49 4,9 7
50 5 7,07
60 6 7,75
64 6,4 8
70 7 8,37
80 8 8,94
81 8,1 9
90 9 9,49
100 10 10

Le tableau suivant montre des valeurs de variable partagée allant de 0 à 100 mises à l'échelle en unités au format ingénieur allant de 15 à 30. La mise à l'échelle avec offset donne des résultats plus compliqués.

Unités brutes Échelle linéaire Échelle racine carrée
0 15 15
4 15,60 18
10 16,50 19,74
16 17,40 21
20 18 21,71
30 19,50 23,22
36 20,40 24
40 21 24,49
50 22,50 25,61
60 24 26,62
64 24,60 27
70 25,50 27,55
80 27 28,42
90 28,5 29,23
100 30 30

Exemple de mise à l'échelle

Dans cet exemple, un serveur de périphériques renvoie une tension comprise entre 0 et 5 V. La tension provient d'un capteur de position, et la position physique est mesurée en centimètres, 0 V correspondant à 50 cm et 5 V correspondant à 100 cm. Le tableau suivant montre les valeurs des variables partagées après la mise à l'échelle.

Unités brutes (V) Échelle linéaire (cm)
0 50
1 60
2 70
3 80
4 90
5 100

Exemple de mise à l'échelle racine carrée

Dans cet exemple, une jauge de débit mesure le débit d'un liquide en utilisant une lecture de pression différentielle. Le serveur de périphériques fournit des mesures variant de 4 à 20 mA. Le débit réel est mesuré en gallons par minute (GPM), 4 mA correspondant à 0 GPM et 20 mA correspond à 100 GPM. Le tableau suivant montre les valeurs des variables partagées après la mise à l'échelle.

Unités brutes (mA) Échelle racine carrée (GPM)
4 0
5 25
6 35,36
7 43,3
8 50
10 61,24
13 75
15 82,92
20 100

(Module DSC) Utilisez la propriété Scaling.UnitsSharedVariableIO pour assigner des unités à une variable partagée. Dans l'exemple précédent, vous pouviez spécifier des gallons par minute comme constante pour la propriété Scaling.Units.

Mise à l'échelle de variables partagées booléennes

Vous pouvez utiliser la mise à l'échelle inversée pour les variables partagées booléennes. Lorsque vous activez la mise à l'échelle inversée, LabVIEW inverse la valeur booléenne lorsqu'il communique avec le serveur.

Mise à l'échelle des variables partagées à champ U32 bits

Vous pouvez utiliser une mise à l'échelle à masque d'inversion ou masque de sélection pour les variables partagées à champ U32 bits.

La mise à l'échelle à masque ne s'applique qu'aux champ U32 bits. LabVIEW stocke un champ de bits sous forme de nombre et retraduit le nombre en champ 32 bits si besoin est. Le champ de bits contient une série de 32 valeurs, chacune étant limitée à 1 ou 0. Avec une mise à l'échelle à masque, vous pouvez décider à quels membres du tableau vous devez faire attention. Tout bit éliminé par le masque apparaît comme 0. Les bits qui ne sont pas éliminés affichent leur valeur réelle, 0 ou 1. Un masque de

00000000000000001111111111111111 0x0000FFFF

0 indiquant une position à ignorer, et 1 une place à rapporter, lit le tableau de bits

10110011100011001100111000110010

comme suit :

00000000000000001100111000110010

Remarque Le masque d'inversion n'inverse pas les bits qui sont ignorés.

Le tableau suivant montre des exemples de variables partagées configurées pour la mise à l'échelle de champ U32 bits.

Nom de la variable partagée Valeur brute Masque d'inversion de mise à l'échelle Masque de sélection de mise à l'échelle Valeur mise à l'échelle
Variable partagée 1 0x0000000F 0x00000000 0x000000FF 0x0000000F
Variable partagée 2 0x0000000F 0x00000033 0x000000FF 0x0000003C
Variable partagée 3 0x0000000F 0x00000033 0x0000000F 0x0000000C
Variable partagée 4 0x0000000F 0x00000000 0x00000033 0x00000003
Variable partagée 5 0x0000000F 0x00000033 0x00000033 0x00000030
Variable partagée 6 0x00000FF0 0x0000000F 0x000000FF 0x000000FF