Page 2 sur 4

Re: recuperation de donnee

Posté : 29 mars 2018, 14:07
par Benitole7
je reussi a lire mai la valeur differe de celle afficher par mon compteur d'energie

Re: recuperation de donnee

Posté : 29 mars 2018, 14:11
par Benitole7
je reussi a lire mai la valeur differe de celle afficher par mon compteur d'energie

Re: recuperation de donnee

Posté : 29 mars 2018, 17:27
par itasoft
slts,
après consultation de la doc,
c'est du REAL sur une mantisse de 64 bits (sur 4 mots de 16bits), voir la solution proposé par JC87 ,
c'est la seule solution ya n'as pas d'autres
(ma solution donnée dans un précédent post, c'est pour un entier sur 64 bits)

Re: recuperation de donnee

Posté : 29 mars 2018, 20:31
par itasoft
slts,
demande à JC87 qui à une patience à toute épreuve pour t'expliquer , moi je craque, lol

Re: recuperation de donnee

Posté : 29 mars 2018, 21:03
par JC87
Houlala je suis loin d'être très bon en maths et puis je n'ai jamais eu a travailler sur un sujet comme ça. Déjà la doc moi je ne peut pas la voir parce que le lien qui m'a été envoyé n'est pas bon. Quoiqu'il en soit, en supposant que les quatre registres sont dans l'ordre de la mantisse à l'exposant, le plus simple serait de copier bit à bit les 23 premiers bits des deux premiers registres dans ceux d'une variables real 32 bits, puis les premiers 8 bits de l'exposant dans les bits suivant de la variable 32 bits et finir par le bit de signe. En Unity il faudra certainement travailler sur des variables localisées. Maintenant je ne garantit pas que cela va marcher, il faut faire des essais. Après, même si ça marche il restera le problème de dépassement de capacité de la variable 32 bits, ensuite je ne sais pas ce qui se passera, il faudrait l'avis d'un vrai matheux :)

JC

Re: recuperation de donnee

Posté : 29 mars 2018, 21:23
par itasoft
slts,
ça demande une bonne réflexion suivi des tests, ceci dit c'est la plus grosse connerie du siècle que de donner la valeur sur un REAL 64 bits,
partout ailleurs c'est sur un entier 64 bits, il faut être un "rosbif" pour faire ça.
disons que l'essais bestial et rapide c'est de prendre les 32 bits des poids forts et de les copier dans une variable REAL 32 bits et voir ce que ça donne
ça revient à raccourcir la mantisse et pas l'exposant

Re: recuperation de donnee

Posté : 29 mars 2018, 21:28
par JC87
Il est clair que c'est beaucoup de boulot pour pas grand chose et en plus il faut le matos pour les essais parce que sans ça on ne peut pas simuler la variable 64 bits de manière sure. Le plus simple c'est peut être de dire que c'est tout simplement pas possible à faire :mrgreen:

JC

Re: recuperation de donnee

Posté : 29 mars 2018, 22:28
par Benitole7
JC87 a écrit : 29 mars 2018, 21:03 Houlala je suis loin d'être très bon en maths et puis je n'ai jamais eu a travailler sur un sujet comme ça. Déjà la doc moi je ne peut pas la voir parce que le lien qui m'a été envoyé n'est pas bon. Quoiqu'il en soit, en supposant que les quatre registres sont dans l'ordre de la mantisse à l'exposant, le plus simple serait de copier bit à bit les 23 premiers bits des deux premiers registres dans ceux d'une variables real 32 bits, puis les premiers 8 bits de l'exposant dans les bits suivant de la variable 32 bits et finir par le bit de signe. En Unity il faudra certainement travailler sur des variables localisées. Maintenant je ne garantit pas que cela va marcher, il faut faire des essais. Après, même si ça marche il restera le problème de dépassement de capacité de la variable 32 bits, ensuite je ne sais pas ce qui se passera, il faudrait l'avis d'un vrai matheux :)

JC
https://www.schneider-electric.com/libr ... 12.2xx.pdf

Re: recuperation de donnee

Posté : 30 mars 2018, 08:14
par JC87
Bonjour,

Après consultation de cette doc; c'est bel et bien un réel en 64 bits. Mais il n'y a aucune indication sur la façon dont est transmise la valeur sur quatre registres. Il faut donc faire des essais "en live" avec des recopie de bits comme indiqué.

JC

Re: recuperation de donnee

Posté : 30 mars 2018, 10:59
par itasoft
slts,
après réflexion, il faut utiliser un automate qui possède des variables REAL sur 64 bits