Witam!
Od początku...
Zbudowałem system pomiaru temperatury w którym komunikacja odbywa się po RS485 w protokole modbus rtu.
Na całość składa się kilka (zazwyczaj ok 8) modułów slave i jeden master. Moduły połączone są przewodem YTKSY-EWK 3x2x0.8
(trzy skręcone pary we wspólnym jednym ekranie), gdzie 1 para wykorzystana jest do transmisji, a pozostałe połączone równolegle stanowią zasilanie (GND i +12V).
Sieć zaterminowana obustronne rezystorem 120 Ohms, linie A i B spolaryzowane, ekran uziemiony tylko od stony mastera.
Długość sieci, od 30m do 700m
Środowisko raczej słabo zakłócone.
Problem dotyczy losowo wystepujących timoutów od strony modułów slave.
Co jakiś czas jakiś moduł nie odpowie, nie ma żadnej reguły który i kiedy nie zwróci odpowiedzi...
//--------------------------
Na biurku przetestowałem system składający się z 24 modułów slave i mastera.
Zastosowałem ten sam zasilacz i 900m przewodu jak powyżej. System nie wygenerował żadnego timeoutu, a pytałem całość w pętli ok 10 000 razy.
System na "biurku" różnił się od faktycznego następująco:
- na "biurku" cały przewód nawinięty był na szpuli, zaś na obiekcie przewód rozciągnięty jest po raczej po liniach prostych.
- na obiekcie przewód rozciągnięty jest w metalowych rurkach ( i metalowych peszlach)
Takich fizycznych systemów jest już zamontowanych kilka. Na każdym timeouty występują.
Ciekawi mnie Wasza opinia i sugestie odnośnie przyczyn takiego zachowania.
Pozdrawiam!
Sławek
Od początku...
Zbudowałem system pomiaru temperatury w którym komunikacja odbywa się po RS485 w protokole modbus rtu.
Na całość składa się kilka (zazwyczaj ok 8) modułów slave i jeden master. Moduły połączone są przewodem YTKSY-EWK 3x2x0.8
(trzy skręcone pary we wspólnym jednym ekranie), gdzie 1 para wykorzystana jest do transmisji, a pozostałe połączone równolegle stanowią zasilanie (GND i +12V).
Sieć zaterminowana obustronne rezystorem 120 Ohms, linie A i B spolaryzowane, ekran uziemiony tylko od stony mastera.
Długość sieci, od 30m do 700m
Środowisko raczej słabo zakłócone.
Problem dotyczy losowo wystepujących timoutów od strony modułów slave.
Co jakiś czas jakiś moduł nie odpowie, nie ma żadnej reguły który i kiedy nie zwróci odpowiedzi...
//--------------------------
Na biurku przetestowałem system składający się z 24 modułów slave i mastera.
Zastosowałem ten sam zasilacz i 900m przewodu jak powyżej. System nie wygenerował żadnego timeoutu, a pytałem całość w pętli ok 10 000 razy.
System na "biurku" różnił się od faktycznego następująco:
- na "biurku" cały przewód nawinięty był na szpuli, zaś na obiekcie przewód rozciągnięty jest po raczej po liniach prostych.
- na obiekcie przewód rozciągnięty jest w metalowych rurkach ( i metalowych peszlach)
Takich fizycznych systemów jest już zamontowanych kilka. Na każdym timeouty występują.
Ciekawi mnie Wasza opinia i sugestie odnośnie przyczyn takiego zachowania.
Pozdrawiam!
Sławek
