Hallo Hugo
Glaube den fehler gefunden zu haben. Wenn PULSE_MODE auf TRUE ist funktioniert die Flankenauswertung von edge nicht. Habe zum Testen den Baustein umgeschrieben und bilde edge über die pos. Flanke von Eingang E mit dem F_TRIG Befehl.
Flanke(CLK :=E); (*Habe ich eingefügt*)
edge :=Flanke.Q;
IF rst THEN
int1(rst := TRUE);
int1.rst := FALSE;
C := 0;
Y := 0;
ELSIF pulse_mode AND edge THEN (*Habe hier die Abfrage geändert*)
IF return_meter THEN
X := (Water_density(TR, FALSE) * (water_enthalpy(TF) - water_enthalpy(TR)) * (1-content) + CP * Density * content*(TF-TR));
ELSE
X := (Water_density(TF, FALSE) * (water_enthalpy(TF) - water_enthalpy(TR)) * (1-content) + CP * Density * content*(TF-TR));
END_IF;
Y := Y + X * LPH;
(*Zuweisung von edge habe ich gelöscht*)
Beim Ausgang C (momntaner Verbrauch) ist mir aufgefallen obwohl sich weder die Vor und Rücklauftemp. ändert variert der Wert. z.B. Vorlauftemp. 70
Rücklauf 30 , Ausgang C springt ca. alle 10sec zwischen 119 und 179 Joule hin und her. Der wert sollte doch gleich bleiben. Oder?
Vielleicht könnt ihr den Baustein nochmals auf Herz und Nieren testen.
m.f.G.
Michael