Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Время восстановления связи после обрыва

   
Автор / Author Тема / Topic: Время восстановления связи после обрыва
LepreconSTR
Junior Member / Новичок
Участник № / Member № 7367


Icon 1 отправлено / posted      Профиль для / Profile for LepreconSTR           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В процессе разработки проекта возникло пара вопросов касательно таймаутов Modbus TCP:
1. При отсутствии ответа от устройства, повторный запрос посылается не ранее чем чем через 1 секунд.
В документации описан ключ TMOUT, который регулирует длительность таймаута для RTU подключения, но для Modbus TCP это выбор типа таймаута. Что это за типы? Можно ли задать время таймаута меньше секунды?

2.При потере связи с устройством МРВ достаточно долго не восстанавливает связь с устройством, хотя на самом деле она уже есть. При кратковременно обрыве связь восстаналивается через 10-15 секунд. При долговременном дисконнекте, попытка восстановить связь предпринимается примерно раз в минуту, что достаточно критично для проекта.
Можно ли увеличить частоту запросов соединения с устройством после обрыва.?
Пробовал различные комбинации ключей согласно документации и того, что вычитал на форуме, но так и не удалось заставить МРВ чаще долбиться в сеть в надежде ответа.
Лог в момент обрыва содержит строку
ERR_TCP:p9 recieve zero bytes from 192.168.ХХ.ХХ:502

Версия IDE 6.10 PRO , МРВ 6.10

Сообщения / Posts 8 | Из / From: RU  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. TMOUT – индекс таймаута для использования. Таймауты задаются в CNF-файле с помощью ключа MDB_TMOUT_SEC<x>=<число секунд> (x=0-7 – индекс таймаута). Значения таймаутов по умолчанию:
a. tcp_modbus_tmout[0]=1;
b. tcp_modbus_tmout[1]=2;
c. tcp_modbus_tmout[2]=5;
d. tcp_modbus_tmout[3]=10;
e. tcp_modbus_tmout[4]=30;
f. tcp_modbus_tmout[5]=60;
g. tcp_modbus_tmout[6]=5;
h. tcp_modbus_tmout[7]=5;

2. "Управление и диагностика обмена":
"...
Для контроля и управления обменом по встроенным протоколам предусмотрены следующие ключи в файле *.cnf:
...
TCP_DIFCONN<nn>=<число секунд> – таймаут переподключения. В случае ошибки соединения попытка подключения предпринимается спустя время, заданное данным ключом (значение по умолчанию – 30с, nn – номер протокола);

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

"

Для Modbus TCP номер протокола 09.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
LepreconSTR
Junior Member / Новичок
Участник № / Member № 7367


Icon 1 отправлено / posted      Профиль для / Profile for LepreconSTR           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за развернутый ответ.
Спасибо за ответ касательно изменения значения времени индексов таймаутов, этого я не знал.
Но опять же все значения касающиеся как таймаутов так и разрыва сессии задаются кратные секундам, а секунда в проекте достаточно большой отрезок времени.
В нормальном режиме работы количество пакетов для обмена составляет около 20 за 200 мс, т.е. за секунду в среднем проходит около 100 пакетов.
и в случае пропадания связи с устройством весь обмен задерживается на как минимум на секунду, а то и более (5-10 секунд).
Изначально все устройства работали в одном потоке THMAIN и отсутствие ответа от одного устройства означало остановку опроса всех устройств до истечения таймаута, но затем устройства были разделены по потокам ключами TH14 и TH15.

Вопросы:
1.Можно ли выставить таймаут модбаса менее 1 секунды?

2.Не предусмотрено ли средства отображения в МРВ\профайлере задействованных ключей из файла *.cnf? Не всегда очевидно работает ли данный ключ или нет.

3.Не могли бы вы подсказать ключи дебага, благодаря которым в протоколе было бы видно работу ключей TCP_DIFCONN и TCP_DISCONN. Пробовал различные ключи отладки сети, но не увидел сообщений касающихся переподключения\разрыва соединения. Сейчас для анализа обмена используется wireshark, но хотелось бы посмотреть и на встроенные средства отладки сетевого обмена.

4.Не могли бы вы разъяснить необходимо ли ставить символ ";" после ключа в файле *.cnf. Согласно справки символ не требуется, но к примеру после компиляции проекта после ключа THMAIN символ ";" стоит.


Немного не по теме но все же задам еще парочку вопросов, дабы не плодить темы.

5.Существует ли возможно из ГЭ ОТ убрать\скрыть столбец отображающий названия каналов?
Даже при минимальном размере столбца часть первого символа названия канала отображается в ОТ. Учитывая что названия каналов это сугубо служебные значения и оператору совсем не обязательно их знать и наблюдать за ними. Есть возможность скрывать кодировку канала, а вот возможность скрыть столбец именно с именем канала не обнаружена.

6.Вопрос касательно лицензии. Есть проект разработанный в версии 6.10 PRO. Некоторое время назад была приобретена МРВ для этого проекта тоже версии 6.10, все работало без проблем. Но недавно была приобретены еще несколько лицензий МРВ версии 6.10.2 и на новых лицензиях не запускается проект МРВ (6.10) при попытке открытия вылетает ошибка, если не ошибаюсь с кодом -13. Если же перевести проект на версию 6.10.2 то все открывается.
Теперь приходится вести одновременно два одинаковых проекта в разных версиях (отлаженная и гарантированно работоспособная 6.10 и новая в версии 6.10.2)
Вопрос: Я так понимаю нельзя открывать проекты в версии ниже чем указано на ключе?

Сообщения / Posts 8 | Из / From: RU  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Нет.

2. Нет.

3. Ключи TCP_DIFCONN и TCP_DISCONN работают только при разрыве/восстановлении соединения, т.е. в тех случаях, если возникают проблемы с сетевыми процедурами.
Отсутствие ответа от подключенного устройства за время, превышающее заданный таймаут ожидания ответа, приводит к прерыванию транзакции, но не приводит к разрыву соединения.
Фиксировать сетевые ошибки процедуры создания и разрыва соединений можно, задав в файле *.cnf ключ
DEBUGON=70000400

4. В файле *.cnf символ ";" может ставиться только в начале строки и указывается, что эта строка является комментарием и не исполняется.
Ключ THMAIN находится только в файле tcp_modbus.
Формат файла задан в IDE и изменен быть не может.

5. Такой возможности нет.

6. Лицензионные ключи инвариантны к номеру релиза. Все ключи, которые работали, в релизе 6.10 и ключи, приобретенные с ПО релиза 6.10.2, работают с проектами любых релизов.
МРВ и профайлер ПО релиза 6.10.2 не может работать с узлом, который компилирован в IDE более раннего релиза. Выдается сообщение об ошибке -11.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2