Heating control

Discussion in 'General Discussion' started by Aaron, Aug 5, 2009.

  1. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Hi,

    I'm currently installing a c-bus project for a customer and they want the heating controls within the system;

    I'm installing room stats (E5031RDTSL) within each heating zone, but after speaking to the plumber some of the heating zones are going to be modulating?!?!

    I'm now thinking I should install a heting system that can interface with the c-bus.

    What their looking is to be able to control the set-point for the zone and get a true value of the current temperature.

    Any thoughts/guidance would be much appreciated.

    TIA, Aaron
     
    Aaron, Aug 5, 2009
    #1
    1. Advertisements

  2. Aaron

    tonypeter

    Joined:
    Jul 7, 2009
    Messages:
    32
    Likes Received:
    0
    Location:
    australia
    Hi Aaron,

    Did you quote or are you installing any Touch Screens.

    Tony
     
    tonypeter, Aug 5, 2009
    #2
    1. Advertisements

  3. Aaron

    Conformist

    Joined:
    Aug 4, 2004
    Messages:
    667
    Likes Received:
    40
    Location:
    Adelaide, South Australia
    Hi Aaron

    What type of heating? Can we assume there is a boiler with modulation of each zone through a radiator? If so, what you are trying to achieve is quite easy using the digital temp. sensors you have indicated along with some logic in one of the logic devices such as a PACA, B&W Touchscreen or Colour touchscreen.

    Please provide a little more info on the heating type.

    Cheers
     
    Conformist, Aug 5, 2009
    #3
  4. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    The project is changing rapidly!

    The customer currently requires two touch screens.

    What I'm wondering is should I try to write code to control the heating system, or should I not try to re-invent the wheel and concentrate more on interfacing c-bus and a 'proven' heating control system?

    Aaron
     
    Aaron, Aug 5, 2009
    #4
  5. Aaron

    Conformist

    Joined:
    Aug 4, 2004
    Messages:
    667
    Likes Received:
    40
    Location:
    Adelaide, South Australia
    Hi Aaron

    It depends on the heating system. I've had great success with controlling zones with logic and digital temp. sensors. Just need to know a little more about the load types you are looking to control. I'll gladly share the code with you (and all of the graphing for tracking set-points, temps and on/off times).

    Cheers
     
    Conformist, Aug 5, 2009
    #5
  6. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Thanks,

    The plumber has not baught anything yet, he's waiting to know what to purchase (as I said I needed to check I could interface it with the c-bus).

    Any recomendations?
     
    Aaron, Aug 5, 2009
    #6
  7. Aaron

    Lucky555

    Joined:
    Aug 13, 2007
    Messages:
    229
    Likes Received:
    0
    Modulating means the heating zones will be fed via a modulating (analogue) control valves. This means you will have to control these via a variable 0-10v or 4-20mA control signal. This means you are going to need to be very careful with control / code so your zones don't hunt back and forth. Eg too cold = open valve, seconds later too warm = close valve, seconds later too cold and so on. In the Air Con industry this is taken care of with P.I / P.I.D loops.

    If you are good at PAC coding you would be able to get this sorted using very accurate temp sensing with temp sensors very well placed then using a decent dead band either side of set point and some delays etc.

    This brings you into the territory of not re-inventing the wheel. If the plumber can supply a control system that can interface with other systems eg via serial ascii, LON etc then I would be putting my efforts into this arena.

    I can assure you the wheel has already been invented. ;)

    PS. Serial is the way to go. Get a protocol doc in one hand and a World acclaimed PACA in the other hand and you will be finished in time for a nice beer before dinner. ;)
     
    Lucky555, Aug 5, 2009
    #7
  8. Aaron

    tonypeter

    Joined:
    Jul 7, 2009
    Messages:
    32
    Likes Received:
    0
    Location:
    australia
    Hi Aaron,

    If you're practiced in programming than you can give it a go, but from my experiences I would _strongly_ recommend that you do not re-invent the wheel.

    What system you choose would depend entirely on what the client wants etc, but if there is an existing solution to integrate, go with that, even if it means losing a little bit of functionality.

    If a clients light doesn't work, they will tell you about it at some point and ask you to fix it.

    if their heating doesn't work you will hear about regardless of what hour in the day it is and they will want it fixed "now"!.

    So if you're able, go with an accepted solution and then you don't have to worry.

    Tony
     
    tonypeter, Aug 6, 2009
    #8
  9. Aaron

    ashleigh Moderator

    Joined:
    Aug 4, 2004
    Messages:
    2,365
    Likes Received:
    11
    Location:
    Adelaide, South Australia
    C-Bus thermostat will also do a modulating control of a heated water (hydronic) / boiler system.

    It works by timing the valves - for example, most of those values are actuated to turn on or off, and doing so uses a small motor. Drive the motor ON for about a minute to open, OFF for about a minute to full close, and so on. If you know the time the valve takes, you can enter that and the thermostat will then drive the valve for a portion of the full-scale time to get a proportional flow.

    The thermostat also handles the control look for regulating the temperature. This is also (now) adjustable but you do need to know what you are doing if you choose to adjust it.

    Writing your own code is difficult and time consuming, a simple bang-bang control (just open or close) will work but can be prone to temperature over and undershoot, how much and how severe depends on the thermal lag in the system (eg underfloor in concrete floors has a very long response time). DIY might work for a reverse cycle a/c and for some types of heater that have short response times. For others it is likely to be somewhat more difficult. Treat that option with care.
     
    ashleigh, Aug 6, 2009
    #9
  10. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Thanks for all the info.

    From what I understand, I now have two wheels to chose from!;

    either create code to operate a zone valve digitally (with a delay if required), or interface 'another' heating system into c-bus.

    I'm thinking integrate an existing heating system and get them to communicate (RS232?).

    What systems, in the uk, have already been done and communicate well?

    The only data sharing I can see will be the set point (say from a slider on a screen for each zone) from c-bus to heating control system, and the actual room temp (from the c-bus room temp sensor) again from c-bus to heating control system.

    Again, any thoughts/suggestions much appreciated.


    Aaron
     
    Aaron, Aug 6, 2009
    #10
  11. Aaron

    wappinghigh

    Joined:
    Dec 20, 2005
    Messages:
    198
    Likes Received:
    0
    A consumers perspective..

    Aaron. I'll give you a consumers perspective on setting all this up (from Australia)

    I live in a cold part of the country and therefore need "proper" heating! Believe it or not parts of this country actually have a "British" winter :D

    I set up my place with 2 hydronic systems. 2 separate boilers. One for each "zone". One system runs the sleeping areas. The other the living areas. Each currently has a separate ("normal") thermostat. I though this was easier to "control" rather than separate "valves" etc. That is the family/living system runs during the day (and shuts off at night when we are asleep) and the sleeping area boiler runs at night...and not during the day... (unless it is really cold).

    My cbus installer initially set this up with separate relays actually between the thermostats and the boilers. This kept things simple. I leave my thermostats "ON" at the set point I want. I then use cbus PACU logic to switch the relays on/off. I can also do this via direct cbus switches in the home. There is also logic to switch them off when I set my alarms and leave the house and switch back on when I disarm on returning. I can also use sms ...when I'm away, and now switch them via the WISER interface.

    But the missing link has been I have been unable to broadcast the ambient temp onto my cbus network. I'm now in the process of adding some cbus thermostats and temp sensors to do just that....it would be great to have this visible on touchscreens and the WISER as well. Also to be able to adjust the setpoint. I've already asked CIS for a "simpler" WISER widget more appropriate for hydronic (they have one at the moment for heat pump air conditioners...but these don't cut it in my part of the world...)

    Lets hope they do this...

    I'll let you know how the CIS tstats go when I add them to my system. I'll be doing this within coming months..
     
    Last edited by a moderator: Aug 6, 2009
    wappinghigh, Aug 6, 2009
    #11
  12. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Hi,

    Thanks for the info.

    I have currently allowed for E5031RDTSL sensors in each room/zone, and a black and white screen (with logic) where 'settings' can be adjusted and 'current values' be displayed.

    Are you saying that the room temp sensor (E5031RDTSL) will not provide the correct info for heating control.

    Aaron
     
    Aaron, Aug 6, 2009
    #12
  13. Aaron

    ashleigh Moderator

    Joined:
    Aug 4, 2004
    Messages:
    2,365
    Likes Received:
    11
    Location:
    Adelaide, South Australia
    The temp sensor E5031blah blah blah is a sensor. It doesn't, of itself, switch loads, do regulation of temperature and so on. It gets the temperature. The DECISION about what to do with that temperature is a whole nother kettle of fish.
     
    ashleigh, Aug 6, 2009
    #13
  14. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    When it gets the temperature can you do anything with it ?
     
    Aaron, Aug 6, 2009
    #14
  15. Aaron

    wappinghigh

    Joined:
    Dec 20, 2005
    Messages:
    198
    Likes Received:
    0
    A successful cbus controlled hydronic system!

    Hi Aaron.

    I have now successfully gained cbus thermostat control of my hydronic boilers using 5070THB thermostats and independant 240V cbus relays.

    We decided to go with the 240 cbus relays to give us independant control and more importantly so we would know they would work with my boilers. I think this approach should work with pretty much any sort of similar heating...ie the sort you might have in the UK, because it is not dependant on the Voltage /type of tStat sensor within the heater. Basically any heater with a T-stat from 12-240V should be able to work.

    Basically my boilers sense a 16V circuit. (But with my 240V relays set up on the t-stat line in series, this could be anything between 12 and 240 V). We then removed the existing Honeywell and Seimens REV15 T stats and shorted the ends of the Tstat wires.

    The cbus thermostats now switch the 240V relays on/off directly. They are visible and controllable within Wiser, using the generic widget.:D

    ....Now if the lovely people at cbus could design me a simpler widget more suitable for a hydronic system ie delete the fan controls and cooling controls....I'd really be like a (warm) pig in mud!
     
    Last edited by a moderator: Aug 21, 2009
    wappinghigh, Aug 21, 2009
    #15
  16. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Under-floor Heating Control

    Hello again,

    I'm trying to get my electric under-floor heating to operate.
    Can someone help - I'm still lerned this programming stuff!!

    What I have;

    Room Temp - sensor E5031RDTSL
    Floor temp, 4-20mA input to channel on General Input Unit
    Room set point temp from B&W screen buttons
    Relay output to control load.

    What I would like to do is the following;

    when the room temp is below a set point (entered on black and white logic screen), and floor temperature is also below a fixed set point (say 35 deg C, set within logic?) then turn relay output on.

    and obviously when any one of the two controlling inputs goes false then turn heating off.

    To date I've got the both temperatures to display on the screen, and am able to adjust this set point on the screen. What I'm struggling with is writing some code to bring all this together.
     
    Aaron, Nov 22, 2009
    #16
  17. Aaron

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    See the example project C:\Clipsal\PICED\Projects\Examples\Logic\temp control

    If this doesn't help, let us know.
     
    Darren, Nov 22, 2009
    #17
  18. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Brrr... my heating is not working...

    The following is the code I created to attempt to get my underfloor heating to work, after some fiddling I got it to compile with the following warning;

    Warning W005 at line 219:61 - It is recommended that a Scene be used for sending multiple C-Bus commands.
    Compiled OK


    After sending to the B&W screen, had some problems;

    the input from the general input unit (4-20mA) only seems to update when the temp actually changes. I guess this is to save traffic on network. Is there anything I can do to 'get/update' the current temp on the initialisation?

    also the room temp - sensor E5031RDTSL does not switch off the heating - what have i done wrong here?

    I'm sure theres more happening / not happening - but have'nt noticed yet!

    If anyone can help - much appreciated.

    Is there a way to look at the code in real time operation - to see whats not happening?





    SetPoint := GetCBusLevel("LOCAL", "Heating (Legacy)", "BATHROOM SETPOINT");
    FloorTemp := GetCBusLevel("LOCAL", "Heating (Legacy)", "BATHROOM FLOOR TEMP PV");
    RoomTemp := GetRealIBSystemIO("Measurement App Real Value", "local", 55, 1);






    once (GetCBusState("LOCAL", "Heating (Legacy)", "HEATING SWITCH") = ON)
    then begin
    if (FloorTemp > 35%) and (RoomTemp <= SetPoint) then
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", OFF);
    if (FloorTemp < 30%) and (RoomTemp <= SetPoint) then
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", ON);
    if (FloorTemp > 35%) and (RoomTemp >= SetPoint) then
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", OFF);
    if (FloorTemp < 30%) and (RoomTemp <= SetPoint) then
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", ON);
    end;
    once (GetCBusState("LOCAL", "Heating (Legacy)", "HEATING SWITCH") = OFF)
    then begin
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", OFF)
    end
     
    Aaron, Nov 24, 2009
    #18
  19. Aaron

    Phil Summers

    Joined:
    Jun 26, 2009
    Messages:
    40
    Likes Received:
    0
    Location:
    UK
    Aaron

    At first glance I suspect that one (possibly not the only) problem with your code is your use of the "Once" statement.

    As you have written it, the big wedge of "If" statements between the "begin" and the "end" will only be evaluated on one occasion after there has been a change of state in the HEATING SWITCH group.

    There is a good page in the help files that explains the difference between Once and If. Search on "when to use once and if".

    You only need the thermostat logic to run occasionally. Once per minute should be OK.

    I would create one logic module called "Stat function" which performs the function of the thermostat when it is enabled.

    Into this module put the following code.

    {Get the relevant temperatures}
    SetPoint := GetCBusLevel("LOCAL", "Heating (Legacy)", "BATHROOM SETPOINT");
    FloorTemp := GetCBusLevel("LOCAL", "Heating (Legacy)", "BATHROOM FLOOR TEMP PV");
    RoomTemp := GetRealIBSystemIO("Measurement App Real Value", "local", 55, 1);

    {Now determine the required state of the heater}
    if (FloorTemp >= 35%) then SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", OFF);
    {whatever the room temp, if the floor's too hot then switch the UFH off}

    if (FloorTemp < 35%) and (RoomTemp <= SetPoint) then
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", ON);
    if (FloorTemp < 35%) and (RoomTemp > SetPoint) then
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", OFF);

    {you could tidy this up a bit with use of the if...then...else statement but I don't want to confuse you. I have also changed some of the temperatures because your original code hadn't told the logic what to do if the floor temp was between 30 and 35. I've also ensured that the logic knows what to do for all possible temperatures by using a >= for one possibility and a < for it's converse.}

    Delay (60);
    {you only need this to run every minute or so}

    Now create another module called Heating Switch that enables the stat function module

    once (GetCBusState("LOCAL", "Heating (Legacy)", "HEATING SWITCH") = ON)
    then begin
    EnableModule("stat function");
    end;
    once (GetCBusState("LOCAL", "Heating (Legacy)", "HEATING SWITCH") = OFF)
    then begin
    SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", OFF;
    DisableModule("stat function");
    end;

    I have no experience with the General Input Unit but I notice that there is a configuration setting to control how frequently it broadcasts its readings.

    I hope this is helpful.

    Phil

    PS It may be too late to point you in the direction of the AUBE TH131 UFH thermostat which provides floor limiting, room temperature hysteresis and can be controlled via a pilot wire input from a cbus relay unit. It's what I used.
     
    Phil Summers, Nov 24, 2009
    #19
  20. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Getting warmer...

    Hi Phil,

    Thanks for taking the time to reply, will try some of your suggestions tomorrow, still learning with the code.:)

    The reason i wanted to try to control the heating with c-bus was to allow the set-point to be altered from a touch screen - just cos it looks good.

    i think the room temp sensor, i have since lear'nt by searching on forum, cannot broadcast its temp (although i found something about polling it - beyond me though).:eek:

    question is, what else can i use to collect/display on b&w ts, and use the actual room temp and get it easily onto c-bus?:confused:

    another question though - once i'm happy this is working safely, i have another four floors to do the same, can i use the same module to carry out the same function but on different data or just cut and paste and change groups - i think i said that correctly?

    Thanks again, Aaron
     
    Aaron, Nov 24, 2009
    #20
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.