Téma: SW restart zařízení
Nikde jsem nenalezl příkaz, pomocí kterého bych mohl provést restart zařízení.
Lze to ??
Díky
Leoš
SDS PLC/PAC: Měření Energie & OnlineTechnology.cz
Network Monitoring System - SDS - Síťový Dohledový Systém
Nejste přihlášen. Přihlaste se, nebo se zaregistrujte.
SDS PLC/PAC: Měření Energie & OnlineTechnology.cz » SDS-MICRO (LM) - light » SW restart zařízení
Stránky 1
Chcete-li přispívat, musíte se přihlásit nebo projít procesem registrace.
Nikde jsem nenalezl příkaz, pomocí kterého bych mohl provést restart zařízení.
Lze to ??
Díky
Leoš
Ne, je k tomu nějaký důvod ? Zařízení vykazuje nějaké nestandardní chování ? Fw je natolik binární záležitost odlišná od jakýchkoli operačních systémů, že na něm němá za standardních okolností co dělat problémy vedoucí k rešení restartem
Ne, je k tomu nějaký důvod ? Zařízení vykazuje nějaké nestandardní chování ? Fw je natolik binární záležitost odlišná od jakýchkoli operačních systémů, že na něm němá za standardních okolností co dělat problémy vedoucí k rešení restartem
Zařízení používám k měření U/teplota a bin stavů, pomocí http get přenáším na sql server. Občas se stane, zejména pokud je problém na síti, že se odesílání "zasekne". SDS je dále dostupné přes http, ale již neodesílá data přes http get.
Řeším to tak, že buď odpojím a zase připojím zařízení - což v případě, že zařízení je vzdáleno je celkem problém, nebo znovu nahraji program. Každopádně ten SW restart by to jisté míry řešil ..
Leoš
pomocí http get přenáším na sql server. Občas se stane, zejména pokud je problém na síti, že se odesílání "zasekne". SDS je dále dostupné přes http, ale již neodesílá data přes http get.
Tohle mě zajímá. Moc zajímá. Jaké jsou bližší detaily ?
Pracujete s hodnotou sys[65] pro hlídání výsledku a stavu http_get(), viz http://wiki.merenienergie.cz/index.php/OSI7_status_code ?
Jaký je zdrojový kód části program která se stará o odesílání?
Tímhle začneme.
Kus programu:
//////
odesli_data_na_sql
{
if (sys[65] > 0) // test zda je ci neni http zamestnan...
{
echo (' ');
echo ('posilam data');
http_get(x,x,x,x, 'x.x.x.x','/data/index.php?id=',ID,'&ana0=',ana0,'&ana1=',ana1,'&ana2=',ana2,'&ana3=',ana3,'& temp1=',temp1,'&temp2=',temp2,'&temp3=',temp3,'&temp4=',temp4,'&bin1=',bin1,'&bin2=',bin2,'&bin3=',bin3,'&sys301=',sys[301],'&sys232=',sys[232],'&unixz=',unixz,'&unixk=',unixk,'&unixid=',unixid);
echo(sys[5],'.',sys[6],'.',sys[7],' - ',sys[8],':',sys[9],':',sys[10],' Data byla odeslana na server');
zapisdata = 0;
return;
}
else
{
echo ('http_get zamestnan, skacu zpet...001',sys[5],'.',sys[6],'.',sys[7],' - ',sys[8],':',sys[9],':',sys[10]);
return;
} //vse hotovo
}
////
main
{
..
..
if (zapisdata == 1) odesli_data_na_sql();
..
..
}
... je tam spousta echa, abych mohl sledovat, co se deje. Pokud je http zamestnan, tak se pokracuje dal a data se odeslou v dalsi smycce.
L.
if (sys[65] > 0)
Toto bude ten problém.
Pokud se stane chyba (sys[65]) tak se to dovnitř toho ifu nikdy nedostane, protože si to stále bude myslet, že je to něčím zaměstnané.
Je potřeba detailněji rozlišit hodnotu sys[65] a podle toho se zařídit. Když tam bude konkrétní chybová hláška, tak neváhat a to http_get() provést. Viz odkazovaná stránka na WiKi.
LeosL napsal:if (sys[65] > 0)
Toto bude ten problém.
Pokud se stane chyba (sys[65]) tak se to dovnitř toho ifu nikdy nedostane, protože si to stále bude myslet, že je to něčím zaměstnané.
Je potřeba detailněji rozlišit hodnotu sys[65] a podle toho se zařídit. Když tam bude konkrétní chybová hláška, tak neváhat a to http_get() provést. Viz odkazovaná stránka na WiKi.
A-ha,
tak tedy...
1029 chyba - stále není vyřízený předchozí požadavek, tento tedy je zahozen
v tomto případe vyskočit z IFu, nem smysl něco posílat, když předchozí požadavek neni vyřízen.
v ostatních případech neváhat a http_get() provést ?
L.
Zařízení používám k měření U/teplota a bin stavů, pomocí http get přenáším na sql server. Občas se stane, zejména pokud je problém na síti, že se odesílání "zasekne". SDS je dále dostupné přes http, ale již neodesílá data přes http get.
Leoš
mam podobny problem, zarizeni funguje 3 dny v pohode a najednou se zastavi, pokud prehraju program a delam psi kusy abych to dostal do stavu kdy to prestane posilat tak se mi to nepovede. SDS se mi zastaví a v sys65 mam stale chybu 1029? Co mám prosím udělat při této chybě ? když vyskočím ze smyčky tak už stejnak nikdy nic nepošlu, protože mi to tam visí
Jakou tam máte verzi firmware a jaké konkréktní zařízení SDS to je ?
Každopádně to nechám prověřit.
Jakou tam máte verzi firmware a jaké konkréktní zařízení SDS to je ?
Každopádně to nechám prověřit.
mám 3 desky, 2x Micro light 2 a 1x Micro Light E, dělají to všechny, fw mám aktuální ze 7.5.2012, minulý fw mi to dělal také. Zacyklí se mi to na 1029 a už se žádná data nepošlou, nějak se to z toho neprobere, nebo tam nějaký požadavek visí. Zase je mi divné že je to problém asi jen můj
program:
odesli_data_portal
{
http_get('xxxxx...............................
sys[64] = 20; //sekund
label cekam_na_http_smycka:
if (sys[64] == 0) goto chyba_www_serveru;
if (sys[65] == 0) goto cekam_na_http_smycka;
if ((sys[65] != 1024)||(sys[75] != 200)) goto chyba_www_serveru;
return;
label chyba_www_serveru:
echo(sys[5],'-',sys[6],'-',sys[7],' ',sys[8],':',sys[9],':',sys[10],' Chyba www http OSI7: ', sys[75],' v sys 65: ' sys[65]);
return;
}
je možné že mi to koliduje s pingem ? používám sys[64] na timeout pri pingu. ted jsem to vypnul, mam tam klasický wait 1000 a prostě se tam sekundu zdržím a zatím běží v pohodě. ale obě funkce používám za sebou, popořadě.
je možné že mi to koliduje s pingem ? používám sys[64] na timeout pri pingu. ted jsem to vypnul, mam tam klasický wait 1000 a prostě se tam sekundu zdržím a zatím běží v pohodě. ale obě funkce používám za sebou, popořadě.
Ping nepoužívám, přesto se občas sds kousne a přestane posílat data na sql server.
Řeším zalogováním do www rozhranní , administrace ==> Nastavení ethernetu ==> změnit sítové nastavení a kliknout na "nastav" ...
Tím se spustí sw v sds od začátku a data se odesílají. Pokud by bylo možno tento stav vyvolat příkazem, mohl by si to sql server hlídat sám. Takhle pošle server info o off line stavu a restart provedu ručně. Snad časem výrobce tuto možnost, tedy sw restart zařízení bude implementovat.
L.
Cuchty napsal:je možné že mi to koliduje s pingem ? používám sys[64] na timeout pri pingu. ted jsem to vypnul, mam tam klasický wait 1000 a prostě se tam sekundu zdržím a zatím běží v pohodě. ale obě funkce používám za sebou, popořadě.
Ping nepoužívám, přesto se občas sds kousne a přestane posílat data na sql server.
Řeším zalogováním do www rozhranní , administrace ==> Nastavení ethernetu ==> změnit sítové nastavení a kliknout na "nastav" ...Tím se spustí sw v sds od začátku a data se odesílají. Pokud by bylo možno tento stav vyvolat příkazem, mohl by si to sql server hlídat sám. Takhle pošle server info o off line stavu a restart provedu ručně. Snad časem výrobce tuto možnost, tedy sw restart zařízení bude implementovat.
L.
také chyba 1029?
také chyba 1029?
Ano, také..
L.
Dnes byla vydána nová verze firmware pro, která by měla chybu 1029 plně řešit.
Děkuji, nahrál jsem a dám vědět.
Super !!!
Díky za zpávičku, večer naláduju nejbližši SDS kam mám přístup a budeme dlouhodobě testovat.
L.
Už to týden běží bez problémů. Vypadá to dobře. 2x to spadlo do 1029 chyby ale nezacyklilo se to.
Děkuji za opravu!
Už to týden běží bez problémů. Vypadá to dobře. 2x to spadlo do 1029 chyby ale nezacyklilo se to.
Děkuji za opravu!
Mohu potvrdit, zatim to jede v pohodě. Nevim, zda nebyl přepracovano i nahrávání sw, protože se mi toto povedlo i "dálkově" po síti za provozu.
L.
Stránky 1
Chcete-li přispívat, musíte se přihlásit nebo projít procesem registrace.
SDS PLC/PAC: Měření Energie & OnlineTechnology.cz » SDS-MICRO (LM) - light » SW restart zařízení