Просмотр полной версии : Овен 210-04. Ошибка mb 02.
Добрый день.
Столкнулись с проблемой возврата ошибки modbus 02 (0x02) Illegal data address.
Проблема в том что считываем 2 регистра который точно существуют и хранит в себе значения и данные считываются. Но периодически возвращается ошибка 02.
Возможно кто то уже получал подобную проблему.
Связь стабильна. При прямом физ. подключение получаем такую же проблему.
Меняли ПО для опроса. ModScan выдает что есть ошибка. Scada сообщает о ошибке. (К сожалению скада и модскан не могут показывать коды ошибок, пришлось цеплятся modbus poll)
Проблема присутствует на все функциях опроса 01 02 03 04. ( При считывание 0 регистра контроллера).
МихаилГл
10.04.2024, 10:54
Добрый день.
Столкнулись с проблемой возврата ошибки modbus 02 (0x02) Illegal data address.
Проблема в том что считываем 2 регистра который точно существуют и хранит в себе значения и данные считываются. Но периодически возвращается ошибка 02.
Возможно кто то уже получал подобную проблему.
Связь стабильна. При прямом физ. подключение получаем такую же проблему.
Меняли ПО для опроса. ModScan выдает что есть ошибка. Scada сообщает о ошибке. (К сожалению скада и модскан не могут показывать коды ошибок, пришлось цеплятся modbus poll)
Проблема присутствует на все функциях опроса 01 02 03 04. ( При считывание 0 регистра контроллера).
Нужен скрин организации модбас сервера на ПЛК, возможно что то забыли.
PS Функции 01, 02 и 03 это разве для регистров? С 03 это я наврал...
Нужен скрин организации модбас сервера на ПЛК, возможно что то забыли.
PS Функции 01, 02 и 03 это разве для регистров? С 03 это я наврал...
01, 02 да не для регистров тут я ошибся. Проверили все функции опросов.
МихаилГл
10.04.2024, 11:09
01, 02 да не для регистров тут я ошибся. Проверили все функции опросов.
Эти функции будут работать только когда вы в кодесисе вы ставите галочку: объединить адресное пространство. Вроде так это там звучит. В отпуске пишу по памяти...
Нужна скрины.
А с 1го адреса не пробовали читать? Такое бывает, забывают про смещение, или производители ПО про это умалчивают, но для протокола модбас это стандартно...
Эти функции будут работать только когда вы в кодесисе вы ставите галочку: объединить адресное пространство. Вроде так это там звучит. В отпуске пишу по памяти...
Нужна скрины.
А с 1го адреса не пробовали читать? Такое бывает, забывают про смещение, или производители ПО про это умалчивают, но для протокола модбас это стандартно...
Да было учтено что может быть смещение. Примеру брали с 1 по 10 регистр. Проблема идентична.
Отойдем от функции 1 и 2. В данный момент сканируем через функции 3 и 4. Периодами проходит ошибка 02.
Коллеги подсказывают что помогала перезагрузка ПЛК, но проблема появилась через некоторое время.
На счет модбус сервера может подсказать примерно расположение раздела проекта где смотреть?
МихаилГл
10.04.2024, 11:21
Да было учтено что может быть смещение. Примеру брали с 1 по 10 регистр. Проблема идентична.
Отойдем от функции 1 и 2. В данный момент сканируем через функции 3 и 4. Периодами проходит ошибка 02.
Коллеги подсказывают что помогала перезагрузка ПЛК, но проблема появилась через некоторое время.
На счет модбус сервера может подсказать примерно расположение раздела проекта где смотреть?
В левом окне дерева проекта есть ветви модбас ТСР, или модбас рту. Должны быть.
МихаилГл
10.04.2024, 11:23
Ошибка, кстати, это не ошибка чтения, а ошибка в читаемом адресе. Говорит что такого адреса в модбас устройстве нет. Если там всего 1 регистр, то запрашивать 1...10 нельзя, как раз это и выскочит. Запрашивайте только тот, что есть.
МихаилГл
10.04.2024, 11:27
https://help.campbellsci.com/CR1000X/Content/shared/Communication/Modbus/modbus-troubleshoot.htm?TocPath=Communications%20protocol s%7CModbus%20communications%7C_____8
МихаилГл
10.04.2024, 11:33
Михаил, остановитесь, Вам же Cs-Cs написал, что не разобравшись не отвечайте. ТС получает ~80.0 но иногда приходит ошибка, причем тут смещение причем тут какие функции не работают.
При этом Cs-Cs сам так делает.
ТС пишет, читаем 1 регистр, потом появляется 1...10. Я сразу написал, дайте скрин организации сервера. Всё верно. Дальше мы просто общаемся, по принципу вопрос-ответ... Всё норм.
При этом Cs-Cs сам так делает.
ТС пишет, читаем 1 регистр, потом появляется 1...10. Я сразу написал, дайте скрин организации сервера. Всё верно. Дальше мы просто общаемся, по принципу вопрос-ответ... Всё норм.
Так похоже я всех запутал. Давайте попробую заново показать.
Есть регистры в области памяти 40184..40203 которые точно содержат некие данные (крин 1 данные в десятичной системе ). Мы их считываем видим данные но на некоторый момент опроса происходит возврат ошибки 02.
Второй скрин покажу тот же кусок памяти в float, значения есть. (Скрин 2)
Так же происходит с областью 30114..30133. (Скрин 4).
В верхнем левом углу вы можете наглядно посмотреть число общих передач, и число возращенных ошибок с кодом 02.
Михаил, остановитесь, Вам же Cs-Cs написал, что не разобравшись не отвечайте. ТС получает ~80.0 но иногда приходит ошибка, причем тут смещение причем тут какие функции не работают.
Я бы перешел на программный слейв, чтоб разделить аппаратная проблема контроллера или помехи на линии, не смотря на ТСР
Предлагаете на стороне объекта включить софт верный имитатор модбус сервера?
МихаилГл
10.04.2024, 13:51
А полученные данные соответствуют действительности?
Просто я прошу именно регистры какие на стороне ПЛК, так как возможно из-за этого смещения на 1 вы действительно читаете не те данные, и они в какой-то момент получают невозможные значения, Из-за чего клиент считает это за ошибку адресации.
В кодесис 3.5 ещё и версия этого кодесиса влияет на порядок слов в регистрах. Просто надо видеть не только сторону клиента, но и что в этот момент творится на сервере. Я сомневаюсь, что это из-за приехал в линии. Хотя возможно и такое.
PS не приехал, а помех...
МихаилГл
10.04.2024, 14:00
Так похоже я всех запутал. Давайте попробую заново показать.
Есть регистры в области памяти 40184..40203 которые точно содержат некие данные (крин 1 данные в десятичной системе ). Мы их считываем видим данные но на некоторый момент опроса происходит возврат ошибки 02.
Второй скрин покажу тот же кусок памяти в float, значения есть. (Скрин 2)
Так же происходит с областью 30114..30133. (Скрин 4).
В верхнем левом углу вы можете наглядно посмотреть число общих передач, и число возращенных ошибок с кодом 02.
У вас вот тут (скрин 2) для всех данных одинаковая последовательность? Типа: младшим (старшим) словом вперёд?
У вас вот тут (скрин 2) для всех данных одинаковая последовательность? Типа: младшим (старшим) словом вперёд?
Показания правильные.
МихаилГл
10.04.2024, 14:17
Показания правильные.
А с последовательностью при преобразовании тоже одинаковы? Нашли таблицу вашего модбас сервера? Нет там не двойных слов посередине этих наборов?
А с последовательностью при преобразовании тоже одинаковы? Нашли таблицу вашего модбас сервера? Нет там не двойных слов посередине этих наборов?
Если в это смысл проверять последовательность байтов в регистрах, т.к. сейчас не сильно нужна целостность данных как их доступность.
МихаилГл
11.04.2024, 12:31
Если в это смысл проверять последовательность байтов в регистрах, т.к. сейчас не стильно нужна целостность данных как их доступность.
Вы меня не поняли. Если у вас внутри списка двойных слов есть пропуск данных в одно слово, и вы на клиенте:
184 и 185 регистр старшим словом вперёд и 185 и 186 регистр младшим словом вперёд выдадут одно и то же число, но в одном случае это правильное число, а в другом подогнанное под правильное, которое в определённый момент выдаст illegal data address.
Поэтому я прошу таблицу регистров сервера вашего, уже 2ой день.
Нужен скрин организации модбас сервера на ПЛК, возможно что то забыли.
PS Функции 01, 02 и 03 это разве для регистров? С 03 это я наврал...
Надеюсь вы ещё здесь.
75896
Читаю 0 - 9 инпут регистр. Постоянно выдает исключение 02 на мастере.
МихаилГл
21.05.2024, 09:53
https://product-help.schneider-electric.com/ED/ES_Power/NSX_Modbus_Guide/EDMS/DOCA0091EN/DOCA0091xx/NSX_MB_Modbus_Protocol/NSX_MB_Modbus_Protocol-5.htm
Некорректный адрес. Вы скорее всего зря пустых окон понаделали. У меня 300 регистров, но я для всех сделал соотнесение и проблем ни разу не возникло
Попробуйте еще с 1го а не с 0.
МихаилГл
21.05.2024, 10:07
Надеюсь вы ещё здесь.
75896
Читаю 0 - 9 инпут регистр. Постоянно выдает исключение 02 на мастере.
758977589875899
У меня регистры объединены: Залочка "Запись"
И соотнесены обе зоны... Как регистры временного хранения, так и входные регистры.
Как у вас? У вас они разной размерности даже... Т.е. у вас регистры временного хранения и входные регистры это не связанные между собой области получились
Аналогично исключение 02. Illegal data address (Modbus клиент уже берет с смещением).
Насчет пустых окон. Это про то что нет отношений с переменными. (Это реально может повлиять на опрос устройство?).
По логике даже если данных нет, сам регистр должен существовать для чтения.
Галочка наложения областей данных отключена.
МихаилГл
21.05.2024, 10:16
Галочка наложения областей данных отключена.
У вас включена галочка "Запись", и вроде из-за этого у вас массивы должны быть одинаковой размерности заданы, а вы задали 300 и 500. Начните с 10 и 10 хотя бы, куда вы стартанули.
МихаилГл
21.05.2024, 10:25
...
А как вы считываете? Чем? Настройки этой утилиты правильные?
У вас включена галочка "Запись", и вроде из-за этого у вас массивы должны быть одинаковой размерности заданы, а вы задали 300 и 500. Начните с 10 и 10 хотя бы, куда вы стартанули.
Галочка влияет только на возможность записи в временные регистры
Да чтение приходит. Но периодически проходит ошибка 02.
Сейчас я читаю с 1 по 9 (Пример)
Из 2200 транзакций вернулось 8 ошибок 02 (illegal data address)
МихаилГл
21.05.2024, 10:37
Галочка влияет только на возможность записи в временные регистры
См. личное сообщение
PS ну может это проблемы сети влияют. Меньше процента. А вы паникуете.
А как вы считываете? Чем? Настройки этой утилиты правильные?
Читаю скадой (Но скада не дает нормальной аналитики по соединению).
Для диагностики использую Modbus Poll.
МихаилГл
21.05.2024, 10:44
У меня ПЛК210 с весами иногда по модбас тср ошибки ловит, так же примерно меньше процента, я вообще не заморачиваюсь, а там дозирование компонентов. Я думал у вас это постоянно. Может частотник в сети, может запуск какого контактора приводит к сбою в сети. Тут похоже надо в комплексе смотреть, а не только ПЛК-СКАДА
У меня ПЛК210 с весами иногда по модбас тср ошибки ловит, так же примерно меньше процента, я вообще не заморачиваюсь, а там дозирование компонентов. Я думал у вас это постоянно. Может частотник в сети, может запуск какого контактора приводит к сбою в сети. Тут похоже надо в комплексе смотреть, а не только ПЛК-СКАДА
Если все так просто. Scada очень чувствительна к исключениям. С timeout error и read error ещё можем обойти и фильтровать их, а в случили исключений scada переводит все каналы в плохое состояние.
МихаилГл
21.05.2024, 10:58
Что за скада? ОРС сервер?
Что за скада? ОРС сервер?
MasterScada 4d
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot