This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Schedular optimizing
#1
In a room heating system there is a delay from when the heating source is turned on to the room gets the desired set point. If the room is put to 19 degrees at 19.00 we would like to program the schedular to 22 degrees at 07.00. This will not make the room heated before 08.00 or later depending on the heat source and structure. Has anybody made a script that can analyse last day and make the heat go on earlier to try to get the room heated to 07.00 as the schedular says? Or have any good ideas how to make it work?
Reply
#2
Hi,

Yes i haved worked on this some time ago, but never finished it..

What i basicly did was create a scheduler that started demand and a resident script. The resident script switches the demand output and has som calculation functions. I calculated and substrackted the average time that was needed to reach the setpoint over a week period from the scheduler time and used that output as switching time for the demand starting time. This is calculated every x period to keep it dynamic during time.

I also used outdoor temperature as a setting to finetune the demand period, when colder outside i added time again to start earlier to make sure i reached planned setpoint on given time when it got colder outside and reduced time when it got warmer outside for this i created a heating curve function.

This worked pretty good but i still need to finetune and do long term tests, never finished that part..

BR,

Erwin
Reply
#3
Ok. I was thinking something like that as well. But how do you get the time from the schedular? I guess I need the ostime and and time from the schedular in a script with the mathematicsSmile
Reply
#4
Hi,

I request the time from scheduler events from DB and the timestamp of the output object when this reached the setpoint. The difference i put in a week table to storage and request this table every day to calculate the avarage. It's a quite extended script you need to make it perfect.

I know a partner of us has created this optimalisation control for our SmartStruxure Lite controller, also LUA. This is tested and validated already, i will ask him the code so i don't have to spend time on something that's already build.

BR,

Erwin
Reply
#5
Great. Thank you ErwinSmile Looking forward to get this part under controlSmile
Reply
#6
Ahoi,
it is getting more important every day.
Temperatures changes outside and I need to adjust schedules manually. Is there a working auto learning heating script for Openrb?
Reply
#7
Did you check out the script Erwin?
Reply
#8
(01.10.2017, 14:58)lek Wrote: Ahoi,
it is getting more important every day.
Temperatures changes outside and I need to adjust schedules manually. Is there a working auto learning heating script for Openrb?

Firstly in my opinion you should add trends(if you don't have it yet) Outside temperature(and also some information about other weather data like wind, humidity could be also helpful), Inside temperature, Setpoint and maybe what is the status of the valve or fancoil. Than it is possible to use this data via script and also you can check it by yourself in graph form.

What kind of heating type do  you have?

What kind of control type? If you have PI or PID then it has also some inertia which should be taken to consider. Especially on start.

And also please tell what is your expected sheduler(e.g. at 8 should be 22°C in the Kitchen) and how looks the current situation(how you are changing it manually, what principle and if your change is enough or too low and at 8 you have e.g. 20.5°C).

And also what is the minimum temperature(night mode)?

I would think such could work like below:
1:00 - scheduler correction based on yesterday outside and inside temp, current outside and inside temp and the weather data for today,
calculated heating start time - start heating and save current conditions to storage,
8:00 - checking if temp is achieved or not and also save this info and current condition
if not then algorithm waits for

And on start it could be very simple(but can be helpful in your situation when you are changing temperature manually) like:
yesterday
heating start time: 7:15
achieved 23 minutes after it should so tommorrow(if conditions would be ~same) start heating 23 minutes earlier. You could also check if your setpoint is not too earlier.

But in my opinion it should be based on trend logs.

This is only some sketch.
Reply
#9
(05.10.2017, 04:02)PassivPluss Wrote: Did you check out the script Erwin?

Hi,

Yes i have received the script but still need to port it to our controller, but currently i have no time for it.. Will try to do it ASAP...

BR,

Erwin
Reply
#10
(05.10.2017, 06:25)Erwin van der Zwart Wrote:
(05.10.2017, 04:02)PassivPluss Wrote: Did you check out the script Erwin?

Hi,

Yes i have received the script but still need to port it to our controller, but currently i have no time for it.. Will try to do it ASAP...

BR,

Erwin

Hello. Have you tested this out now? I am looking for this function to one of my projects
Reply


Forum Jump: