Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
question sur valeur 2Bytes
#1
Hello,

j'ai un petit souci je cherche a exploiter une température pour faire
des graphs,
ma valeur est donc en 2bytes mais je n'arrive pas a la transformé en
valeur en °C,
quand je transforme l'hexa vers decimal cela me donne une valeur
érroné....

des idées??
#2
On 27 mai, 19:20, christjar26 <christopher.jary.e...@hotmail.fr>
wrote:
> ma valeur est donc en 2bytes mais je n'arrive pas a la transformé en
> valeur en °C,
> quand je transforme l'hexa vers decimal cela me donne une valeur
> érroné....
Faudrais savoir le Data Type exact, j'en vois au moins 3 sur 2 bytes
(format différent)
#3
comment savoir?
#4
c'est une valeur flottante si c'est ca que tu appelle type...
#5
On 27 mai, 19:40, christjar26 <christopher.jary.e...@hotmail.fr>
wrote:
> c'est une valeur flottante
OK, il n'y a qu'un format, c'est le EIS5

> si c'est ca que tu appelle type...
heuu, j'emploie la terminologie KNX, "Interworking Datapoint types"
plus communément Data Type (je ne me rapelle plus si c'est le nouveau
nom ou toujours l'ancien)

Tu as déjà jeté un oeil dans la partie "Fichiers" ?

ets_03_07_02 Datapoint Types v13 AS.pdf
#6
Salut

Selon la terminologie KNX, le flottant sur 16 bits correspondant au
data types 9.*.

Voici l'algo de décodage (en Perl) que j'utilise

Considérant que data[1] contient l'octet de poids fort, et data[2]
l'octet de poids faible du mot de 16 bits.

my $sign = $data[1] & 0x80;
my $exp = ($data[1] & 0x78) >> 3;
my $mant = (($data[1] & 0x7) << 8) | $data[2];

$mant = -(~($mant - 1) & 0x7ff) if $sign != 0;
$val = (1 << $exp) * 0.01 * $mant;
return $val;

En d'autres termes, le 16 bits est décomposé en :
- 1 bit de signe (bit 15)
- 4 bits d'exposant
- 11 bits de mantisse, avec complément à 2 pour les négatifs

Alain
#7
merci pour les infos, c'est pas tout rose mais je vais bossé dessus.

En effet j'aitrouvé un fichier interessant sur la composition d'un
code hexa en EIS5!


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)