Проблема с считыванием данных по Modbus |
Ответить | Страница 12> |
Автор | |
Новичок Присоединился: 12 Февраль 2013 Online Status: Offline Публикации: 5 |
Опубликовано: 12 Февраль 2013 16:51 |
Здравствуйте.
Поставлена задача считать данные из счетчиков электроэнергии производства фирмы "Эльстер-Метроника" Альфа1805 контроллером AllenBreadley RSLogix5000 по протоколу Modbas RTU. Связь контроллера со счетчиком установлена. Но из заявленных в карте регистров счетчика 59 регистров считываются только 40. При попытке считать регистры, начиная с 41, модуль связи с модбас(MVI56E-MCMR фирмы Prosoft) выдает ошибку "Protokol Error" и счетчик снова посылает 40 регистров, начиная с первого. Кажется, что информация начиная с 41 слова или лежит в запретной зоне, или защищена паролем, или должна быть считана с помощью другого протокола(например, Modbus ANSI), но тех.поддержка производителей счетчиков утверждает, что ничего такого не может быть. Счетчик с завода, настройка счетчиков не производилась и свои пароли никто не устанавливал. Помогите!!! После 41 слова лежит самая нужная информация по учету отданной и полученной энергии. |
|
Действительный член Присоединился: 27 Июль 2006 Online Status: Offline Публикации: 304 |
|
"При попытке считать регистры, начиная с 41, модуль связи с
модбас(MVI56E-MCMR фирмы Prosoft) выдает ошибку "Protokol Error" и
счетчик снова посылает 40 регистров, начиная с первого. "
По сколько регистров вы запрашиваете за один раз? Возможно, ваш модуль связи с модбас сначала запрашивает 40 регистров, начиная с первого. Следующий запрос - тоже 40 регистров, начиная с 41-го, но данные идут только до 59-го регистра (то есть, максимум можно запросить 19 регистров). В результате, счетчик возвращает исключение Modbus, и опрос продолжается, начиная с 1-го регистра. Лучше всего в такой ситуации запустить какой-нибудь сниффер последовательного интерфейса и посмотреть, какие посылки гуляют в линии. |
|
Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как. |
|
Новичок Присоединился: 12 Февраль 2013 Online Status: Offline Публикации: 5 |
|
Сейчас модуль настроен чтобы считывать с 0 слова только 40 слов. Пробовала настроить вторую посылку так чтобы считывать с 41 слова 18 или 19 слов. Когда модуль настроен на 2 посылки, на вторую посылку счетчик выдает первые 40 слов. Если настроить модуль так, чтобы была одна посылка с 41 по 59 слово. Никаких данных нет вообще.
|
|
Действительный член Присоединился: 27 Июль 2006 Online Status: Offline Публикации: 304 |
|
"Когда модуль настроен на 2 посылки, на вторую посылку счетчик выдает первые 40 слов. "
Как это понимать? Какая-то такая последовательность: Запрос 1: 40 регистров, начиная с 1го. Результат: счетчик возвращает первые 40 регистров. Запрос 2: 19 регистров, начиная с 41го. Результат: те же самые первые 40 регистров. "Если настроить модуль так, чтобы была одна посылка с 41 по 59 слово. Никаких данных нет вообще. " А "Protocol error" есть? А если запросить один регистр, начиная с 41го, данные есть? Пробовали опрашивать счетчик с любого другого мастера протокола ModbusRTU (какая-нибудь СКАДА, HMI-панель, OPC-сервер)? |
|
Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как. |
|
Новичок Присоединился: 12 Февраль 2013 Online Status: Offline Публикации: 5 |
|
"Как это понимать? Какая-то такая последовательность:
Запрос 1: 40 регистров, начиная с 1го. Результат: счетчик возвращает первые 40 регистров. Запрос 2: 19 регистров, начиная с 41го. Результат: те же самые первые 40 регистров." Да, именно такая последовательность. "А "Protocol error" есть? А если запросить один регистр, начиная с 41го, данные есть? Пробовали опрашивать счетчик с любого другого мастера протокола ModbusRTU (какая-нибудь СКАДА, HMI-панель, OPC-сервер)?" да именно так. если запросить 1 регистр с 41го, тоже самое, данных нет. Объект спроектирован так, что считать можно только контроллером. HMI-панель нет в наличии, на СКАДУ данные передаются через контроллер, OPC-сервером не пробовала. |
|
Действительный член Присоединился: 27 Июль 2006 Online Status: Offline Публикации: 304 |
|
Что-то не сходится. В одном случае при запросе 19 регистров начиная с 41го вы получаете не те регистры, в добавок и в количестве, отличном от запрошенного. В другом случае, при запросе единственного 41го регистра вы получаете Protocol error. Боюсь, без фиксации происходящего в последовательном интерфейсе разобраться не получится.
Возьмите любую программу, способную отображать передаваемую в последовательном интерфейсе информацию в шестнадцатеричном виде, либо программу-сниффер Modbus RTU и приведите здесь пары "запрос" - "ответ" для случаев: 1. когда вы делаете 2 разных запроса ( 40 регистров, начиная с 1го, и 19 регистров, начиная с 41го); 2. когда делаете одиночный запрос 41го регистра. Без этой информации можно только гадать на кофейной гуще. |
|
Теория - это когда все знаешь, но ничего не работает.
Практика - это когда все работает, но никто не знает как. |
|
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
|
Неясна суть проблемы .. В инструкции к прибору много говорится о защите доступа, мол просто так данные не считаешь - только спец. программой и т.д. А как вы пытаетесь прочесть данные ? Еще промелькнула фраза - ".. Объект спроектирован так, что считать можно только контроллером .." - каким таким контроллером ? С уважением, SAN |
|
Новичок Присоединился: 12 Февраль 2013 Online Status: Offline Публикации: 5 |
|
для MuadDib: я не делала запроса 1 регистра с 41 регистра, только 19 реистров, в сообщении опечатка:)
для sanwork: счетчики А1805 имеют на борту порт для связи c ними по modbus. да, в этих приборах доступ к данным можно запорлить, но как я писала в своем первом сообщении, счетчики с завода и пароли там никакие сейчас не установлены. В моем первом сообщении написано, что данные я пытаюсь считать контроллером AllenBreadley RSLogix5000(если конктрено 1756-L72) с модулями MVI56E-MCMR фирмы Prosoft. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
|
Надо конечно смотреть отдельно внешним компьютором. Что там уходит и что там приходит. Словам техподдержки верить нельзя. Считаем что они ничего не сказали. Надеяться на отсутствие пароля - нельзя. Никто не знает что стоит там на самом деле. Поведение прибора при установленном пароле тоже мало кто знает, даже разработчик может не сказать не посмотрев.
Если не хотите терять время без результата, надо подключиться к прибору внешним компьютором. Комп-> преобразователь интерефейса RS 485 или USB в 485 и смотреть терминалом модбасовским или своей программкой что ушло и что пришло.
Выше уже указали, что количество регистров, которые можно спросить за раз, может быть ограничено. Система команд прибора может быть с особенностями и ошибками(могут годами так выпускать или может появиться после очередной ревизии ПО). На слово никому не верьте. Техподдержка может давать советы не соответствующие действительности. Если есть такая конструктивная особенность , как защита данных, то поведение прибора при этом надо исследовать. Мешать в кучу RTU и ASCII нормальный разработчик не будет, хотя есть прециденты у известных фирм, когда они такие чуды-юды танут годами в производстве.
Как только вы увидете лог того, что уходит и что приходит - все встанет на свои места. Может быть даже попробовать перехватывать то что происходит на линии. В линию преобразователь интерфейса и слушаем, что в линии другим компьютором.
|
|
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
|
Действительный член Присоединился: 11 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 392 |
|
На любой объект, если только на нем двери не замурованы и на шкафу со счетчиком не висит амбарный замок, можно приехать с ноутом, на котором стоит ОРС сервер Модбас и интерфейсом 485 и почитать со счетчика на прямую, если со счетчика все идет как надо, то проблема в контроллере (проге), если нет, то ковырять счетчик, может сервисной утилитой, какие то параметры поднастроить, ну и т.д.
|
|
Ответить | Страница 12> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |