Na jedné aplikaci jsme nasadili stanice ADiS, Mesterm a AMAP, které byli vzájemně propojeny DB-Netem po RS485. Na řídicí stanici ADiS jsme osadili kartu ETH10 pro vyčítání dat do vizualizace ControlWeb. Jaké bylo moje překvapení, když po odpojení ethernetového kabelu od ETH10 a připojení do Mestermu se komunikace několikanásobně zrychlila. Po několika desítkách pokusů jsme se suportem AMiTu došli k závěru, že:
- v současnosti to vypadá na možný problém s NOSem (řeší vývoj SW). Dle vašeho odchytu vám na místě chodí UDP pakety z PC do ADiSu docela rychle (časový rozdíl požadavků asi 0,1 ms). Když se zapnuly LOGy, tak se tato doba mezi požadavky prodloužila na řádově jednotky ms a problém zmizel. Nám tu požadavky do ADiSe chodily o poznání pomaleji (cca 0,4 ms) a možná i proto nám to tu jelo OK. Proto by mohlo pomoci v problematické aplikaci CW nastavit v parametrizačních souborech komunikace DDBNET32 prodlevu mezi odchozími UDP pakety - pomoci parametru UDP. MinDelay v sekci GENERAL (soubor xxx.par) na hodnotu jednotek až desítek ms (nejlépe odzkoušet na místě).
Při odposlechu UTP programem WireShark a MinDelay mezi 80-100 se požadavky už neopakovaly a komunikace byla bezchybná.
Nakonec jsme to nechali takto:
========== HW_BEGIN ==========
[General]
MyStation=30
UDP.MyPort=59
UDP.MinDelay=100
Zdá se, že je teď komunikace v rámci možností, ale nerad odstraňuji důsledek. Raději odstraňuji příčinu. Pokud bude nějaký posun v řešení, tak mě prosím informujte.
Dle vyjádření vývoje jsou blíže k odstranění problému... takže se předpokládá i odstranění té příčiny.
Až bude odhalena příčina tohoto jevu, tak vás samozřejmě budu informovat.
Poslední komentáře