1

Téma: Monitorovaní různých stavu.

Tímto prográmkem ovládám vrata a monitoruju různé stavy teploty,pohybu vrat,tlak v darlingu.Při dosažení nastaveného limitu mi to pošle email v kterém mám nastaven filtr pro zasíláni SMS na mobil. Hodně jsem čerpal z tady uveřejněných kodů.Snad to někomu pomůže. Jsem totalni amater takže mne nekamenujte.

#define RELE_STATUS sys[231]
#define RELE_STATUSOFF sys[231]
#define OPTO0_STATUS sys[151]
#define OPTO0_STATUS1 sys[152]
#define OPTO0_STATUS2 sys[153]
#define RELE231 sys[231]
#define RELE232 sys[232]
var last_OPTO0_status;
var last_OPTO0_status1;
var last_OPTO0_status2;
var last_rele_status;
var last_rele_statusoff;
var sentEmail;
var sentEmail1;
var sentEmail2;
var sentEmail3;
var sentEmail3off;
var limit;
var limit1;
var email_odeslan;
var email_odeslan1;
var teplota;
var teplotavenku;
var odeslano;
var odeslano1;
//------------------------------------------------------------------------
init
{
  odeslano = 0;
  odeslano1 = 0;
}
//------------------------------------------------------------------------
relevrata
{
  if (sentEmail3 == 0)
  {
    sentEmail3 = 1;
    smtp_send('xxxxx@seznam.cz', 'Alarm', 'Pohyb vrat 1 !');
  }
}
releaktiv
{
  sentEmail3 = 0;
  last_rele_status = RELE_STATUS;
  if (RELE_STATUS != 0) relevrata();
 }
 
//------------------------------------------------------------------------
relevrataoff
{
  if (sentEmail3off == 0)
  {
    sentEmail3off = 1;
    smtp_send('xxxxx@seznam.cz', 'Alarm', 'Pohyb vrat 0 !');
  }
}
releaktivoff
{
  sentEmail3off = 0;
  last_rele_statusoff = RELE_STATUSOFF;
  if (RELE_STATUSOFF != 1) relevrataoff();
 }



//------------------------------------------------------------------------

sendOptoIsOff
{
  if (sentEmail == 0)
  {
    sentEmail = 1;
    smtp_send('xxxxx@seznam.cz', 'Alarm', 'Dosla voda ve studni !');
  }
}
sendOptoIsOn
{
  if (sentEmail1 == 0)
  {
    sentEmail1 = 1;
    smtp_send('xxxxx@seznam.cz', 'Informace', 'Vrata otevrena 4x nebo WEB! !');
  }
}
sendOptoIsOl
{
  if (sentEmail2 == 0)
  {
    sentEmail2 = 1;
    smtp_send('xxxxx@seznam.cz', 'Informace', 'INFO: Test tlacitko !');
  }
}
OptoChanged
{
  sentEmail = 0;
  last_OPTO0_status = OPTO0_STATUS;
  if (OPTO0_STATUS != 0) sendOptoIsOff();
 }
OptoChanged1
{
  sentEmail1 = 0;
  last_OPTO0_status1 = OPTO0_STATUS1;
  if (OPTO0_STATUS1 != 0) sendOptoIsOn();
}
OptoChanged2
{
  sentEmail2 = 0;
  last_OPTO0_status2 = OPTO0_STATUS2;
  if (OPTO0_STATUS2 != 0) sendOptoIsOl();
}
teplota_ok
{
   email_odeslan = 0;
}
teplota_ok1
{
  email_odeslan1 = 0;
  }
hlasim_prekroceno
{
  if (email_odeslan == 0)
  {
      smtp_send('xxxxx@seznam.cz','Hlasim ze teplota ('teplota'°C) prekrocila 'limit'°C .');
      email_odeslan = 1;
  }
  }
hlasim_prekroceno1
{
  if (email_odeslan1 == 0)
  {
      smtp_send('xxxxx@seznam.cz','Hlasim ze teplota ('teplotavenku'°C) je mensi nez 'limit1'°C .');
        email_odeslan1 = 1;
  }
}
sepni_rele231
{
  RELE231 = 1;
}
sepni_rele232
{
  RELE232 = 1;
}
231
{
  RELE231 = 0;
}
232
{
  RELE232 = 0;
}
//------------------------------------------------------------------------
main
{
  limit = 45;
  limit1 = 27;
  email_odeslan = 0;
  email_odeslan1 = 0;
  last_rele_status = RELE_STATUS;
  last_rele_statusoff = RELE_STATUSOFF;
  last_OPTO0_status = OPTO0_STATUS;
  last_OPTO0_status1 = OPTO0_STATUS1;
  last_OPTO0_status2 = OPTO0_STATUS2;
  sentEmail = 0;
  sentEmail1 = 0;
  sentEmail2 = 0;
  //------------------------------------------------------------------------
loop:
      teplota = (sys[310] / 100);
  if (teplota < limit) teplota_ok();
  if (teplota > limit) hlasim_prekroceno();
      teplotavenku = (sys[311] / 100);
  if (teplotavenku > limit1) teplota_ok1();
  if (teplotavenku < limit1) hlasim_prekroceno1();
  if (0 < sys[140]) sepni_rele231() else 231();
  if (0 < sys[141]) sepni_rele232() else 232();
  if (last_rele_status != RELE_STATUS) releaktiv();
  if (last_rele_statusoff != RELE_STATUSOFF) releaktivoff();
  if (last_OPTO0_status != OPTO0_STATUS) OptoChanged();
  if (last_OPTO0_status1 != OPTO0_STATUS1) OptoChanged1();
  if (last_OPTO0_status2 != OPTO0_STATUS2) OptoChanged2();
  goto loop;
}

2

Re: Monitorovaní různých stavu.

Zdravím, v programování tápu, ale zajímalo by mne, jak měříte tlak v darlingu.
Díky

3

Re: Monitorovaní různých stavu.

Nastavitelnym tlakovym spinačem, kde jeho kontakt mam pripojen na jeden vstup SDS.

4

Re: Monitorovaní různých stavu.

Jeste bych potreboval docilit toho aby mi rele na vystupu seplo jen na vterinu a ne aby bylo sepnute po celou dobu, kdy je sepnuta sys[140].
Umí nekdo poradit jak na to. Dik.

5

Re: Monitorovaní různých stavu.

Zajímalo by mě jakým čidlem jste to dokázal a samotna instalace na darlingu, jestli by bylo nějaké foto, bylo by to super. Chtěl bych měřit tlak v topení, a vedle toho elektricky ovládaný kohout na tlakování topného systému.
Děky

6

Re: Monitorovaní různých stavu.

Taky by mě to zajímalo .... ale myslím, že stačí připojit další tlakové čidlo co je na Darlingu a snímat jenom sepnuté kontakty ....
např: http://obchod.pumpa.cz/zbozi/2036-tsa-3s-05m-0-20-0-35mpa-tlakovy-spinac

SDS micro DIN - firmware 8.7.2014, SDS micro DIN - firmware Beta xx.x.2014
SDS nováček :-) Správce sítě, programátor, kutil .... :-)

7

Re: Monitorovaní různých stavu.

TiborTeam napsal:

Taky by mě to zajímalo .... ale myslím, že stačí připojit další tlakové čidlo co je na Darlingu a snímat jenom sepnuté kontakty ....
např: http://obchod.pumpa.cz/zbozi/2036-tsa-3s-05m-0-20-0-35mpa-tlakovy-spinac

Ja jsem pouzil tohle: https://www.ifm.com/ifmus/web/padv/040_010_010_010_080_010.html

8

Re: Monitorovaní různých stavu.

muto33 napsal:

Ja jsem pouzil tohle: https://www.ifm.com/ifmus/web/padv/040_010_010_010_080_010.html

Hezké ! Kde to jde sehnat ? a cena ???

SDS micro DIN - firmware 8.7.2014, SDS micro DIN - firmware Beta xx.x.2014
SDS nováček :-) Správce sítě, programátor, kutil .... :-)

9 Naposledy upravil: marthi79 (2016-03-02 11:32:40)

Re: Monitorovaní různých stavu.

Zdravím, tak jsem zapátral co se týče měření tlaku, a je jedno zda jde o naftu, olej, vzduch nebo vodu.
Pokud chci měřit tlak v samotném topném systému, stačí vyvézt přírubu na senzor, který bude měřit tlak.
Tlak měří v rozsahu 0-1,2MPa, výstupní napětí, které je potřeba monitorovat je od 0,5 V - 4,5, při max.spotřebě proudu 15mA.
Cena, kterou jsem našel je kolem 350,- .
Teď jen jak připojit nejednodušeji k SDS.

odkaz:

http://www.ebay.de/itm/Drucksensor-Druck-Sensor-0-1-2-MPa-fur-Ol-Kraftstoff-Diesel-Gas-Wasser-Luft-Neu/301671560040?_trksid=p2047675.c100005.m1851&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D20140117130753%

10

Re: Monitorovaní různých stavu.

No jednoduše to připojíte na AD vstup, ale asi budete muset snížit vstuupní rezistory (dle druhu SDS, buď mají 0-5V nebo 0-30V). Pokud jde jen o hrubá odhad, tak to bude jedno.
Vy máte v topném systému do 1,2MPa? Já dle kotle tlakuji na 1,5-1,6MPa.
Tahle věc by se taky líbila do sledování. Tohle mě řeší ovšem ten termostat s eBUS, který to nahlásí.

nějaké ukázky kódu zde: http://forum.merenienergie.cz//viewtopic.php?id=552

11

Re: Monitorovaní různých stavu.

Topný systém v domácnosti máte maximálně do 2 baru(0,2 MPa).
Mám sds E,  takže rezistory jsou už tam,  ale nechci kontrolovat napětí,  ale tlak,  takže jedině ocejchovat si napětí na bary.

12 Naposledy upravil: sidbin (2016-03-03 21:08:43)

Re: Monitorovaní různých stavu.

Jo omlouvám se popletl jsem si bary a MPa
No napětí měřit právě musíte kvůli tomu tlaku. SDS micro E má ty vstupy do 30V, takže pokud chcete vyšší přesnost měření, musíte je snížit.
Tk doufám, že se ve výpočtu nespletu a mám výpočet správně. Snad to někdo ještě překontroluje. Jde jen o hrubý výpočet.
výstup napětí 0.5-4.5V pri tlaku  0-1.2Pa a vy chcete 0,2MPa = 0,66V
30V vstup dá při 1024 krocích 0,029V takže 0-0,2MPa = 0-0,66V = 22kroků = rozlišení 0,009Pa
Tlak v systému 0,15MPa = 16 (od tohoto kroku můžete sledovat klesání tlaku v menším rozlišení)
5V vstup dá při 1024 krocích 0,0049V takže 0-0,2-MPa = 0-0,66V = 134kroků= rozlišení  0,0015Pa
Tlak v systému0,15MPa = 100 (od tohoto kroku můžete sledovat klesání tlaku ve větším rozlišení)

nějaké ukázky kódu zde: http://forum.merenienergie.cz//viewtopic.php?id=552