'Inteligenty' dom ze sterownikiem PLC

 Language:
Szukanie zaawansowane  

Aktualności:

Powrót do strony głównej: www.edom-plc.pl

Autor Wątek: Konwersja typow - czyli o tym, jak aura nauczyla mnie czegos nowego  (Przeczytany 1917 razy)

mordorr

  • Full Member
  • ***
  • Wiadomości: 152
    • Zobacz profil
Konwersja typow - czyli o tym, jak aura nauczyla mnie czegos nowego
« dnia: Listopad 23, 2015, 09:39:30 am »

Hej,

Dzisiaj pierwszy raz moj dom z dzialajacym PLCkiem poznal ujemne temperatury :)

do tej pory wszystkie odczyty temperatur robilem prostą konwersja WORD_TO_REAL, ale dzisiaj okazalo sie, ze WORD domyslnie jest unsigned czyli temperatura -0.4 stopnia zrobila sie na wszystykich wyswietlaczach 655.xx stopni :) ot - taki szczegol :)

no i teraz rozwiazanie - nie wiem czy dobre, ale nic lepszego nie wymyslilem.
w codesys zmienna typu signed jest SINT INT i DINT i konwersja WORD_TO_INT prawidlowo konwertuje FFD4 do -44.
taka zmienna jeszcze nie bardzo nadawala sie do zapisywania do wyswietlaczy, no bo -44 to -0.44 a to juz nie jest INT.

tak wiec moj odczyt temperatury od dzisiaj wyglada tak:
TempBalkon:=INT_TO_REAL(WORD_TO_INT(2#1111111111010100);

mozna to zrobic inaczej (prosciej) ??

Jacek
Zapisane

kamiKAC

  • Jr. Member
  • **
  • Wiadomości: 66
    • Zobacz profil
Odp: Konwersja typow - czyli o tym, jak aura nauczyla mnie czegos nowego
« Odpowiedź #1 dnia: Grudzień 10, 2015, 09:14:25 pm »

Witam

Nie bardzo rozumiem, o co chodzi z tymi wyświetlaczami, ale ja konwertuję dane z MODBUS (WORD) poprzez rTemp := WORD_TO_REAL(wTemp)/100, potem do wyświetlania w edomApp używam SINT: iTemp := REAL_TO_SINT(rTemp*10)

Pozdrawiam
--
kamiKAC

P.S. Ja chyba miałem ten sam problem, co Ty pierwszej zimy.
A 3 tygodnie temu po burzy z piorunami miałem na wszystkich czujnikach ponad 400stopni. Pomógł reset wirechipa. Latem 2014 było dokładnie to samo.
Zapisane

mordorr

  • Full Member
  • ***
  • Wiadomości: 152
    • Zobacz profil
Odp: Konwersja typow - czyli o tym, jak aura nauczyla mnie czegos nowego
« Odpowiedź #2 dnia: Grudzień 11, 2015, 12:31:49 am »

Mniej więcej robimy to samo :)

chodzi o to , ze real nie ma znaku i nieprawidlowo dekoduje np. FFD4 do dziesiętnego 65492 zamiast do -44 :)

burzy jeszcze nie doswiadczylem :) mam Cel-Mara, zobaczymy jak będzie z tym urządzeniem.
Zapisane