Sebastian Bialy
Guest
Thu May 15, 2008 7:38 pm
Witam.
Czy float(32) pojawiający się w konteksćie MODBUS jesy ustandaryzowany ?
Jak widzę w tej chwili składa się z 4 bajtów z podziałem: pierwszy
eksponent, drugi 1 lsb exponentu + 7 mantysty i pozostałe dwa mantysty.
Z tego co wyczytałem wynika więc że to standardowy IEEE float 32 bity.
ALE:
Czy istnieją na rynku urządzenia które zapisem float(32) nie
implementują tego standardu tylko jakiś inny (popularny)? Mam pewną
nieścisłość w odczycie z modbusowego czujnika[1] i podejrzewam, że
format float(32) nie jest IEEE tylko jakiś inny. Producent chyba w
chinach więc szanse na odpowiedź = 0. Ma ktoś jakieś doświadczenia?
[1] I nie mogę dostosować tych wartości bajtów do czegokolwiek co znam,
w dodatku nie mam możliwości odczytu ich inną drogą i weryfikacji.
Grzegorz StaĹczyk
Guest
Thu May 15, 2008 9:27 pm
Użytkownik "Sebastian Bialy" <heby@poczta.onet.pl> napisał w wiadomości
news:g0i012$bv2$1@atlantis.news.neostrada.pl...
Quote:
Witam.
Bry
Quote:
Czy float(32) pojawiający się w konteksćie MODBUS jesy ustandaryzowany ? Jak
widzę w tej chwili składa się z 4 bajtów z podziałem: pierwszy eksponent,
drugi 1 lsb exponentu + 7 mantysty i pozostałe dwa mantysty. Z tego co
wyczytałem wynika więc że to standardowy IEEE float 32 bity.
ALE:
Czy istnieją na rynku urządzenia które zapisem float(32) nie implementują tego
standardu tylko jakiś inny (popularny)? Mam pewną nieścisłość w odczycie z
modbusowego czujnika[1] i podejrzewam, że format float(32) nie jest IEEE tylko
jakiś inny. Producent chyba w chinach więc szanse na odpowiedź = 0. Ma ktoś
jakieś doświadczenia?
[1] I nie mogę dostosować tych wartości bajtów do czegokolwiek co znam, w
dodatku nie mam możliwości odczytu ich inną drogą i weryfikacji.
Zapewne zamieniona jest kolejność bajtów. Dlaczego ? Bo wiem to z doświadczenia
:)
Pozdrówka,
--
[ Grzegorz Stańczyk aka gRzEnIu ]
[ * Linux #382872 registered user * ]
[http://atariarea.krap.pl/stymulator]
[ _if technology is the answer _o/ ]
[ what was the question ? _|_ ]
Sebastian Bialy
Guest
Fri May 16, 2008 4:09 pm
M M wrote:
Quote:
Zapewne zamieniona jest kolejno bajtów. Dlaczego ? Bo wiem to z
dokladnie.
Dziękuje za pomoc, niestety nie

Po zamianie kolejności sieczka
jeszcze większa. Zaczynam się zastanawiać czy urządzenie nie ma
popsutego przetowrnika A/C.
Grzegorz StaĹczyk
Guest
Fri May 16, 2008 6:36 pm
Użytkownik "Sebastian Bialy" <heby@poczta.onet.pl> napisał w wiadomości
news:g0k8f8$k8h$1@nemesis.news.neostrada.pl...
Quote:
M M wrote:
Zapewne zamieniona jest kolejno bajtów. Dlaczego ? Bo wiem to z
dokladnie.
Dziękuje za pomoc, niestety nie

Po zamianie kolejności sieczka jeszcze
większa. Zaczynam się zastanawiać czy urządzenie nie ma popsutego przetowrnika
A/C.
Przestaw słowa a potem bajty w słowach.
--
Grzegorz
Sebastian Bialy
Guest
Fri May 16, 2008 7:02 pm
Grzegorz Stańczyk wrote:
Quote:
Przestaw słowa a potem bajty w słowach.
Robiłem wszystkie kombinacje w przypływie desperacji. Wygląda na to że:
a) to nie jest IEEE nawet po przestawieniach
b) urządzenie może mieć zły opis protokołu/rozpiski rejestrów
c) urządzenie ma popsuty A/C
Poczyniłem pewne eksperymenty i wygląda na to że odczytuje z rejestru
jakieś random() - wykres przypomina szum

. Protokół jest ok, działą mi
z innymi urządzeniami perfekcyjnie, z resztą w tym zgadza się crc.
Stawiam więc na c...
Na razie dziękuje, powalcze jeszcze.