1 Naposledy upravil: ok2mo (2014-11-11 17:38:18)

Téma: Chyba čidla 85°C

Zdravím všechny...
Potřeboval bych radu ohledně čidel. SDS používám mimo jiné k regulaci solárního čerpadla.Bohužel nebylo jiné varianty a musel jsem přes jeden prostup ve stěně projít jak silovým kabelem k čerpadlu, tak i UTP kabelem k čidlům.Stává se, že po zapnutí čerpadla mě vyskočí chyba čidla, tj 85°C a vypne mi čerpadlo.Další čtení čidla je již v pohodě, opravdu se to děje jen při tom zapnutí...
Dá se to nějak ošetřit v programu,aby teplotu 85°C úplně ignorovalo?
Mám jednoduchý program pro spínání čerpadla...
Díky za náměty a připomínky...

if ((sys[314]-sys[315] > 800) && (sys[314] > 3000)) { sys[231] = 1; }
//zapne rele,kdyz teplota na solaru bude vetsi jak teplota v bojleru o 8 °C 
a zaroven teplota na solaru bude vyssi jak 30°C

Konkrétně se mě jedná o čidlo sys[315]

2

Re: Chyba čidla 85°C

Tak si tam dejte podmínku, pokud je teplota 85, aby počkal 10 sekund a měření zopakoval.

3

Re: Chyba čidla 85°C

Diky za odpoved...Netusim,jakym zpusobem lze udelat casovou podminku.Ta myslenka se me docela zamlouva...
Ja to nakonec provedl takto:

if ((sys[314]-sys[315] > 800) && (sys[314] > 3000) && (sys[315]  != 8500)) { sys[231] = 1; }
//zapne rele,kdyz teplota na solaru bude vetsi jak teplota v bojleru o 8 °C a zaroven teplota na solaru 
bude vyssi jak 30°C,teplotu 85°C ignoruje...

 if ((sys[314]-sys[315] < 400) && (sys[315] != 8500)) { sys[231] = 0; }
//vypnuti rele č.1

Odzkouseno a funkcni...

4 Naposledy upravil: vkalina (2014-11-28 23:30:35)

Re: Chyba čidla 85°C

Jenom pro inspiraci, já mám solár řízen takto

http://ksystems.cz/Kotelna//

#define SOLAR sys[310]
#define BOILER sys[311]
#define VYMENIK_P1 sys[312]
#define VYMENIK_P2 sys[313]
#define VYMENIK_S1 sys[314]
#define VYMENIK_S2 sys[315]
#define RELE1 sys[231]
#define RELE2 sys[232]
#define RELE3 sys[233]
#define RELE4 sys[234]
#define OPTO1 sys[151]
#define OPTO2 sys[152]
#define OPTO3 sys[153]

var kotel_stav, solar_stav;

init
{
//inicializace - co je zde je provedeno jen jednou po resetu
  echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''start systemu');
  RELE1 = 0;
  RELE2 = 0;
  kotel_stav = 0;
  solar_stav = 0;
  wait(10000);
  echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''system je nastartovan');
}

zapni_rele1 //cerpadlo solarniho okruhu zapnuto
{
 RELE1 = 1;
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''cerpadlo solar zapnuto');
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''zahrivam vymenik');
 wait(180000);
}

zapni_rele2 //cerpadlo boileroveho okruhu zapnuto
{
 RELE2 = 1;
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''cerpadlo boiler zapnuto');
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''dobijim boiler ze solaru');

}

vypni_rele1 //cerpadlo solarniho okruhu vypnuto
{
 RELE1 = 0;
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''cerpadlo solar vypnuto');
}

vypni_rele2 //cerpadlo boileroveho okruhu vypnuto
{
 RELE2 = 0;
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''cerpadlo boiler vypnuto');
}

vypni_vse //system odstaven
{
 RELE1 = 0;
 RELE2 = 0;
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''solar odstaven');
}

kotel_topi //nabijeni boileru z kotle
{
 RELE1 = 0;
 RELE2 = 1;
 RELE3 = 1;
 kotel_stav = 1;
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''dobijim boiler z kotle');
}

kotel_netopi //nabijeni boileru z kotle
{
 RELE2 = 0;
 RELE3 = 0;
 kotel_stav = 0 ;
 echo(sys[5]'-'sys[6]'-'sys[7]' 'sys[8]':'sys[9]':'sys[10]' ''vypinam dobijeni z kotle');
}


main
{
 if (SOLAR > BOILER + 1000 && SOLAR > 3000 && RELE1 == 0 && kotel_stav == 0) zapni_rele1();
 if (SOLAR > BOILER + 800 && RELE1 != 0 && RELE2 == 0 && kotel_stav == 0) zapni_rele2();
 if (SOLAR < BOILER + 500 && RELE2 != 0 && kotel_stav == 0) vypni_rele2();
 if (SOLAR < BOILER + 300 && RELE1 != 0 && kotel_stav == 0) vypni_rele1();
 if (SOLAR <= 3000 && RELE1 != 0 && kotel_stav == 0) vypni_vse();
 if (OPTO1 == 0 && SOLAR < 9000 && kotel_stav == 0) kotel_topi();
 if (OPTO1 != 0 && kotel_stav == 1) kotel_netopi();
 if (SOLAR >= 9000 && kotel_stav == 1 && ) kotel_netopi();
}