отправлено / posted
Добрый день! Хотел написать в раздел для коммерческих продуктов, однако там у меня нет прав на создание новой темы(хотя продукт зарегистрировал)....не вполне понятно как получить такой доступ(что где надо пометить или отправить форму, куда?), поэтому пишу здесь...
Есть географически удаленные объекты. На каждом объекте стоит контроллер который при помощи GPRS модема подключается к частной виртуальной сети.Частная сеть организована оператором связи, центральный офис связан с этой частной виртуальной сетью при помощи оптического канала связи. Опрашивать объекты требуется не чаще чем 1 раз в минуту. Пинг до одного из объектов: Обмен пакетами с 10.22.64.2 по 32 байт: Ответ от 10.22.64.2: число байт=32 время=557мс TTL=62 Ответ от 10.22.64.2: число байт=32 время=536мс TTL=62 Ответ от 10.22.64.2: число байт=32 время=555мс TTL=62 Ответ от 10.22.64.2: число байт=32 время=574мс TTL=62
Проблема состоит в следующем.... при возникновении любой нештатной ситуации на линии связи МРВ не восстанавливает подключение к устройству или восстанавливает не в приемлемые сроки. Время восстановления связи с устройством варьируется от 5 минут до 3 часов и не поддается прогнозированию. Причины потери связи различны 1. кратковременное отсутствие электроэнергии на удаленном объекте 2. сбои канала оператора связи 3. сбои в ЛВС
Причем МРВ после потери соединения даже не пытается восстановить соединение с устройством в тайм-ауты указанные в файле конфигурации, что видно по отсутствию трафика между МРВ и контроллером, однако после перезапуска проекта целиком(включая перезапуск МРВ)соединение восстанавливается без проблем.
Что нам предпринять в данной ситуации? Вполне возможно какие-то параметры файла конфигурации неверны, какие?
Сообщения / Posts 6 | Из / From: РФ
| IP / IP: IP адрес / IP address |
отправлено / posted
Надо запустить профайлер с ключом DEBUG=400 и посмотреть, какие коды ошибок по сети регистрируются.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
запустил, получил файл содержащий вот это (11:24:40) INF_LOAD:Starting... ЦДП_ГРП_0 (11:24:40) INF_RTM:Detected NT5.RTM 5.1 (11:24:40) ._.:Professional TRACE MODE 6 Profiler ver. 6.06.3 (11:24:40) INF_LOAD:Load Channels = 23 (11:24:40) INF_LOAD:Templates=7 (11:24:40) INF_LOAD:Objects = 3 (11:24:40) INF_RTM:Timer=0.1s CalcLoop=1000ms (11:24:40) WRN_DDE:Не удается связать службу диспетчера общих баз данных (DSDM) (11:24:40) INF_RTM:ModBus-IN P на входе в ГРП : IP=10.22.64.2 UNIT=1 CMD=3 CH=0001 Q=3 (11:24:40) INF_RTM:ModBus-IN Pна выходе из ГРП : IP=10.22.64.2 UNIT=1 CMD=3 CH=0002 Q=2 (11:24:40) INF_RTM:ModBus-IN dP после фильтра : IP=10.22.64.2 UNIT=1 CMD=3 CH=0003 Q=1 (11:24:40) INF_RTM:ModBus-IN T в помещении ГРП : IP=10.22.64.2 UNIT=1 CMD=3 CH=0004 Q=0 (11:24:40) INF_RTM:ModBus-IN Геркон двери : IP=10.22.64.2 UNIT=1 CMD=3 CH=0009 Q=0 (11:24:46) INF_RTM:start time is 1.734 s (11:24:46) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0] (11:24:46) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-0] (11:43:24) INF_RTM:stoping... (11:43:25) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-0] (11:43:25) INF_IP:as=0 ls=0 ir=0 ( max_Q=2 (11:43:25) INF_TCP:TCP_Loop =0(0)(0) (11:43:25) INF_RTM:stop time is 4.766 s (11:43:25) INF_RTM:number of calculation = 1116 (11:43:25) ._.:END OF WORK
может быть я плохо объяснил? дело не в ошибках сети, они были есть и будут... дело в том что МРВ не восстанавливает подключение после сбоя. распишу по шагам 1. включил профайлер, запустил проект. дал поработать минут 5, все в порядке 2. имитирую сбой сети, а именно выдергиваю патч корд из свитча по которому на свитч приходит сеть, при этом аналоговые сигналы становятся недостоверными, а дискретные продолжают оставаться достоверными 3.Аська тоже говорит что коннекта нет и отваливается 4. включаю патч корд обратно, аська спустя минуту восстанавливает соединение 5. Профайлер молчит, все каналы остаются без изменений.
Я насколько понимаю МРВ должен восстанавливать соединение согласно интервалам переменной ERROR файла конфигурации, но этого не происходит.
изменил файл конфигурации теперь он выглядит так ;502 Port 90000 RECTIMEOUT 400 TIMEOUT 30000 ERROR 100000 OFFCOUNT 60000 TMDICONN 1 10.22.64.2
причем собственно не надо все это делать... достаточно запустить МРВ с проектом , затем сделать останов, а потом снова пуск ВСЕ. МРВ больше не соединяется с контроллером, помогает только полный перезапуск МРВ.
Сообщения / Posts 6 | Из / From: РФ
| IP / IP: IP адрес / IP address |
v.cherepovich
Junior Member / Новичок
Участник № / Member № 5325
отправлено / posted
Очень жаль что ветка не достигла логического завершения. У нас имеет место аналогичная сложность. Такое чувство что ключи в файле ip_modbus не реагируют на настройки проекта. Тех. поддержка дала ответ "согласно документации, настраивается по - новому в последнем релизе 6.07.7" а в самой документации указано по - старому. Как же это понимать?
Сообщения / Posts 1 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
В приведенном Вами протоколе версия 6.063. Текущая 6.077;
старт-стоп-старт без выхода в ОС не всегда корректна и техподдержка многим не рекомендует использовать такую возможность;
есть два сокета один на стороне контроллера другой на стороне ТМ-> становлено соединение->идет обмен-> "обрываем провод"-> обмена нет когда будет уничтожено соединение?
В TM6 : DISCONNxx=<значение в секундах> уничтожить соединение после сбоя через TCP_DIFCONNxx=<значение в секундах> установить соединение после неуспешного через
xx= номер протокола(например ModBus 09,Mitsubishi-11)
когда будет уничтожено соединение в контроллере? Mitsubishi c прошивкой 4-х летний давности: либо корректное завершение соединения либо перезагрузка контроллере пибо соединение с другого адреса/порта Японцы оперативно поправили
Отладка в TM6 нужна для того чтобы посмотреть коды сетевых ошибок техподдержке или ставьте диагностический канал и фиксируйте ошибки сами
Сообщения / Posts 873 | Из / From: Россия
| IP / IP: IP адрес / IP address |