This is topic Modbus TCP/IP зависает МРВ 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/000175.html

Posted by veloledi256 (Участник № / Member № 7333) on :
 
Добрый день.
В проекте использую каналы Modbus TCP/IP. Столкнулись с проблемой плохой связи по сети на объекте, в следствии чего зависает МРВ, часто появляется системное сообщение invalid connect for unit_XX addr=10.180.41.201[502]err=10060:ETIMEDOUT. Ситуацию с каналом связи мне не изменить [duno / незнайка] .
Можно ли увеличить время опроса каналов в Trace Mode? Что ещё можно предпринять, что бы МРВ не зависало [Недоумение / Confused] ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
МРВ не зависает.
Прерывается обмен с устройством по причине плохого канала связи.

Правильным решением является принятие мер для повышения качества канала связи.

Увеличить период обращения к Modbus-устройству можно заданием периода обработки соответствующих каналов обмена.

Можно попробовать увеличить таймауты в процедурах разрыва/восстановления соединения.
Для этого в файле конфигурирования запуска узла *.cnf задать ключи

TCP_DIFCONN<nn>=<число секунд> – таймаут переподключения. В случае ошибки соединения попытка подключения предпринимается спустя время, заданное данным ключом (значение по умолчанию – 30с, nn – номер протокола);

TCP_DISCONN<nn>=<число секунд> – таймаут разрыва соединения. Если в ходе нормального обмена с устройством наступает момент, когда не проходит посылка, то сокет не уничтожается, а в течение времени, заданного данным ключом, примерно 1 раз в 10с предпринимается попытка повторной отправки посылки. Если отправить посылку не удается, по истечении таймаута сокет уничтожается. Значение данного таймаута по умолчанию – 0, что соответствует уничтожению сокета через 1 минуту;

Номер протокола Modbus TCP равен 09.
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
В папке RTM_1 нет файла .cnf, как его добавить?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
См. раздел "Приложения/Задание параметров работы мониторов".
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Как правильно именовать файл TMcom_<ordinal>.cnf?
У нас МРВ версии 6.10.2
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
TMcom_xx.cnf
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
По Вашей рекомендации создан и добавлен в папку узла RTM_1 файл TMcom_1.cnf, содержащий строки:
TCP_DIFCONN<09>=<30>
TCP_DISCONN<nn>=<10>
END_OF_CNF

Не знаю можно ли два ключа писать в одном файле, правильно я понимаю, что время в кавычках измеряется в секундах?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
TMcom_1.cnf - если номер узла в проекте равен 1.

DEBUGON=70000400
TCP_DIFCONN09=30
TCP_DISCONN09=10
END_OF_CNF
<пустая строка>

Ключ DEBUGON позволит в профайлерном протоколе увидеть ошибки сетевого обмена.
Время в таймаутах задается в секундах.
Ключи действуют независимо, друг другу не мешают.
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Чему равен параметр DEBUGON=70000400?
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Это сброс битов, или это время? не понятно, что эта за число
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
DEBUGON - ключ, задающий объем диагностики, отображаемой в профайлерном протоколе.
Он описан в разделе "Приложения/Задание параметров работы мониторов".

Заданное значение ключа позволяет описать процесс загрузки узла и продиагностировать процедуры сетевого обмена.

Профайлерный протокол лежит в папке узла.
Имя файла <имя файла *.dbb>.txt
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Спасибо Вам за пояснение. В понедельник увидим результат
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Спустя сутки после создания файла .cnf и перезапуска проекта, МРВ предлагает закрыть окно в аварийном режиме. Содержание файла конфигурирования
DEBUGON=70000400
TCP_DIFCONN<09>=<30>
TCP_DISCONN<09>=<10>
END_OF_CNF

содержание файла профайлерного протокола
(16:50:43) INF_RTM:301:invalid connect for unit_xx addr=10.180.41.201[502] err=10060:ETIMEDOUT
(20:55:4) INF_RTM:301:invalid connect for unit_xx addr=10.180.41.201[502] err=10060:ETIMEDOUT
 
Posted by veloledi256 (Участник № / Member № 7333) on :
 
Вижу свою ошибку, надо было убрать ковычки.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2