Heating control

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

  1. Aaron

    NickD Moderator

    Joined:
    Nov 1, 2004
    Messages:
    1,420
    Likes Received:
    62
    Location:
    Adelaide
    It was only the old 5031TS Temperature sensor that could not broadcast its temperature. You have said you have one of the new E5031RDTSL temperature sensors, which CAN be set to broadcast temperature, at an interval of your choosing.

    Nick
     
    NickD, Nov 25, 2009
    #21
  2. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    so this should work then.
    Looking at my code, have i addressed the temp sensor correctly?
    I'm trying to control the heating in relation to a set point?
    Aaron
     
    Aaron, Nov 25, 2009
    #22
  3. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    looking on case of sensor it says E5031RDTSL
    but in toolkit, catalog no E5031TS?
    screen shot of toolkit below
    which one is it?

    Aaron


    E5031.jpg
     
    Aaron, Nov 25, 2009
    #23
  4. Aaron

    Phil Summers

    Joined:
    Jun 26, 2009
    Messages:
    41
    Likes Received:
    0
    Location:
    UK
    Aaron
    I'm going to duck your questions about the temp sensor polling/broadcasting and addressing 'cos I have no experience with these.

    For the other floors, where you put the logic (whether you need other modules) will depend on whether you want to switch the floors on and off independently of one another. I'll assume that you want to implement a master switch function with the HEATING SWITCH group and that this group switches all your UFH on or off.


    In that case you will need to put similar lines of code for the other floors into the stat function module.

    Something like

    {bathroom}
    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);
    if (FloorTemp >= 35%) then SetCBusState("LOCAL", "Power", "BATHROOM U_FLOOR", 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);


    {Kitchen}
    SetPoint1 := GetCBusLevel("LOCAL", "Heating (Legacy)", "KITCHEN SETPOINT");
    FloorTemp1 := GetCBusLevel("LOCAL", "Heating (Legacy)", "KITCHEN FLOOR TEMP PV");
    RoomTemp1 := GetRealIBSystemIO("Measurement App Real Value", "local", XX, XX);
    if (FloorTemp1 >= 35%) then SetCBusState("LOCAL", "Power", "KITCHEN U_FLOOR", OFF);
    if (FloorTemp1 < 35%) and (RoomTemp1 <= SetPoint) then
    SetCBusState("LOCAL", "Power", "KITCHEN U_FLOOR", ON);
    if (FloorTemp1 < 35%) and (RoomTemp1 > SetPoint) then
    SetCBusState("LOCAL", "Power", "KITCHEN U_FLOOR", OFF);

    Delay (60);

    The heating switch module can remain largely the same (except that you will need to ensure that once the HEATING SWITCH group goes off, each floor heater is turned off)

    Something like

    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);
    SetCBusState("LOCAL", "Power", "KITCHEN U_FLOOR", OFF);
    DisableModule("stat function");
    end;

    Second thoughts...

    One thing that would really make me nervous in doing all this in logic is the possibility of something going wrong and the safe max floor temp being exceeded. You need to have a really good think about what happens, for example, when power is restored after a power cut and be sure that you're not going to come back from work to find cracked tiles and warped floorboards.

    At the very least a section in the initialisation code that just turns everything off might be a safe thing to do.
     
    Last edited by a moderator: Nov 25, 2009
    Phil Summers, Nov 25, 2009
    #24
  5. Aaron

    Newman

    Joined:
    Aug 3, 2004
    Messages:
    2,203
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    Aaron

    Toolkit is showing you that the unit you have is really an E5031TS. The unit type, lack of a serial number, firmware version and Toolkit UI loaded all confirm that the unit is really an E5031TS. Unfortunately, this unit cannot broadcast the temperature.

    If you purchased this unit from a Clipsal/Schneider retailer then I suggest you return it under warranty for replacement with a genuine E5031RDTSL. Despite using the same enclosure, the RDTSL is a significantly better sensor.
     
    Newman, Nov 25, 2009
    #25
  6. Aaron

    Darren Senior Member

    Joined:
    Jul 29, 2004
    Messages:
    2,361
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    When using logic to control temperature, always put a bit of "hysteresis" in, otherwise you can end up with relays going on and off all the time.

    So instead of :

    Code:
    once Temperature >= SetPoint then
      SwitchOffHeater;
    once Temperature < SetPoint then
      SwitchOnHeater;
    
    You want something more like:

    Code:
    once Temperature >= SetPoint + 1 then
      SwitchOffHeater;
    once Temperature < SetPoint - 1 then
      SwitchOnHeater;
    
    This gives you a "deadband" where the measured temperature can move up and down a bit without the heaters switching.


    I just noticed I have now done over 1500 posts. I should really go to bed (and get a life)...
     
    Darren, Nov 25, 2009
    #26
  7. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    Not before you 'edumacate' me on code - but that will probably be at least another 1500 posts (at least)
     
    Aaron, Nov 25, 2009
    #27
  8. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    To be honest i swapped the temp sensor with a schneider rep for a b&w back box - thought i got a good deal?:rolleyes:

    Is the 5031RDTSL available in uk format face plate?

    what other options are there for a sensor sitting on the c-bus loop located above the room door way?

    Aaron
     
    Aaron, Nov 25, 2009
    #28
  9. Aaron

    Newman

    Joined:
    Aug 3, 2004
    Messages:
    2,203
    Likes Received:
    0
    Location:
    Adelaide, South Australia
    Yes, the RDTSL is available in the UK square fascia.
     
    Newman, Nov 25, 2009
    #29
  10. Aaron

    NickD Moderator

    Joined:
    Nov 1, 2004
    Messages:
    1,420
    Likes Received:
    62
    Location:
    Adelaide
    You said earlier that the unit itself was labelled E5031RDTSL? Yet the guts of it are actually an old E5031TS.... this sounds a bit dodgy.. I'd ask your rep for a refund :)

    Nick
     
    NickD, Nov 25, 2009
    #30
  11. Aaron

    Aaron

    Joined:
    Jul 16, 2009
    Messages:
    99
    Likes Received:
    0
    Location:
    Wales, UK
    E-mailed the rep, no reply as yet?

    Contacted C-Bus Shop (where I normally get me stuff from) and they said the E5031RDTSL was not available yet - any idea where I can get them from in the uk?

    If i was to use one of the newer 5070 thermostats which one would be most applicable?

    Aaron
     
    Aaron, Nov 27, 2009
    #31
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.