artash05
Junior Member / Новичок
Участник № / Member № 5793
отправлено / posted
Здравствуйте!
При работе по Modbus TCP по GPRS-каналу не удается увеличить таймаут ожидания ответа. Насколько я понял из документации, за это отвечает параметр TMOUT в файле ip_modbus. В справке не объясняется формат записи данного параметра. Пробовал варианты 3 TMOUT, TMOUT 3, TMOUT=3, TMOUT3. Ни один из приведенных вариантов не работает. Как, все-таки, правильно будет задать индекс таймаута для использования?
Пока вышел из ситуации задав в CNF-файле параметры tcp_modbus_tmout[0] - [7] равные 10 секундам для всех восьми таймаутов. Так работает, но хотелось бы сделать более красиво.
отправлено / posted
В релизе 6.08 таймауты в файле ip_modbus не задаются. Они задаются в строке дополнительно в форме TMOUT=x где x - индекс таймаута для использования. Таймауты задаются в CNF-файле с помощью ключа MDB_TMOUT_SEC<x>=<число секунд>. Если TMOUT=x не задан, устройству задается таймаут с 0-м индексом, который по умолчанию равен 1 сек.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
artash05
Junior Member / Новичок
Участник № / Member № 5793
отправлено / posted
В компонентах MODBUS слоя "Источники/Приемники" есть поле "Дополнительно", куда можно записать строковые выражения.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
artash05
Junior Member / Новичок
Участник № / Member № 5793
отправлено / posted
Теперь понятно. В первом вашем посте слово "дополнительно" я понял в буквальном смысле. Надо было его заключить в кавычки или написать с большой буквы. Хотя, если быть точным, поле "Дополнительно" теперь называется "IP-адрес".
ilovefiniki
Forum Member / Участник форума
Участник № / Member № 4106
отправлено / posted
А что означает каждый из 8 таймаутов? Раньше, когда они задавались в файле ip_modbus там были разные названия и назначение. А сейчас вообще непонятно какой таймаут задаётся, для чего? Понятно только, что как-то на modbus повлияет, а как именно - никому не известно. Сейчас крайне не стабильно работает связь через modbus tcp и GPRS на удалённом устройстве. И вот даже не знаю как повлиять теперь можно. TM сыпет запросы определённо быстрее, чем может отработать GPRS связь.
Сообщения / Posts 52 | Из / From: Беларусь
| IP / IP: IP адрес / IP address |
отправлено / posted
По умолчанию таймаут ожидания ответа по Modbus TCP равен 1 сек. Именно этот таймаут определяет период опроса при существенной задержке ответов.
Для каждого Modbus-устройства в настройках компонентов слоя "Источники/Приемники" можно задать индекс (0...7) в списке предуставленных значений таймаутов. Предустановленные по умолчанию значения таймаутов с указанными индексами описаны в разделе "Обмен по протоколу MODBUS TCP/IP".