This is topic Проблемы с ADAM 6060 in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.


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

Posted by Konstantin (Участник № / Member № 833) on :
 
Подскажите, пожалуйста, с чем может быть связана следующая ситуация. Имеется два контроллера ADAM 6060 с разными IP адресами. С помощью двух каналов подтипа Modbus(Rin Byte(2)) пытаемся получить с каждого контроллера байт состояний его дискретных входов(DI). Каналы имеют следующие настройки: #RS=0, ADDR=00 и 01, CH=0000, TYPE=TCP, Q=0.
Проблема в следующем: если оба контроллера включены, то значения с них получаем нормально, если же один из них выключается, то и с другого контроллера тут же перестаем получать значение. Обработка в каналах следующая: на каждом цикле пересчета во вход поступает значение с контроллера, а затем вход с помощью программы трансляции обнуляется, т.е. то, что значение с контроллера перестает поступать, видно довольно наглядно. При этом изредка (примерно раз в минуту) значение все же приходит. Как только связь с первым контроллером востанавливается, то и со второго тоже начинает приходить "искомое" значение. Подскажите, в чем дело, может я что-то напутал с настройками?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) А при выключеном одном из них атрибут Достоверность на обоих каналах 1 или только на одном?
2) Запустите под Профайлером в инструменталке и посмотрите в лог-файле проекта - какие записи пишет сервер, когда Вы отключаете один из модулей?
3) Какой релиз ТМ изпользуете?
 
Posted by Konstantin (Участник № / Member № 833) on :
 
1. Довольно странно, но атрибуты "достоверность" каналов при выключении любого из контроллеров не изменяются и остаются нулевыми
2. В логе, при выключении любого контроллера появляется запись "TCP: Modbus error = -7", и далее, с периодичностью около полминуты, появляются записи "TCP: Modbus error = -4", до тех пор, пока контроллер опять не будет включен. При включении контроллера в лог ничего не заносится.
3. Используем релиз 5.12

Вообще говоря, есть ощущение, что при отключении ADAM, МРВ некоторое время пытается получить с него значение, и в течении этого времени другой контроллер просто не опрашивается. Затем, когда таймаут истекает, один раз проходит значение с включенного контроллера и затем все повторяется вновь.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Попробуйте новый 5.15. В нем были внесены исправления по ModBus TCP, в частности - по диагностике достоверности и самому обмену.
Может это поможет прояснить ситуацию.
 
Posted by Konstantin (Участник № / Member № 833) on :
 
Ситуация несколько прояснилась. Если АСУТП построена с помощью устройств обменивающихся по ModBus TCP, и одно из устройств вышло из строя - обмен всех устройсв с MPB останавливается. Не подскажите как нам сдать объект в опытную эксплуатацию? Ставить новый релиз на прект мягко говоря боязно. Может у вас есть обновленная библиотека modbus.dll ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Отделаться просто dll-кой не получится, потому как там изменения и в самом Drawser.exe были. Все же рекомендую попробовать 5.15, но не на объекте, а хотябы просто как тестовый проект с двумя модулями.
И еще - какой у Вас таймаут задан в настройках обмена по ModBus TCP в конфигурационном файле? Может в нем все дело, ведь связь по ModBus TCP несмотря на Ethernet все же полудуплексная?
 
Posted by Konstantin (Участник № / Member № 833) on :
 
Конфигурационный файл о котором Вы упоминаете, это ip_modbus? О других конфигурационных файлах мы не знаем...Если он есть, укажите пожалуйста имя и путь, и желательно ссылку на документацию.
Где скачать DrawServ релиза 5.15 ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Вообще-то Вы этот файл сами должны были вручную создать! А Вы его не создавали?
Релиз 5.15 есть на нашем сайте в разделе "Техподдержка".
 
Posted by Konstantin (Участник № / Member № 833) on :
 
Разумеется создали. Данный файл (ip_modbus) содержит привязки ip-адресов к номеру. И это все, что говорит документация по поводу его содержимого. Если есть возможность указать таймаут
- будте любезны сообщите где и как, т.к. в документации по этому поводу ничего не нашли.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В указанном файле IP_Modbus также могут присутствовать строки:

произвольное_число CSC
отработка пакетов ответа от контроллеров, формирующих контрольную сумму в фрагменте Modbus пакета Modbus/TCP (по стандарту в части пакета TCP, отведенного под Modbus, контрольная сумма не формируется).

Пример: 2 CSC

число_в_формате_hex PORT
задание номера порта для обмена.

Пример: 1F6 PORT - обмен по порту 502

число TIMEOUT
величина (в миллисекундах) ожидания ответа от контроллера на запрос получения данных.

Пример: 200 TIMEOUT


Однако - все это работает только для ТМ5.15. Пришлите пожалуйста на E-mail адрес техподдержки письмо, мы вышлем Вам необходимые файлы релиза 5.15.
 
Posted by ATMosphere (Участник № / Member № 115) on :
 
Абсолютно такая же проблема с Modbus TCP.

Скачали 5.15 - ничего не помогло:
- не формируется флаг достоверности
- значительно замедляется обмен с работающим устройством при выключении другого участника обмена.

В IP_modBus:
1 192.168.0.200
2 192.168.0.79

5 TIMEOUT

Т.е. система функционирует только в том случае, когда все узлы работают и с ними есть связь. Стоит лишь любой из узлов выключить или сэмулировать обрыв сети - система перестает функционировать.
Что делать?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Давайте переведем эту тему сюда:
http://forum.adastra.ru/ubb/ultimatebb.php?ubb=get_topic;f=15;t=000063;p=1#000003
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2