mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-25 17:43:35 +05:00
Compare commits
1 Commits
a2ffdb93a5
...
b17ecd5ae8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b17ecd5ae8 |
@@ -44,16 +44,30 @@ public:
|
||||
private:
|
||||
unsigned short _minOut = 20, _maxOut = 90;
|
||||
|
||||
datatype getResultN()
|
||||
{
|
||||
float tempDelta = targetTemp - outdoorTemp,
|
||||
maxPoint = targetTemp - (_maxOut - targetTemp) / Kn,
|
||||
sf = (_maxOut - targetTemp) / pow(targetTemp - maxPoint, 1.0 / Ke),
|
||||
T_rad = targetTemp + sf * (tempDelta >= 0 ? pow(tempDelta, 1.0 / Ke) : -pow(-tempDelta, 1.0 / Ke));
|
||||
return T_rad > _maxOut ? _maxOut : T_rad;
|
||||
}
|
||||
// температура контура отопления в зависимости от наружной температуры
|
||||
// datatype getResultN() {
|
||||
// Kntemp = Kn*3.3; //Подгонка под типовые кривые
|
||||
// float tempDiff = targetTemp - outdoorTemp;
|
||||
// if (tempDiff < 0) tempDiff = 0;
|
||||
// float T_rad = targetTemp + pow(Kntemp * tempDiff, 1.0 / Ke);
|
||||
// return T_rad;
|
||||
// }
|
||||
datatype getResultN() {
|
||||
float tempDiff = targetTemp - outdoorTemp;
|
||||
if (tempDiff < 0) {
|
||||
tempDiff = 0;
|
||||
}
|
||||
float minOutside = targetTemp - (_maxOut - targetTemp) / Kn;
|
||||
float c1 = (_maxOut - targetTemp) / pow(targetTemp - minOutside, 1.0 / Ke);
|
||||
float T_rad = targetTemp + c1 * pow(tempDiff, 1.0 / Ke) ;
|
||||
if (T_rad > _maxOut) {
|
||||
T_rad = _maxOut;
|
||||
}
|
||||
|
||||
// Реакция на разницу с целевой температурой
|
||||
return T_rad;
|
||||
}
|
||||
|
||||
// Расчет поправки (ошибки) термостата
|
||||
datatype getResultT() {
|
||||
return constrain((targetTemp - indoorTemp), -3, 3) * Kt;
|
||||
}
|
||||
|
||||
@@ -1143,17 +1143,10 @@
|
||||
updateChart(formData);
|
||||
});
|
||||
|
||||
//Следим за изменениями в полях
|
||||
document.querySelectorAll('#equitherm-settings input').forEach(input => {
|
||||
input.addEventListener('change', () => {
|
||||
const form = document.getElementById('equitherm-settings');
|
||||
const formData = new FormData(form);
|
||||
updateChart(formData);
|
||||
});
|
||||
});
|
||||
// инициализируем
|
||||
initChart();
|
||||
|
||||
|
||||
// инициализируем график
|
||||
initChart();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user