1

Téma: Ping

Mám zapůjčeny 2 ks Micro Light. Jeden je master, druhý slave. Master neustále hlídá připravenost slave pingáním na něj. Z mého compu na ně mohu pingnout a odezva je tak do 10 ms. Vše je v pořádku do té doby, než se připojím k modulu pomocí prohlížeče (používám Mozillu Firefox). Po vypnutí compu se činnost modulů SDS zpomalí a po novém nastartování compu vykazují moduly odezvu pingů přes 3000 ms, resp. ztrátu odpovědi. Řešením je moduly vypnout a znovu spustit. Stalo se někomu z vás něco podobného a jak jste toto řešili?

2

Re: Ping

Není kolize MAC adres v sití?
Mají zařízení SDS nastavené rozdílné MAC adresy ?
Je v nich spuštěch nějaký SDS-C program ?
Jaké jsou IP adresy zařízení ?
Nepingá některé zařízení sebe samo ?

Jakým způsobem se provádí ping, je to pomocí pingu který je nastaven v SDS v jeho webové administraci ?

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

3

Re: Ping

Master i slave modul mají odlišné MAC adresy. V každém modulu běží SDS-C program. Master pingá na připravenost slavu příkazem

  ping(192,168,2,249,ping_sequence);
  fCekejNaOdpovedPingu();

kde ping_sequence je číslo, které se mění od 1 výše a funkce fCekejNaOdpovedPingu() je následující

...
// funkce fCekejNaOdpovedPingu
fCekejNaOdpovedPingu
{
 iProdlevaTestovaniPingu=10;
 iMaxDobaOdezvyPingu=400;
 iPocetTestuMax=iMaxDobaOdezvyPingu/iProdlevaTestovaniPingu;
 iOdpovedPrisla=0;
 iPocetTestu=0;
 label Testuj:
  if(sys[92]==8&&iPocetTestu<iPocetTestuMax)
  {
   iOdpovedPrisla=1;
   return;
  }
  else
  {
   if(iPocetTestu<iPocetTestuMax)
   {
    iPocetTestu++;
    wait(iProdlevaTestovaniPingu);
    goto Testuj;
   }
  }
}
...

Slave program se pingání neúčastní, pouze čeká na povel od master modulu, aby sepnul relé 2 a odeslal master modulu potvrzení sepnutí relé. U obou modulů je IP watchdog vypnutý. Spolupráce obou modulů je perfektní do doby, kdy se vypíná nebo restartuje PC, které je připojené ve společném HUBu. K narušení funkčnosti dochází nepravidelně - někdy můžu několikrát restart zopakovat a nic se nestane (např. celé dopoledne nic a po obědě nebo když končím a vypínám PC to nastane). Pokoušel jsem zpomalovat smyčku, ale když už jsem si myslel, že je problém vyřešen, tak to nastalo opět.