![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
' --------------------------------------------------------------------------- ' PT1000-Meßmodul: Temperaturwert in °C mit Nachkommastellen umwandeln ' mittels WORD-Arithmetik auf Open-Macro und Open-Maxi ' von Dietmar Harlos am 28. November 2017 ' --------------------------------------------------------------------------- 'INCLUDE "omac.def" 'Definitionen fuer die Open-Macro INCLUDE "omax.def" 'Definitionen fuer die Open-Maxi ' --------------------------------------------------------------------------- DIM wert WORD 'der Wert DIM stellen BYTE 'Zähler für dezimale Stellen ' --------------------------------------------------------------------------- ' Demo: Das Meßmodul liefert Werte zwischen 12000 und 55000, was einer ' Temperatur von -68.5°C bis +603.375°C entspricht. Die Rechenvorschrift ' dafür lautet: Wert / 64 - 256. ' 17772 -> 21.6875°C wert=17772 ' 55000 -> 603.375°C 'wert=55000 ' 12000 -> -68.5°C 'wert=12000 ' Geeignet (mit dem Faktor 32) skalieren & durch 64 teilen ' außerdem minus 256, dabei Skalierung beachten: wert=((wert/2) AND &h7fff) - 256*32 ' Nun liegt der Temperaturwert mit Faktor 32 skaliert vor: PRINT "Temperaturwert mit Faktor 32 skaliert=";wert ' Nun den Temperaturwert in °C ausgeben: PRINT "Temperaturwert in °C="; ' Negatives Ergebnis behandeln: IF wert<0 THEN wert=-wert PUT ASC("-") END IF ' Vorkommaanteil ausgeben, dabei Skalierung beachten: PRINT wert/32;"."; ' Nachkommaanteil ausgeben: FOR stellen=1 TO 4 wert=(wert MOD 32)*10 PRINT wert/32; NEXT stellen PRINT "°C" ' Programmende End2Host=ON END Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |