PDA

View Full Version : Heizkurvenberechnung s7-200



Turi
06.07.2010, 14:51
Hallo zusammen

nach langem Probieren komme ich einfach nicht weiter beim Berechnen der Heizkurve. Eingesetzt habe ich CPU224XP Rel02.01 und EM231 AI8xTC
in NW 1 bekomme ich nur NULL, was sich schlecht rechnen lässt.
in NW 2 (VW 100 geforct mit +10) rechnet es etwas, das gar nicht sein kann (10 +4 = 2560 ???)
in NW 3 ist das Ergebniss wieder NULL
NW 4 bereitet mir am meisten Kopfzerbrechen, Zitat F1: "Die Operation Natürlicher Exponent (EXP) führt die Exponentialfunktion e potenziert mit dem Wert von IN aus und legt das Ergebnis in OUT ab. So potenzieren Sie ein Realzahl mit einer anderen Realzahl, einschließlich Bruchexponenten: Verbinden Sie die Operation Natürlicher Exponent mit der Operation Natürlicher Logarithmus. Für X hoch Y beispielsweise geben Sie die folgende Operation ein: EXP (Y * LN (X))."
wenn ich EXP wie im Beispiel füttere, reklamiert microwin


Berechnung der Heizkurve in Einzelschritten :'TVor = (0,55)*Neigung*((Raumsoll)^(gem.AT/(320-gem. AT*4)))*((-gem. AT+20) *2)+Raumsoll+Niveau

Netzwerk 1 (320-gem. AT)

[LD Hzg_Auto:M10.2
MOVW +3200, VW100 -I
AF:AEW14, VW100]

SymbolAdresseKommentar
AFAEW14 Aussenfühler
Hzg_AutoM10.2 Freigabe Heizung


Netzwerk 2 (320-gem. AT*4)

[LD Hzg_Auto:M10.2
MOVW VW100, VW101
-I +4, VW101]

SymbolAdresseKommentar
Hzg_AutoM10.2
Freigabe Heizung


Netzwerk 3 (gem.AT/(320-gem. AT*4))

[LD Hzg_Auto:M10.2
MOVW AF:AEW14, MW3
DIV VW101, MD1]

SymbolAdresseKommentar
AFAEW14 Aussenfühler
Hzg_AutoM10.2 Freigabe Heizung


Netzwerk 4 ((Raumsoll)^(gem.AT/(320-gem. AT*4)))

[LD Hzg_Auto:M10.2
EXP MD1, MD3]

SymbolAdresseKommentar
Hzg_AutoM10.2 Freigabe Heizung

Netzwerk 5 'TVor = (0,55)*Neigung*((Raumsoll)^(gem.AT/(320-gem. AT*4)))*((-gem. AT+20)*2)+Raumsoll+Niveau

Gruss
Turi

eNDe
06.07.2010, 16:26
Hallo Turi,
kein Wunder wenn du nicht klar kommst, denn:
- du beachtest keine Datenformate
- du wendest die S7-200-Befehle falsch an
Obwohl es keine optimale Programmierung ist, hier mein Vorschlag als Erstatz für deine 4 Netzwerke (damit ist ja deine Formel noch lange nicht fertig berechnet)


NETWORK 1 // VD100 = 3200 - AEW14 (im Real-Format)
//
LD M10.2
MOVW AIW14, AC1
AENO
ITD AC1, AC1
AENO
INVD AC1
AENO
INCD AC1
AENO
+D +3200, AC1
AENO
DTR AC1, VD100
NETWORK 2 // VD104 = (3200 - AEW14 * 4 (im Real-Format)
//
LD M10.2
MOVR VD100, VD104
*R 4.0, VD104
NETWORK 3 //VD108 = AEW14 / (320-4*AEW14) (im Realformat)
//
LD M10.2
MOVW AIW14, AC1
AENO
ITD AC1, AC1
AENO
DTR AC1, AC1
AENO
MOVR VD104, VD108
/R AC1, VD108
NETWORK 4 //VD112 = Raumsoll ^ (gem.AT/(320-gem. AT*4)) (im Realformat)
//
LD M10.2
LN MD0, AC1
AENO
*R VD108, AC1
AENO
EXP AC1, VD112

Statt der Raumtemperatur habe ich einfach mal das MD0 angesetzt. In diesem müsste deine Raumtemperatur im Realformat stehen.
Gib diesen Code ein und schalte um in FUP. Dann siehst du besser, wie es funktioniert.
Noch Fragen - Bitte gern!
MfG
eNDe

Turi
28.10.2010, 21:05
Danke für den Tipp

ich habe lange herumprobiert, die Formel im Exel in Einzelschritten gerechnet und gehe sobald mein Akku geladen ist, Probieren.

unten siehst du meine Bemühungen, die auf deinem Rat gewachsen sind:
MD8 = AT
MD20 = neg.AT
MD21 = Raumsoll
MD22 = Neigung
MD23 = Niveau

Netzwerk 1
Negative Aussentemperatur berechnen (Gem.AT - Gem.AT-Gem.AT = MD8

LD Autobetr:M0.0 MOVR AT:MD8,AC0
UENO +R AT:MD8, AC0
UENO MOVR AT:MD8, NegAT:MD20
-R AC0, NegAT:MD20

Netzwerk 2
gem.AT/(320-(gem.At*4)) = VD100 (MD8/(320-(gem.AT*4)) = VD100)

LD Autobetr:M0.0
MOVR AT:MD8, AC1
UENO
*R 4.0, AC1 UENO
MOVR 320.0, AC2
UENO
-R AC1, AC2
UENO
MOVR AT:MD8, VD100
/R AC2, VD100

Netzwerk 3
VD101 = ((Raumsoll)^(gem.AT/(320-gem. AT*4))) Die Raumsolltemperatur wird mit VD100 in Potenz gesetzt im REAL Format

LD Autobetr:M0.0
LN Raumsoll_Kreis1:MD21, AC0
UENO
MOVR VD100, AC1
UENO *
R AC0, AC1
UENO
EXP AC1, VD101

Netzwerk 4
(neg.AT + 20) * 2 ((MD20 + 20)*2 = VD102

LD Autobetr:M0.0
MOVR NegAT:MD20, AC0
UENO +R 20.0, AC0 UENO
MOVR AC0, VD102
*R 2.0, VD102

Netzwerk 5
TVor = (0,55)*Neigung*((Raumsoll)^(gem.AT/(320-gem. AT*4)))*((-gem. AT+20)*2)+Raumsoll+Niveau) VD103 = (0.55*MD22*VD101*VD102)+MD22+MD23

LD Autobetr:M0.0
MOVR 0.55, AC0
UENO
-R MD22, AC0
UENO
MOVR AC0, AC1
UENO
*R VD101, AC1
UENO
MOVR AC1, AC2
UENO
*R VD102, AC2
UENO
MOVR AC2, AC3
UENO
+R Raumsoll_Kreis1:MD21, AC3
UENO
MOVR AC3, VD104
+R MD23, VD104