Forum KNX francophone / English KNX forum

Version complète : question sur valeur 2Bytes
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

christjar26

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??

marc.assin

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)

christjar26

comment savoir?

christjar26

c'est une valeur flottante si c'est ca que tu appelle type...

marc.assin

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

alain

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

christjar26

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!