Step 7 Werte ausrechnen AWL Hilfe!

Volker_81

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Habe da ein Problem.
Ich würde gerne den Rechenweg erklärt bekommen wie ein Wert berechnet wurde.
Es geht hier um den "Mittelwert bilden" im NW4.
Ich komme da nicht auf das Ergebnis.
Das Netzwerk 3 habe ich denke errechnet bekommen.

Lade Heizzonenlänge 2050(2.050000e+003)
Lade Sollwert 120
/R Dividiere 2050:120=17,083
Lade 10 (1.000000e+001)
+R -> 17,083+10=27,083
Lade 2050:27,083=75,69

Das Ergebnis passt zum Bild(DB91.DBD18)

Aber wie komme ich auf die 109,666?(DB91.DBD14)
Kann mir da jemand helfen?(Sollwerte müsste 120 sein)
Danke!
 

Anhänge

  • 2021-03-04 15_53_01-Window.png
    2021-03-04 15_53_01-Window.png
    66,4 KB · Aufrufe: 74
  • 2021-03-04 09_38_07-Window.png
    2021-03-04 09_38_07-Window.png
    88,2 KB · Aufrufe: 72
Zuviel Werbung?
-> Hier kostenlos registrieren
Da wird mit dem vom vorherigen Durchlauf der Instanz berechneten Mittelwert ("Mittelwert_Alt") weitergerechnet und das Ergebnis wieder dem Mittelwert ("Mittelwert_Neu") zugewiesen.

Wenn Du das Programm eine Weile beobachtest, dann solltest Du sehen daß (bei gleichbleibenden Eingangswerten) der #Mittelwert größer wird, bis er irgendwann den Wert von #Messwert erreicht. Beim nächsten Durchlauf wird z.B. #Mittelwert = 109.83 berechnet werden.

Eigentlich ist #Mittelwert als OUT falsch deklariert - es müsste STAT und ein zusätzlicher OUT sein. Da hatte der Programmierer wohl keine Lust, für die Ausgabe aus dem FB extra eine Kopie des (internen) Mittelwertes zu machen oder der Speicher war so kostbar, das er die 4 Byte für eine zusätzliche REAL-Variable sparen wollte. TIA würde sowas heutzutage (vermutlich) anmeckern.

Der AWL-Code rechnet:
Code:
#TM_LAENGE := 2050.0 / #Sollwert + 10.0;
[COLOR="#008000"]// 2050.0 / 120.0 + 10.0 = 27.08[/COLOR]

#Grenzwert := 2050.0 / #TM_LAENGE;
[COLOR="#008000"]// 2050.0 / 27.08 = 75.69[/COLOR]

#Mittelwert := (#Messwert - #Mittelwert) * #CYCLE / #TM_LAENGE + #Mittelwert;
[COLOR="#008000"]// Mittelwert_Neu := (Messwert - Mittelwert_Alt) * ...[/COLOR]
[COLOR="#008000"]// (114.0 - 109.666) * 1.0 / 27.08 + 109.666 = 109.83[/COLOR]

#Fehler := #Mittelwert < #Grenzwert;

Harald
 
Zurück
Oben