Witam,

Komunikuję się ze sterownikiem standardem modbus rtu 9600,8,N,1 .

Gdy przychodzi ramka odpowiedzi w zdarzeniu czekam na całą ramkę czyli :


if (sp.BytesToRead == 25)   
        {
[...]
         }
 

Następnie przepisuje te dane i wyświetlam w odpowiednich miejscach. Wszystko działa prawidłowo do czasu kiedy symuluje rozłączenie i ponowne połączenie.
Czasami przychodzą bardzo dziwne wartości i pomaga tylko wyłączenie i ponowne włączenie transmisji.

Szukam od dłuższego czasu przyczyny tego zdarzenia i nie mogę znaleźć odpowiedzi. Zastanawiam się jak powinny być ustawione ReadTimeout i WriteTimeout i jak ustawić czas końca ramki na 3.5 znaku ?