-
- Когда занимался похожим предпочитал гонять по радиоканалу Modbus-ASCII и, когда это возможно, использовать радиомодемы знающие про Modbus. - AlexG(09.05.2023 16:56)
- Таймауты используются только в Modbus/RTU, причем для двух вещей:
1) для определения границ кадров, 2) для разграничения доступа к
среде передачи (подуровень MAC). И есть ещё третье: для обнаружения
сбоев в процессе передачи кадра по паузам больше 1.5t и меньше
3.5t. Последнее в настоящее время уже не актуадьно, при наличии CRC
неправильные пакеты всё равно будут обнаружены и отброшены,
поддерживать имеет смысл только ради точного соответствия
стандарту. Если в радиоканале ЫЫyкпy(99 знак., 09.05.2023 16:49)
- Если это между своими устройствами, то можно что-то сделать. А если
все чужое, то любопытно как радиоканальные шлюзы модбаса решают
проблему таймаутов. Либо эти шлюзы будут работать только в
системах, не соблюдающих таймауты. - AlexBi(09.05.2023 19:53)
- 200мс - это самый маленький таймаут на ответ, какой я только видел в настройках по умолчанию. Радиоканалу достаточно принять запрос ведущего, передать запрос ведомому и ждать ответа ведомого. Полученный ответ ведомого ретранслируется ведущему. Нигде не видел обязательства устройству отвечать в считанные миллисекунды. Не ранее, чем через 3.5 символьных интервала (или 1.75мс если скорость выше 19200). А не позднее - определяется применением. Nikolay_Po(627 знак., 09.05.2023 22:24)
- Если это между своими устройствами, то можно что-то сделать. А если
все чужое, то любопытно как радиоканальные шлюзы модбаса решают
проблему таймаутов. Либо эти шлюзы будут работать только в
системах, не соблюдающих таймауты. - AlexBi(09.05.2023 19:53)
- Таймауты Modbus кроют таймаут радиоканала как бык овцу.19200 бит/с
порта соответствует 58000 бит/с в радиоканале - Cкpипaч(09.05.2023 16:10)
- Мой не большой опыт показывает, что все не так просто. Радиоканалу,
прежде чем он начнет передавать на скорости 58000, надо выйти в
эфир, раскачка, преамбула, итого единицы миллисекунд. А еще
радиоканальные повторители норовят сперва полностью принять пакет,
затем дополнить его кодами восстановления ошибок, еще какой
служебной информацией, и только потом выпускать в эфир. На приемной
стороне обратный процесс. Т.е. задержка получается заметно больше
требуемых 5t - AlexBi(09.05.2023 19:47)
- И что? В реальности, во многих системах таймаут стоит одна секунда. Регулярно попадаются устройства, не укладывающиеся с ответом в 0,5с. Без всякого радио. - Cкpипaч(13.05.2023 11:21)
- По факту, нормально работает со стандартными таймингами. У меня 75%
устройств - "чужие". - Cкpипaч(09.05.2023 19:56)
- Работает только потому что на тайминги в "чужих" устройствах давно положили болт. Если строго соблюдать тайминги оно перестанет работать с ПК. - 3m(11.05.2023 08:44)
- У вас Modbus RTU? Подозреваю, что большинство (если не все)
устройств не так строго следит за соблюдением таймаутов, поэтому
все работает. Хотя .. Можете показать какое устройство используете
в качестве радиошлюза? Может у него в описании чего-то про это
написано. - AlexBi(09.05.2023 22:17)
- Что-то вот такое. Cкpипaч(48 знак., 10.05.2023 09:54)
- Мой не большой опыт показывает, что все не так просто. Радиоканалу,
прежде чем он начнет передавать на скорости 58000, надо выйти в
эфир, раскачка, преамбула, итого единицы миллисекунд. А еще
радиоканальные повторители норовят сперва полностью принять пакет,
затем дополнить его кодами восстановления ошибок, еще какой
служебной информацией, и только потом выпускать в эфир. На приемной
стороне обратный процесс. Т.е. задержка получается заметно больше
требуемых 5t - AlexBi(09.05.2023 19:47)