Тема / Topic: Увеличить время ожидания ответа по протоколу tcp modbus
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
Здравствуйте
Просьба обясните как правильно составить файл конфигурации Дело в том, что на объекте пакеты проходят с большой задержкой по сети. Использую протокол связи TCP_ModBus
Сейчас содержание конфигурационного файла tcp_modbus выглядеть так UNIT=1 PORT=502 TCP=10.180.41.201 TMOUT=0 THMAIN; FRMT=DEFAULT
Нам нужно увеличить время ожидания ответа к примеру на 10 секунд, какое значение указать для ключа TMOUT? В справке есть ещё такой ключ PING_ON , как его правильно указать в списке ключей
Сообщения / Posts 44 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
В строке ДОПОЛНИТЕЛЬНО надо указать, например, <IP-адрес>;TIMEOUT=<N>;PING_ON;
N- индекс таймаута. Каждому индексу по умолчанию присвоено значение в секундах tcp_modbus_tmout[0]=1; tcp_modbus_tmout[1]=2; tcp_modbus_tmout[2]=5; tcp_modbus_tmout[3]=10; tcp_modbus_tmout[4]=30; tcp_modbus_tmout[5]=60; tcp_modbus_tmout[6]=5; tcp_modbus_tmout[7]=5;
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
Эти настройки следует производить в IDE источники/приёмники? Или нужно отредоктировать файл tcp_modbus? UNIT=1 PORT=502 TCP=10.180.41.201 TMOUT=3 PING_ON; FRMT=DEFAULTСообщения / Posts 44 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Эти настройки надо провести в слое "Источники/Приемники". При проведении процедуры "Сохранить для МРВ" файл tcp_modbus переписывается в соответствии с настройками компонентов слоя "Источники/Приемники".
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
В слое источники, строка ДОПОЛНИТЕЛЬНО можно менять только ПАРАМЕТР и ТИП . К сожалению через IDE не удалось выставить нужные настройки
Сообщения / Posts 44 | Из / From: Россия
| IP / IP: IP адрес / IP address |
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
Спасибо за пояснение. К сожалению в источниках около 2000 каналов Modbus TCP. Скорее мне удобнее работать с конфигурациооным файлом tcp_modbus.
Сообщения / Posts 44 | Из / From: Россия
| IP / IP: IP адрес / IP address |
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
Командой ping смотрю на время отклика. Когда превышен интервал ожидания запроса, смотрю в МРВ канал привязанный к диагностической переменной @e_TCP_ModBus (тип input, параметр 1), равен 6 (ошибка списка), после того как ping востановится канал @e_TCP_ModBus равен 2. Всё это происходит в течении 2-3 сек. Почему не работает TIMEUOT? у меня же выставлено 10 секунд (TMOUT=3) в конфигурационном файле. Почему снова появляются системные сообщения "invalid connect for unit_xx addr=10.180.41.201[502]err=10060:ETIMEOUT"
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
Содержимое текстового файла из папки RTM_1
(12:2:57) INF_LOAD:Starting... Project_1_0 (12:2:57) INF_RTM:Detected RTM NT(6.1) (12:2:57) INF_RTM:Professional TRACE MODE 6 Profiler T-Factory + ver. 6.10.2 ver. 6.10.1 (12:2:57) INF_LOAD:max channel = 65535 (12:2:57) INF_LOAD:Load Channels 3581(1 - 3591) (12:2:57) INF_LOAD:Templates=23 (math=18 sql=0 scr=6 doc=0 pnl=0) (12:2:57) INF_LOAD:Objects = 0 (12:2:57) INF_RTM:Timer=0.005s CalcLoop=50ms (12:2:57) INF_LOAD:LoadTime=0.952s CalcPeriod=50ms (12:2:57) INF_RTM:available(MB): pm=4040 vm=2047; free(MB): pm=662 vm=1918 em=0 after load (12:2:57) INF_RTM:total use(MB): pm=3377 vm=129 after load (12:2:57) INF_RTM:use(MB): pm=18(18) vm=44(44) pf=1 after load (12:2:57) INF_RTM:gh:9 uh:3 hh:111 after load (12:3:8) INF_IP:hostname is my comp-PC (12:3:8) INF_IP:card0 addr=0.0.0.0 (12:3:8) INF_IP:card1 addr=192.168.101.45 (12:3:8) INF_FLT:ModeSwitch at start e15=0000 e18=0000 e20=0000 (12:3:8) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [src4] (12:3:8) INF_RTM:start time is 0.218 s (12:3:8) INF_RTM:total use(MB): pm=3580 vm=361 after start (12:3:8) INF_RTM:use(MB): pm=211(211) vm=211(218) pf=764652 after start (12:3:8) INF_RTM:gh:663 uh:644 hh:271 after start (12:3:8) INF_GRAPH:scr:6:popup=4 scrref=0 trend=4,0 update=1 (12:3:30) INF_RTM:301:invalid connect for unit_xx addr=10.180.41.201[502] err=10060:ETIMEDOUT (12:3:36) INF_RTM:stoping... = 30 (12:3:36) INF_RTM:main clc stop (12:3:36) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [src0] (12:3:37) INF_RTM:stop time is 1.062 s (12:3:37) INF_RTM:number of calculation = 419 (12:3:37) INF_RTM:END OF WORK
Сообщения / Posts 44 | Из / From: Россия
| IP / IP: IP адрес / IP address |
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
не понятно как здесь оказался IP адрес моей рабочей машины (12:3:8) INF_IP:hostname is my comp-PC (12:3:8) INF_IP:card0 addr=0.0.0.0 (12:3:8) INF_IP:card1 addr=192.168.101.45
Изменяли значение TMOUT на 30 секунд. Поэтому строка ниже отображает задержку (12:3:36) INF_RTM:stoping... = 30
Сообщения / Posts 44 | Из / From: Россия
| IP / IP: IP адрес / IP address |
veloledi256
Forum Member / Участник форума
Участник № / Member № 7333
отправлено / posted
Сделано по Вашей рекомендации. В проекте у одного источника изменено поле "Дополнительно" 10.180.41.201:502;TMOUT=3;PING_ON;. После компиляции изменилось содержание файла tcp_modbus UNIT=1 PORT=502 TCP=10.180.41.201 TMOUT=3 THMAIN; FRMT=DEFAULT CSC_OFF IDNT_ON MDBRTU_OFF AUTO_OFF PING_ON FAST_OFF PRIORITY_ON
Сообщения / Posts 44 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Изменения в файле tcp_modbus корректны.
Заданный Вами таймаут касается только ожидания ответа на запрос. Никакого отношения к ошибкам соединения этот параметр не имеет.
Процедуры ping и установления соединения с приложением Modbus-Slave существенно различаются и имеют разную продолжительность. В Trace Mode 6 попытка установления соединения осуществляется 3-кратно. При этом время ожидания составляет примерно 1 мин.
Успешное пингование не является гарантией того, что Modbus-соединение будет установлено в течение заданного таймаута.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |