1

Téma: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Hodlám pomocí SDS měřit čas doby provozu jeřábu a pomocí WIFI posílat na server.
Předpokládám pomocí SO vstupu měřit a nasčítávat dobu v sec. po kterou je vstup sepnutý, zapisovat je do proměnné a posílat po 15ti minutách na server. Prosím o radu jakou funkci použít, popř. zda lze použít některou z funkčních proměnných.
Děkuji

2

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

no já bych na to šel jinak, seberu proměnnou s časem ve formátu +56494918 a tu pak pošlu při začátku práce - třeba snímané relátkem připojeným někde na jeřáb a na optičlen a pak zase na konci při změně stavu

3

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Problém u S0 v této aplikaci je, že se měří čas mezi impulsy. Musel by tedy být použit nějaký zdroj impulsů, který by poslal impuls při startu a při konci... jenže pak by se při tom druhém impulsu zase to počítadlo doby samo vynulovalo a začalo by znovu od začátku.

Tak jak se píše v předchozím příspěvku:
Typickým řešením totoho úkolu je použít relé, které je pověšené na sledovaný spotřebič (třeba mezi jednu fázi motoru a nulák, nebo např. někde v ovládacím bloku).
Kontakt relé pak spíná proud do jednoho z optických vstupů. Šel by využít i předpřipravený S0 vstup (přineslo by to úsporu externího rezistoru a jednodušší drátování), ale obsluha by musela být čistě programová.

var bylo_opto_aktivni;
var cas_v_okamziku_zacatku;

main
{

  bylo_opto_aktivni  = 0;

smycka:

  if (OPTO_JE_AKTIVNI)
 {
    // opto vstup ma signal

    // test
    if (bylo_opto_aktivni == 0)
    {
       // nebylo
       cas_v_okamziku_zacatku = sys[4];
    } 
    else
    {
       //bylo aktivni - takze jeste stale je
       //neudelam nic, nepotrebuju
    }

    bylo_opto_aktivni = 1;
    
 } else
 { 
    // opto nema signal

    if (bylo_opto_aktivni != 0)
    {
       rozdil_casu = sys[4] - cas_v_okamziku_zacatku;

       echo('CAS PROVOZU: ',rozdil_casu,' sekund...');
       // a napriklad odeslat email atd.
    } 

    // a pripravim na dalsi zapnuti
    bylo_opto_aktivni = 0;
 }

 goto smycka;

}
Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

4

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

no šak přesně tak sem to myslel smile

5

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Díky za pomoc,
až to rozchodím tak se ozvu.

6

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

dovolil jsem si  program.

var a; //nacitani 15 minut
var b; // nacitani vterin, pri behu jerabu
var c; // stav vstupu SO1

main
{

neni_15_min:
c=sys[151];
sys[140]=b;  // ulozi stav  SO1 do SYS

wait(1000);  // pocka 1 vterinu

a=a+1;       // pripocte 1 minutu

if (sys[151] != 0) goto jerab_jede;

b=b+1;      // pripocte 1 vterinu

jerab_jede:

if (a < 900) goto neni_15_min; // 15min = 900sec.

http_get(192,168,0,2,'server','/data.php?jerab',sys[140]); //odesle data na server

echo ('odeslano na server');

a=0;

}
Kdo nic nezkusí, nic nezíská.

7

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Právě se pokouším sestavit program a on mi spadl s čistého nebe.
Díky

8

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Raději ještě počkej na "recenzi" meho programu od profiku. :-)
Ja jsem amater. Ale funguje to.

Kdo nic nezkusí, nic nezíská.

9

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Já jsem také amatér, ale docela mne to chytlo. Program odzkouším a pokud bude fungovat tak proč jej nepoužít.
Zařízení SDS má perfektní podporu a neustále se vyvíjí a zdokonaluje. Není složité a přesto má široké využití. Je to také ideální zařízení pro učení se programovat apod.

10

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Ještě jednou mnohokrát děkuji. Vše je plně funkční. Váš program požiji.

Dovolil jsem si jej pouze nepatrně upravit.

var a; //nacitani 15 minut
var b; // nacitani vterin, pri behu jerabu
var c; // stav vstupu SO1
main
{
neni_15_min:
c=sys[151];
sys[140]=b;  // ulozi stav  SO1 do SYS
wait(1000);  // pocka 1 vterinu
a=a+1;       // pripocte 1 minutu
if (sys[151] != 0) goto jerab_jede;
b=b+1;      // pripocte 1 vterinu
jerab_jede:
if (a < 10) goto neni_15_min; // 15min = 900sec.

sys[100]=sys[100]+sys[140]; // pripocte se doba chodu do trvale pameti
http_get(192,168,0,2,'server','/data.php?jerab',sys[140],sys[100]); //odesle data na server
echo ('odeslano na server');
b=0; // vynulovani pocitani.
a=0; // vynulovani pocitani.

}

Díky

11

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Tímto se Vám tedy po odesílání na server vynuluje i doba chodu jeřábu.

Kdo nic nezkusí, nic nezíská.

12

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Ano,
na server bude odeslána vždy doba chodu za 15 minut a nasčítaná doba z sys[100].
Alespoň tak to chci.

13

Re: [vyřešeno] Použití SDS pro měření doby provozu jeřábu v hale

Udělal jsem si na základě tohoto programu počítadlo doby provozu solárního systému, dneska se usmálo počasí a solár jel, takže to i něco chvilku napočítalo.
Posílám data z čidel na web kažkou "pevnou" 15tou minutu a přidávám k tomu celkový součet čítače sekund ze sys100.
Pošlu si to na svůj web do DB, kde to uložím v sekundách. Další zpracování už počítám v minutách a hodinách.

Něco podobného plánuju i s plynovým kotlem (chci zkusit zvukové čidlo s mikrofonem na plášti), ale tam to bude jen informace o provozu 0/1, bez dalších statistik a zpracování.


var nacitani_vterin_chodu; // nacitani vterin, pri behu solaru
var stav_s01_1; // stav vstupu SO1
............
.bla bla bla...
.........
main
{
//zde se pocita doba chodu solarniho cerpadla v sekundach
stav_s01_1=sys[151]; //stav 1. vstupu s01_1 0/1
sys[149]=nacitani_vterin_chodu;  // ulozi stav  SO1_1 do SYS a pocita vteriny
wait(1000);  // pocka 1 vterinu

if (sys[151] != 0) goto solar_jede;
nacitani_vterin_chodu=nacitani_vterin_chodu+1;      // pripocte 1 vterinu

solar_jede:

if ((sys[9]==0 || sys[9]==15 || sys[9]==30 || sys[9]==45) && sys[10]==0){  
  sys[100]=sys[100]+sys[149]; // pripocte se doba chodu do trvale pameti
  odesli_data_na_web();
  RELE = 1;                // poslat echo pro arduino
  stav_s01_1=0;            // vynulovani stavu 0/1 na S01_1
  nacitani_vterin_chodu=0; //vynulovani pocitani.
  wait(2000);  
 }
nějaké ukázky kódu zde: http://forum.merenienergie.cz//viewtopic.php?id=552