This is topic ТМ 6.08 таймауты в Modbus TCP in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/45/t/000238.html

Posted by artash05 (Участник № / Member № 5793) on :
 
Здравствуйте!

При работе по Modbus TCP по GPRS-каналу не удается увеличить таймаут ожидания ответа. Насколько я понял из документации, за это отвечает параметр TMOUT в файле ip_modbus. В справке не объясняется формат записи данного параметра. Пробовал варианты 3 TMOUT, TMOUT 3, TMOUT=3, TMOUT3. Ни один из приведенных вариантов не работает. Как, все-таки, правильно будет задать индекс таймаута для использования?

Пока вышел из ситуации задав в CNF-файле параметры tcp_modbus_tmout[0] - [7] равные 10 секундам для всех восьми таймаутов. Так работает, но хотелось бы сделать более красиво.

Спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В релизе 6.08 таймауты в файле ip_modbus не задаются.
Они задаются в строке дополнительно в форме
TMOUT=x
где x - индекс таймаута для использования. Таймауты задаются в CNF-файле с помощью ключа MDB_TMOUT_SEC<x>=<число секунд>.
Если TMOUT=x не задан, устройству задается таймаут с 0-м индексом, который по умолчанию равен 1 сек.
 
Posted by artash05 (Участник № / Member № 5793) on :
 
Как понимать вашу фразу

>Они задаются в строке дополнительно
?

В какой строке? В командной строке при запуске? Или в одной из строк CNF-файла?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В компонентах MODBUS слоя "Источники/Приемники" есть поле "Дополнительно", куда можно записать строковые выражения.
 
Posted by artash05 (Участник № / Member № 5793) on :
 
Теперь понятно. В первом вашем посте слово "дополнительно" я понял в буквальном смысле. Надо было его заключить в кавычки или написать с большой буквы. Хотя, если быть точным, поле "Дополнительно" теперь называется "IP-адрес".

Протестировал работу ТМ с учетом ваших разъяснений. Все заработало, спасибо!
 
Posted by ilovefiniki (Участник № / Member № 4106) on :
 
А что означает каждый из 8 таймаутов? Раньше, когда они задавались в файле ip_modbus там были разные названия и назначение. А сейчас вообще непонятно какой таймаут задаётся, для чего? Понятно только, что как-то на modbus повлияет, а как именно - никому не известно.
Сейчас крайне не стабильно работает связь через modbus tcp и GPRS на удалённом устройстве. И вот даже не знаю как повлиять теперь можно. TM сыпет запросы определённо быстрее, чем может отработать GPRS связь.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
По умолчанию таймаут ожидания ответа по Modbus TCP равен 1 сек.
Именно этот таймаут определяет период опроса при существенной задержке ответов.

Для каждого Modbus-устройства в настройках компонентов слоя "Источники/Приемники" можно задать индекс (0...7) в списке предуставленных значений таймаутов.
Предустановленные по умолчанию значения таймаутов с указанными индексами описаны в разделе "Обмен по протоколу MODBUS TCP/IP".

Вы можете изменить эти предустановленные значения таймаутов в файле *.cnf (см.тот же раздел).
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2