# Fehler bei Array of real



## RBoeckelt (30 November 2020)

Hallo,

ich habe einen Fehler bei der Benutzung von Werten in einem Array of Real mit einer Wago 750 und Codesys
Globale Variable:
    Ist_Temperaturen: ARRAY[0..6] OF REAL; 

in einem Programm ST:
aReal := Ist_Temperaturen[0]*100; 

  Ist_Temperaturen[0] wird z.B. mit dem Wert 6.78 angezeigt und aReal ergibt 778. 
  Der gleiche Fehler tritt mit auch mit den anderen Elementen des Arrays auf. 
  Z.B. Ist_Temperaturen[0]+Ist_Temperaturen[1] ergibt einen um 2 zu hohen Wert. D.h. jedes Elemenzt wird um 1 erhöht, sobald man eine Berechnung damit durchführt.

Der Fehler ist mir aufgefallen, da die Programmzeile
Mittelwert_Temp := (Ist_Temperaturen[0] + Ist_Temperaturen[1] + Ist_Temperaturen[2] + Ist_Temperaturen[3] + Ist_Temperaturen[4]) / 5;
einen um 1 zu hohen Wert lieferte.

Alle Versuche brachten keinen Erfolg. Ich habe jetzt beim Füllen des Arrays die Real Elemente auf 2 Nachkommastellen gerundet. Der Fehler tritt trotzdem auf.

Hat jemand eine Idee?

Mit freundlichen Grüßen


----------



## PN/DP (30 November 2020)

Versuche mal

```
aReal := Ist_Temperaturen[0] * [COLOR="#0000FF"][B]100.0[/B][/COLOR]; 

Mittelwert_Temp := (Ist_Temperaturen[0] + Ist_Temperaturen[1] + Ist_Temperaturen[2] + Ist_Temperaturen[3] + Ist_Temperaturen[4]) / [COLOR="#0000FF"][B]5.0[/B][/COLOR];
```

Harald


----------



## holgermaik (1 Dezember 2020)

welcher Controller?
welche Software? 
welche Version?


----------



## RBoeckelt (1 Dezember 2020)

Danke für die Antwort. Leider ändert es nichts.


----------



## DeltaMikeAir (1 Dezember 2020)

Kannst du einmal ein Foto einstellen mit online Status...


----------



## RBoeckelt (1 Dezember 2020)

Der Controller ist ein  750-881  Firmware revision             01.02.05 (03)
Codesys 2.3.9.44

Mit freundlichen Grüßen


----------



## DeltaMikeAir (1 Dezember 2020)

Mal unabhängig vom Problem, ist dies nicht eine uralte Firmwareversion?

Aktuell müsste V01.09.21 sein.

https://www.wago.com/de/d/FW_58_750-881


----------



## RBoeckelt (1 Dezember 2020)

Die Steuerung und das Programm laufen ja auch schon seit Jahren. Die Berechnung der mittleren Raumtemperatur dient nur dafür, eine Mindesttemperatur in der Halle zu gewährleisten. 1° Differenz ist daher nie aufgefallen.
Kann der Fehler in der älteren Codesys Software liegen oder kann es ein Fehler im Controller sein?


----------



## RBoeckelt (1 Dezember 2020)

Der Fehler scheint in der Firmware des Controllers zu liegen. Auf einer anderen Steuerung mit Firmware revision             01.09.21 (14) tritt der Fehler bei einem ähnlichen Code und dem selben Codesys nicht auf.


----------

