|
сниффер ком порта |
|
|
|
Sep 6 2016, 13:56
|
Группа: Участник
Сообщений: 14
Регистрация: 8-08-15
Пользователь №: 87 893

|
Всем доброго дня. Есть сеть устройств, работающих по протоколу модбас через RS485. Необходимо написать перехватчик сообщений для ком порта, способный ловить паузы между сообщениями. Вот как поймать паузы, пока не соображу. Драйвер возвращает пачки по несколько байт, но поймать получается только длинные паузы (между запросами), а вот разделить запрос-ответ пока не могу. Есть программы снифферы, которые как-то реализуют такую возможность. Надо написать свою, в которой данные преобразовать в удобоваримый вид, удобный для отладки работы сети устройств. В винде это наверное тяжело будет сделать, но может есть способ, о котором я пока не знаю.
|
|
|
|
|
 |
Ответов
|
Sep 23 2016, 03:14
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата для любителей растяжек НИКОГДА не работавших с длинными реальными линиями. А что такое длинная реальная линия? с линией в 1200 метров не работал..... но несколько сотен метров - был опыт. Ни чего в линию не дули, ни до ни после передачи... линия была на растяжках. Цитата За такую "подтяжку" криворуким дизайнерам надо отрывать гениталии. Она КАТОСТРОФИЧЕСКИ гробит дальность передачи. Так в даташитах на драйвера эти растяжки в схемах как ..... Typical Half-Duplex RS-485 Network. zltigo, а вы как с 485-ым работаете? вообще без растяжек? Иногда разработчики забывали растяжку на линии сделать... так, когда линия свободна - все на линии непрерывно ловят мусор... непрерывно по уарту а процессор идёт мусор и связи толком нет.
|
|
|
|
|
Sep 23 2016, 09:08
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (juvf @ Sep 23 2016, 06:14)  zltigo, а вы как с 485-ым работаете? вообще без растяжек? Разумеется без. Предпочтение отдается, как уже писал, Failsafe приемникам (разумеется тем, которые True), но это для уменьшения помех, а не для того что бы мечтать, что помех не будет. Растяжки опциональные в железе предусмотрены, но ТОЛЬКО на случай подключений чужого железа которое делали убогие программисты не поддерживающие активное состояние линии перед началом передачи. Увы, сие не редкость  и Вы тому живое свидетельство. Для систем в котором используется гарантрованно свое оборудование на своем протоколе - нет и этой опции за полной ненадобностью. QUOTE Иногда разработчики забывали растяжку на линии сделать... так, когда линия свободна - все на линии непрерывно ловят мусор... непрерывно по уарту а процессор идёт мусор и связи толком нет. Все это совершенно нормально БЕСПРОБЛЕМНО фильтруется. Для фильтрации, например, в случае MODBUS и заложены те самые 1,5 и 3,5 интервалы АКТИВНОГО состояния, но без передачи, и само собой обработка ошибок собственно UART.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Sep 23 2016, 10:34
|

Профессионал
    
Группа: Свой
Сообщений: 1 261
Регистрация: 14-05-09
Из: Челябинск
Пользователь №: 49 045

|
Цитата(zltigo @ Sep 23 2016, 14:08)  Все это совершенно нормально БЕСПРОБЛЕМНО фильтруется. Для фильтрации, например, в случае MODBUS и заложены те самые 1,5 и 3,5 интервалы АКТИВНОГО состояния, но без передачи, и само собой обработка ошибок собственно UART. не ради холевара.... а ради прокачки скила.... как допустим, ПК БЕСПРОБЛЕМНО делает интервал активного состояния без передачи данных? как в покупных преобразователях усб-485 или 232-485 ПК делает активные паузы? это раз 2)но понятно.... что перед отправкой пакета сделать паузу, то вероятность ошибок будет меньше.... линяя будет "нешумная" и слейв получит пакет нормально. Но если линяя брошена... растяжек нет... то в УАРТ постоянно сыплет мусор. Понятно, что слейв считает црц и вероятность что получился из мусора годный пакет бесконечно мала.... Слейв в мусоре годного пакета не найдет. Но мусор то есть... и слейву нужно этот мусор обрабатывать... т.е. слейв непрерывно копается в мусоре и тратит свои ресурсы. Кто-то скажет - что эти ресурсы ничтожно малы.... но на каком нить АтТини не так уж и малы. с растяжками мусора нет.... может и могут быть помехи.... но они очень редки Цитата в случае MODBUS и заложены те самые 1,5 и 3,5 интервалы АКТИВНОГО состояния эээээ.... в MODBUS вроде нет ни каких интервалов активного состояния. там есть интервалы тишины. ps я всегда в своих устройствах делаю счетчик пакетов с битыми црц, и счетчик пакетов адресованных "мне". всегда интересно.... на сколько качественная связь.... сколько пакетов потеряно? каковы помехи? Приятно увидеть через год, что счетчик битых либо не изменился, либо инкрементировался на 1.
|
|
|
|
|
Sep 23 2016, 11:38
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (juvf @ Sep 23 2016, 13:34)  не ради холевара.... а ради прокачки скила.... как допустим, ПК БЕСПРОБЛЕМНО делает интервал активного состояния без передачи данных? как в покупных преобразователях усб-485 или 232-485 ПК делает активные паузы? это раз Мне безразлично кто и что НЕ делает и по какой причине. Я говорю о том, как НАДО делать и как делаю сам. QUOTE но понятно.... что перед отправкой пакета сделать паузу, то вероятность ошибок будет меньше.... линяя будет "нешумная" и слейв получит пакет нормально. Но если линяя брошена... растяжек нет... то в УАРТ постоянно сыплет мусор. Ну и пусть сыпет. Всегда возможна, пусть даже и нештатая ситуация, когда посыпется мусор и с такой ситуацией надо уметь БЕСПРОБЛЕМНО справляться. QUOTE Понятно, что слейв считает црц и вероятность что получился из мусора годный пакет бесконечно мала.... Слейв в мусоре годного пакета не найдет. Но мусор то есть... и слейву нужно этот мусор обрабатывать... т.е. слейв непрерывно копается в мусоре и тратит свои ресурсы. Кто-то скажет - что эти ресурсы ничтожно малы.... но на каком нить АтТини не так уж и малы. с растяжками мусора нет.... может и могут быть помехи.... но они очень редки Тем не менее тот же MODBUS начинался тогда, когда помянутая Вами тини была-бы более, чем крута на фоне чего либо типа 8080 мегагерцового. Тратить ресурсы на самом деле не приходится особо, поскольку первоначальный отсев мусора идет уже по ошибкам фиксируемым UART, потом по тем тому самому 1,5 интервалу. В случае MODBUS контроль адреса и так далее.... QUOTE эээээ.... в MODBUS вроде нет ни каких интервалов активного состояния. там есть интервалы тишины. Которые гарантированно обеспечиваются активизацией передатчика а не навешиванием сопливых растяжек. QUOTE (demiurg_spb @ Sep 23 2016, 13:45)  Про 1,5 байта в начале не понял. Там ведь и в начале и в конце 3,5 байта, а от 1,5 до 3,5 - это признак битого пакета. Вот в начале и делается 1,5 байтовая пауза, кторая 1) Обепечивает признак битого пакета для любого мусора возможно идущего из линии. 2) Обеспечивает гарантрованный стоп бит и соответственно захват байтовой синхронизации UART-ом. Для других протоколов может быть достаточно однобайтовой паузы только для синхронизации. QUOTE Кстати про FAILSAFE - большая их часть нифига не FAILSAFE (т.е. без смещённого порога). Ну не большая, но много именно с хлипенькими "растяжками" внутри. Причем это в основном левая китайская перемаркировка. Отличаются от настоящих легко по поведению при замыкании линии - растяжки сразу идут лесом в вылезает истинное личико  . По этой причине я и писал ранее TRUE Falsafe.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Alex_2015 сниффер ком порта Sep 6 2016, 13:56 bolden Добрый день,
если вы ловите запрос+ответ и если не... Sep 6 2016, 14:07 dm37 Можно принимать байты по одному с таймаутом, т.е. ... Sep 6 2016, 14:24 Alex_2015 Такой вариант я рассматривал, но здесь ключевая фр... Sep 6 2016, 14:39 _3m Цитата(Alex_2015 @ Sep 6 2016, 17:39) Осн... Sep 6 2016, 18:08 dm37 т.е. вы подключаетесь к какой либо паре устройств ... Sep 6 2016, 15:06 DASM честно говоря я бы такую задачу решал иначе. А име... Sep 6 2016, 15:56 jcxz Цитата(DASM @ Sep 6 2016, 21:56) честно г... Sep 7 2016, 18:22  zltigo QUOTE (jcxz @ Sep 7 2016, 21:22) QueryPer... Sep 7 2016, 21:06   jcxz Цитата(zltigo @ Sep 8 2016, 03:06) К чему... Sep 8 2016, 03:53    zltigo QUOTE (jcxz @ Sep 8 2016, 06:53) ТСу нужн... Sep 8 2016, 06:28     jcxz Цитата(zltigo @ Sep 8 2016, 12:28) Повтор... Sep 8 2016, 09:10      zltigo QUOTE (jcxz @ Sep 8 2016, 12:10) Именно н... Sep 8 2016, 10:42       jcxz Цитата(zltigo @ Sep 8 2016, 16:42) Разуме... Sep 8 2016, 18:02        zltigo QUOTE (jcxz @ Sep 8 2016, 21:02) Т.е. - у... Sep 9 2016, 07:23         Ruslan1 Мне кажется, изначально вопрос некорректно поставл... Sep 11 2016, 18:59         jcxz Цитата(zltigo @ Sep 9 2016, 13:23) Может,... Sep 13 2016, 05:32          zltigo QUOTE (jcxz @ Sep 13 2016, 08:32) Вы пута... Sep 13 2016, 07:28  DASM Цитата(jcxz @ Sep 7 2016, 21:22) Я бы тож... Sep 8 2016, 08:14 Lagman Очень давно, чем то подобным занимался (отлавливал... Sep 6 2016, 20:35 k155la3 Если пишете сами, попробуйте использовать таймауты... Sep 7 2016, 06:47 megajohn Цитата(Alex_2015 @ Sep 6 2016, 17:56) Все... Sep 7 2016, 08:36 Alex_2015 На тему конвертора мысли были. Но только на самый ... Sep 7 2016, 12:42 Alex_2015 Читал я MSDN в своё время, когда осваивал программ... Sep 8 2016, 01:23 k155la3 Если не требуется переносимость-универсальгность, ... Sep 8 2016, 06:00 Alex_2015 Я не утверждаю, что MSDN врёт. Просто констатирую ... Sep 8 2016, 06:11 Alex_2015 Я всё-таки внесу некоторые дополнения.
Использую п... Sep 9 2016, 01:11 juvf 2ТС Тут только аппаратный снифер поможет. Можно сд... Sep 21 2016, 18:29 Lagman Цитата(juvf @ Sep 21 2016, 21:29) Сможет ... Sep 22 2016, 10:16  juvf Цитата(Lagman @ Sep 22 2016, 15:16) it is... Sep 22 2016, 10:20  zltigo QUOTE (Lagman @ Sep 22 2016, 13:16) и есл... Sep 22 2016, 10:40   Lagman Цитата(zltigo @ Sep 22 2016, 13:40) В час... Sep 22 2016, 11:18    demiurg_spb Добрый день коллеги!
Захотелось обсудить вопро... Sep 22 2016, 12:26     megajohn Цитата(demiurg_spb @ Sep 22 2016, 15:26) ... Sep 22 2016, 12:35      demiurg_spb Нет. Интересует именно RS485!
Наверное мне сто... Sep 22 2016, 12:41     zltigo QUOTE (demiurg_spb @ Sep 22 2016, 15:26) ... Sep 22 2016, 13:50      demiurg_spb Цитата(zltigo @ Sep 22 2016, 16:50) Увы, ... Sep 23 2016, 10:45       juvf Цитата(demiurg_spb @ Sep 23 2016, 15:45) ... Sep 23 2016, 11:16        demiurg_spb Цитата(juvf @ Sep 23 2016, 14:16) не един... Sep 23 2016, 11:39        zltigo QUOTE (juvf @ Sep 23 2016, 14:16) не един... Sep 23 2016, 11:55 juvf ЦитатаМастер хочет передать и не знает был ли шум ... Sep 22 2016, 12:47 demiurg_spb Цитата(juvf @ Sep 22 2016, 15:47) Мне бы ... Sep 22 2016, 12:51  juvf Цитата(demiurg_spb @ Sep 22 2016, 17:51) ... Sep 22 2016, 13:08   demiurg_spb Понятно что шумов быть не должно, но они как-бы ес... Sep 22 2016, 13:13    juvf Цитата(demiurg_spb @ Sep 22 2016, 18:13) ... Sep 22 2016, 13:19     demiurg_spb Понятно, что изолированный - это гальванически не ... Sep 22 2016, 13:56 zltigo QUOTE (juvf @ Sep 22 2016, 15:47) Не нужн... Sep 22 2016, 14:07 Ruslan1 Цитата(juvf @ Sep 22 2016, 15:47) когда н... Sep 23 2016, 12:44  demiurg_spb 2juvf:
Я стараюсь на комп не заводить MODBUS-RTU -... Sep 23 2016, 13:04 juvf ps Цитатапомехи могут дать ложный старт-бит.не вс... Sep 22 2016, 12:56 demiurg_spb Цитата(juvf @ Sep 22 2016, 15:56) Про то,... Sep 22 2016, 13:01 juvf ЦитатаМне безразлично кто и что НЕ делает и по как... Sep 23 2016, 12:09 zltigo QUOTE (juvf @ Sep 23 2016, 15:09) К слова... Sep 23 2016, 12:41 juvf ЦитатаПод голый ПК, ака DOS - без проблем.Поделите... Sep 25 2016, 09:02 zltigo QUOTE (juvf @ Sep 25 2016, 12:02) Поделит... Sep 25 2016, 14:28 Ruslan1 juvf , Вы хотели что-то спросить, или просто еще р... Sep 25 2016, 17:33 net поддержу
особенно про стаффинг
есть же протокол ... Sep 25 2016, 17:38 dm37 немного в поддержу juvf
Если вы работаете по прото... Sep 25 2016, 18:23 AHTOXA Добавлю сюда пару ссылок на предыдущие обсуждения ... Sep 25 2016, 19:10 net QUOTE (dm37 @ Sep 25 2016, 21:23) немного... Sep 26 2016, 08:37 zltigo QUOTE (dm37 @ Sep 25 2016, 21:23) немного... Sep 26 2016, 09:51  net QUOTE (zltigo @ Sep 26 2016, 12:51)
нет... Sep 26 2016, 10:19   zltigo QUOTE (net @ Sep 26 2016, 13:19) попробуй... Sep 26 2016, 11:47    net QUOTE (zltigo @ Sep 26 2016, 14:47)
ктож... Sep 26 2016, 11:56    juvf Цитата(zltigo @ Sep 26 2016, 16:47) у нег... Sep 26 2016, 12:00  juvf Цитата(zltigo @ Sep 26 2016, 14:51) Поним... Sep 26 2016, 10:20 dm37 Цитата"Стандарт" на MODBUS в котором про... Sep 26 2016, 12:21 zltigo QUOTE (dm37 @ Sep 26 2016, 15:21) Надеюсь... Sep 26 2016, 16:49 dm37 to zltigo для информации
во вложении со страницы ... Sep 26 2016, 17:00 AHTOXA Цитата(dm37 @ Sep 26 2016, 22:00) во влож... Sep 26 2016, 19:35  juvf Цитата(AHTOXA @ Sep 27 2016, 00:35) Там к... Sep 28 2016, 08:59   AHTOXA Цитата(juvf @ Sep 28 2016, 13:59) ну тут ... Sep 28 2016, 10:07    net QUOTE (AHTOXA @ Sep 28 2016, 13:07) Но ес... Sep 28 2016, 10:17     _Pasha Цитата(net @ Sep 28 2016, 13:17) а если б... Sep 28 2016, 10:25      net QUOTE (_Pasha @ Sep 28 2016, 13:25) как В... Sep 28 2016, 10:36     demiurg_spb Цитата(net @ Sep 28 2016, 13:17) а если б... Sep 28 2016, 10:55      net QUOTE (demiurg_spb @ Sep 28 2016, 13:55) ... Sep 28 2016, 11:12      _Pasha Цитата(demiurg_spb @ Sep 28 2016, 13:55) ... Sep 28 2016, 11:24 juvf срезюмирую....
Цитата(zltigo @ Sep 3 2015, 1... Sep 27 2016, 06:49 net QUOTE (juvf @ Sep 27 2016, 09:49) QUOTE (... Sep 27 2016, 11:18 demiurg_spb Цитата(juvf @ Sep 27 2016, 09:49) 2demiur... Sep 27 2016, 14:45  net QUOTE (demiurg_spb @ Sep 27 2016, 17:45) ... Sep 27 2016, 15:14  _Pasha Цитата(demiurg_spb @ Sep 27 2016, 17:45) ... Sep 27 2016, 15:22   zltigo QUOTE (_Pasha @ Sep 27 2016, 18:22) Кста,... Sep 27 2016, 20:46    _Pasha Цитата(zltigo @ Sep 27 2016, 23:46) 1) Аб... Sep 28 2016, 06:55     zltigo QUOTE (_Pasha @ Sep 28 2016, 09:55) 1. Не... Sep 28 2016, 11:52      net QUOTE (zltigo @ Sep 28 2016, 14:52) Не ре... Sep 28 2016, 11:56      AHTOXA Цитата(zltigo @ Sep 28 2016, 16:52) Не ре... Sep 28 2016, 12:15       zltigo QUOTE (AHTOXA @ Sep 28 2016, 15:15) Старт... Sep 28 2016, 12:33        net QUOTE (zltigo @ Sep 28 2016, 15:33) Меня ... Sep 28 2016, 12:47        AHTOXA Цитата(zltigo @ Sep 28 2016, 17:33) Если ... Sep 28 2016, 12:55         zltigo QUOTE (AHTOXA @ Sep 28 2016, 15:55) Нет, ... Sep 28 2016, 13:13    net QUOTE (zltigo @ Sep 27 2016, 23:46) 2) На... Sep 28 2016, 07:16 dm37 to АНТОХА
ЦитатаТам как раз сказано, что растяжки ... Sep 27 2016, 13:22 _Pasha да модбас RTU, что там оговаривать Sep 28 2016, 07:42 net QUOTE (_Pasha @ Sep 28 2016, 10:42) да мо... Sep 28 2016, 08:19
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|