Вопрос к практикам. Ситуация в следующем:
есть линия связи RS485 длинной 400 метров, кабель UTP-5 экранированный,
экран в виде фольги,заземлен с одного конца. На линию подключено 3 устройства,
без ответвлений, строго в виде шины. Конверторы RS485 обыкновенные дешевые, даже не помню чьи.
В местах пролегания линии связи есть чья - то чужая WiFi. Так вот, в такой конфигурации конверторов
связи с приборами нет вообще, софт говорит что приходят пакеты большей длинной чем надо (строго на 1 байт).
Действительно записывал логи,устройство отдает в линию 19 байт,а в компьютер приходит 20. Софт нормальный в других местах работает нормально месяцами без единого сбоя,хотя можно его подправить если что.
Все мероприятия с терминаторами и заземлением через конденсатор ничего не дали, понизить скорость меньше чем
9600 возможности нет.Осцилографом смотрел - нормально фронты прямоугольные, никаких артефактов нет.
Если отключить все устройства от сети и оставить только одно,не важно где в начале или в конце линии связи,то лишних байт не появляется и все нормально. Т.е. видимо дело в "левых" адаптерах. Заменил крайние адаптеры, в начале и в конце линии связи на I-7520,третий адаптер оставил старый, все заработало, софт говорит что все в норме,однако проработав около часа, софт молча вылетает, запускаю снова такая же история.
Вопрос: могут ли помехи в линии связи повлять на софт, т.е. повесить его или просто аварийно завершить.
Могу предположить что приходит мусор типа не полного байта (19,5 байт) или еще чего,а это обрабатывает не на уровне прикладного софта а на уровне драйвера операционной системы. Еще раз повторюсь в других местах софт работатет очень хорошо.
Мне интересны мнения всех и монтажников и наладчиков и программистов.
Месяц уже бьюсь, ничего не выходит,скоро законы физики будут под сомнением
