Yoctopuce Yocto-RS485-V2 Mode D'emploi page 38

Table des Matières

Publicité

6. Mesures automatiques
• ($x:FLOAT16B) et ($x:FLOAT16L) permettent de décoder un nombre flottant codé en
hexadécimal selon le standard IEEE 754 sur 16 bits, respectivement avec les octets ordonnés
en big-endian ou little-endian
• ($x:FLOAT16D) permet de décoder un nombre flottant codé en hexadécimal sur deux octets,
avec le premier octet qui contient la mantisse et le deuxième octet qui contient l'exposant
décimal signé.
• ($x:FLOAT32B) et ($x:FLOAT32L) permettent de décoder un nombre flottant codé en
hexadécimal selon le standard IEEE 754 sur 32 bits, respectivement avec les octets ordonnés
en big-endian ou little-endian
• ($x:FLOAT32X) permet de décoder un nombre flottant codé en hexadécimal selon le standard
IEEE 754 sur 32 bits, avec les octets ordonnés en mixed-endian, soit deux mots de 16 bits
chacun représenté en big-endian, mais le mot de poids faible en premier et celui de poids fort
ensuite.
La représentation des nombres flottants étant limitée à 3 décimales dans les modules Yoctopuce, il
est possible de convertir l'ordre de grandeur des nombres flottants lus par les expressions FLOAT,
FLOAT16 et FLOAT32 en les préfixant d'un M pour retourner des millièmes, un U pour les
millionièmes (U comme micro) et d'un N pour les milliardièmes (N comme nano). Ainsi, si l'on
reconnait la valeur 1.3e-6 avec l'expression ($1:UFLOAT), la valeur affectée au genericSensor1 sera
1.3.
COMPUTE
La commande compute permet de faire des calcul intermédiaires. Par exemple le code suivant
reconnaît un entier et le place dans une variable $t, puis utilise compute avec cette variable pour
faire une conversion °C/°F et place le résultat dans le GenericSensor n°1.
expect
($t:WORD)
compute $1 = 32 + ($t * 9) / 5
Vous pouvez utiliser des expression arithmétiques assez sophistiquées. Tous les opérateurs
mathématiques usuels sont disponibles, avec l'ordre de précédence suivant:
met à la puissance
**
complément, plus/moins unaire, non logique
~ + - not
multiplie, divise, modulo et division entière
* / % //
ajoute, soustrait
+ -
décalage de bits à droite et à gauche
>> <<
ET bit-par-bit
&
OU, XOR bit-par-bit
| ^
compare
< <= >= >
test d'égalité ou de différence
== <> !=
ET logique
and
OU logique
or
Si vous le préférez, les symbols alternatifs suivants peuvent être utilisés:
peuvent remplacer / et %
div mod
peuvent remplacer
! && ||
Les opérateurs de comparaison et les opérateurs logiques sont destinés à être utilisés avec
l'opérateur d'évaluation conditionnelle:
compute
"($temp &gt; 0 ? log($temp) : -9999)"
Les constantes et fonctions mathématiques classiques sont disponibles aussi:
pi e
cos sin tan
acos asin atan atan2
30
,
,
not
and
or
les constantes universelles
fonctions trigonométriques
fonctions trigonométriques inverses
www.yoctopuce.com

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Yocto-rs232

Table des Matières