le 02-16-2016 02:08 AM
Bonjour,
Je souhaiterais pouvoir récuperer les données d'un inclinomètre +/- 15° sauf quer celui-ci renvoit des valeurs en entier signé sur 16 bits qu'il me faut convertir.
J'ai relevé les valeurs pour les max et j'obtiens 3a98 pour un coté et c568 pour l'autre.
Savez vous comment je pourrais facilement convertir ces valeurs en angle?
Merci d'avance.
Résolu ! Accéder à la solution.
le 02-16-2016 02:55 AM
Bonjour,
Sans connaître la référence de ton équipement, il sera difficile de t'apporter une réponse.
As tu regardé la documentation de ton inclinomètre, il me paraitrait bizarre qu'il n'explique pas l'interprétation à avoir des données remontées par leur produit.
Cdt,
Michael
02-16-2016 02:59 AM - modifié 02-16-2016 03:14 AM
Jsutement il n'y a aucun référence sur celui-ci...
Dans un premier temps, est ce que cela serait possible de convertir les hexa en entiers signés sur 16 bits puis en décimal?
Si j'ai bien compris le premier bit est le signe et le reste la valeur.
Mais je ne sais pas comment faire cela sous Labview
le 02-16-2016 03:16 AM
Je confirme la réponse de Michael.
Cependant, tu parles d'un inclinomètre de +/- 15° ...
Et je remarques que les nombres hexa "3A98" et "C568" (signés sur 16bits) correspondent (comme par hasard) à ... +15.000 et -15.000
donc, pour moi ... la conversion est immédiate.
C568 = -15000 == -15,000 == -15°
et par example ... 38A4 = +14500 == +14,500 == 14° 30' (la fonction "Hexa String To Number" + "une conversion To Word Integer")
non ? (juste une idée)
le 02-16-2016 03:29 AM
oui tu as surement raison.
Est ce que quelque chose comme cela conviendrait?
02-16-2016 03:34 AM - modifié 02-16-2016 03:43 AM
Tu auras ton angles en décimal ... si cela te convient, c'est bon.
[edit] pour ta constante "1000" ... mets un "I16", tu éviteras les 2 points de coercition [/edit]
le 02-16-2016 03:40 AM
Oui cela me semble bon. Pourquoi rajoutes tu des points de suspension? Tu vois un truc qui va pas?
02-16-2016 03:43 AM - modifié 02-16-2016 03:47 AM
non ... je suis un "accro" des "..."
juste ceci (j'ai un TOC ) >> pour ta constante "1000" ... mets un "I16", tu éviteras les 2 points de coercition
le 02-16-2016 03:51 AM
Tu viens de me faire découvrir les points de coercition... Par contre en mettant 1000 en I16, cela ne change pas. Ils sont toujours en rouge
le 02-16-2016 04:42 AM
C'est normal. La fonction "diviser" transforme toute entrée en "dbl".
Si tu ne veux plus de points de coercition, il te faut transformer tes deux fils d'entrées en "dbl".
Cdt,
Michael