This is topic Увеличить время ожидания ответа по протоколу tcp modbus in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


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

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

Просьба обясните как правильно составить файл конфигурации
Дело в том, что на объекте пакеты проходят с большой задержкой по сети. Использую протокол связи TCP_ModBus

Сейчас содержание конфигурационного файла tcp_modbus выглядеть так
UNIT=1
PORT=502
TCP=10.180.41.201
TMOUT=0
THMAIN;
FRMT=DEFAULT


Нам нужно увеличить время ожидания ответа к примеру на 10 секунд, какое значение указать для ключа TMOUT?
В справке есть ещё такой ключ PING_ON , как его правильно указать в списке ключей
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В строке ДОПОЛНИТЕЛЬНО надо указать, например,
<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;

Для задания 10 сек. надо написать
TIMEOUT=3;
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Эти настройки следует производить в IDE источники/приёмники? Или нужно отредоктировать файл tcp_modbus?
UNIT=1
PORT=502
TCP=10.180.41.201
TMOUT=3
PING_ON;
FRMT=DEFAULT

 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Эти настройки надо провести в слое "Источники/Приемники".
При проведении процедуры "Сохранить для МРВ" файл tcp_modbus переписывается в соответствии с настройками компонентов слоя "Источники/Приемники".
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
В слое источники, строка ДОПОЛНИТЕЛЬНО можно менять только ПАРАМЕТР и ТИП [Неодобрение / Frown] . К сожалению через IDE не удалось выставить нужные настройки
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Строка ДОПОЛНИТЕЛЬНО в "Источниках Modbus TCP" называется "IP-адрес".
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Спасибо за пояснение. К сожалению в источниках около 2000 каналов Modbus TCP. Скорее мне удобнее работать с конфигурациооным файлом tcp_modbus.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Ключи TMOUT=3;PING_ON; достаточно вписать в строку "IP-адрес" только одного "Источника" для каждого Modbus-устройства.

Например,
10.180.41.201;TMOUT=3;PING_ON;
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Командой 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"

Мне бы просто зафиксировать есть ли пинг по адресу 10.180.41.201
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Содержимое текстового файла из папки 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
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
не понятно как здесь оказался 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
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Сделано по Вашей рекомендации. В проекте у одного источника изменено поле "Дополнительно" 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
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Изменения в файле tcp_modbus корректны.

Заданный Вами таймаут касается только ожидания ответа на запрос. Никакого отношения к ошибкам соединения этот параметр не имеет.

Процедуры ping и установления соединения с приложением Modbus-Slave существенно различаются и имеют разную продолжительность.
В Trace Mode 6 попытка установления соединения осуществляется 3-кратно. При этом время ожидания составляет примерно 1 мин.

Успешное пингование не является гарантией того, что Modbus-соединение будет установлено в течение заданного таймаута.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2