# Temperatur als Dezimalzahl



## CBBornheim (20 September 2016)

Hallo Zusammen.
Ich habe folgendes Problem: Ich betreibe eine Wago 759-880 mit einer 8Kanal Analog Eingangskarte 750-451. An dieser Karte habe ich PT1000 angeschlossen und diese auch über Wago I-O eingestellt. Temperatur wird soweit richtig angezeigt. Nun wollte ich diese Temperatur bei Codesys anzeigen lassen. Anstatt einer Dezimalzahl z.B. 21,2 zeigt er mir nur 212 an. Was muss ich machen damit er mir die Temperatur als Dezimalzahl anzeigt und kann ich der Temperatur auch eine Einheit zuteilen?

Schonmal vielen Dank für eure Antworten.


----------



## shrimps (20 September 2016)

Hi,
ich bin zwar aus der Beckhoff-Welt, habe aber auch jede Menge PT1000 am laufen...
Wo ist das Problem:
Die Übergabe der Werte ist richtigerweise INT = 10tel Grad !
Wenn du nun in irgendeiner Visu o.ä. die Darstellung anders haben willst, kannst du es ja umrechnen !
Beste Grüße
Shrimps


----------



## oliver.tonn (21 September 2016)

Hallo CBBornheim,
die Antwort auf Deine Frage zur Darstellung (21,2 statt 212) der Zahl hat Dir shrimps ja schon gegeben, allerdings kommt man darauf sicher auch selber. Bei Deiner zweiten Frage versuche ich Dir zu helfen. Ich denke mal Du meinst die interne Visu von Codesys. Bei dieser fügst Du einfach ein (z.B.) Rechteck ein und bei den Eigenschaften des Rechteck-Objekts trägst Du unter Text z.B. %.1f°C und unter Text Variable die anzuzeigende Variable ein. Damit wird der Wert der Variable mit einer Nachkommastelle angezeigt und hinter den Wert noch °C angehängt.

Gruß

Oliver


----------



## Senator42 (21 September 2016)

geht  %.1f°C  wirklich mit einer Dezimalzahl   %f  ?


----------



## Accused (21 September 2016)

oliver.tonn schrieb:


> Hallo CBBornheim,
> Bei Deiner zweiten Frage versuche ich Dir zu helfen. Ich denke mal Du meinst die interne Visu von Codesys. Bei dieser fügst Du einfach ein (z.B.) Rechteck ein und bei den Eigenschaften des Rechteck-Objekts trägst Du unter Text z.B. %.1f°C und unter Text Variable die anzuzeigende Variable ein. Damit wird der Wert der Variable mit einer Nachkommastelle angezeigt und hinter den Wert noch °C angehängt.



Ergänzend hierzu habe ich noch mal das folgende Bild eingefügt. Im roten Kreis befindet sich ein Button, der dir zu diesem Thema Hilfestellung gibt.


----------



## oliver.tonn (21 September 2016)

Hallo Senator42,


Senator42 schrieb:


> geht  %.1f°C  wirklich mit einer Dezimalzahl   %f  ?


ja, denn der Begriff Dezimalzahl besagt lediglich, dass es sich um eine Zahl mit der Basis 10 handelt. Deine Zweifel wären berechtigt, wenn von einer Ganzzahl die Rede wäre.

Gruß

Oliver


----------



## computershooter (3 Oktober 2016)

anzeige (real):= input /10;
dan naturlich mit %.1f  %C auf die visualisation.


----------



## PN/DP (3 Oktober 2016)

computershooter schrieb:


> anzeige (real):= input /10;


Wenn man das wirklich so schreibfaul programmiert, dann wird da zwar eine Dezimalzahl mit Komma 'rauskommen, doch die Nachkommastelle wird wohl immer 0 sein. Besser:

```
Anzeigewert := INT_TO_REAL(Eingangswert)/10.0;
```

Harald


----------



## CBBornheim (12 Oktober 2016)

Ich hab mittlerweile anstatt 228 einen Wert von 22Grad Celsius, wie bekomme ich denn eine Nachkommastelle hin?
Also 22,8


----------



## PN/DP (12 Oktober 2016)

CBBornheim schrieb:


> Ich hab mittlerweile anstatt 228 einen Wert von 22Grad Celsius, wie bekomme ich denn eine Nachkommastelle hin?
> Also 22,8


Brauchst Du jemanden, der für Dich zu Fie.mann geht und eine Brille kauft? 
Schau mal meinen Beitrag #8 genau vor Dir. Da steht sogar das Wort Nachkommastelle drin.

Wo genau siehst Du die "22" Grad Celsius? Und wird da wirklich nur "22" angezeigt oder steht da "22.0"?

Falls Du die Zahl mit Nachkommastelle irgendwo anzeigen willst (wo?), dann brauchst Du
- erstens eine Variable, welche Werte mit Nachkommastellen enthalten kann, also den Datentyp REAL hat
- zweitens ein Ausgabefeld was auch Nachkommastellen anzeigen kann und soll. Meist gibt man da eine Formatierungsvorschrift an wie "%2.1f" oder "#0.0" oder ...

Harald


----------



## Triox85 (12 Oktober 2016)

Moin. 
Das ganze ist ganz simpel und mit Boardmitteln zu lösen. 
Lade dir die WagoLib Building_HVAC_03.lib bei Wago runter. 
Die Bibliothek einbinden. 
Dort sind auch Einzelraumregler usw. mit enthalten. 
Dann im Programm den Eingang von der Temperatur nehmen, Baustein einfügen , FuAI_Temp benennen und am Ausgang einen neuen Variablennamen z.b rAussentemp vergeben. 
Diese neue Variable muss als real deklariert werden. 
Dann hast du deine Kommastelle.


----------



## Triox85 (12 Oktober 2016)

Anbei ein Bild wie es aussehen kann


----------

