-> Hier kostenlos registrieren
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
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