Показано с 1 по 6 из 6

Тема: МЭ110-220.3М, MODBUS функция 04 ((Read Input Registers)

  1. #1

    По умолчанию МЭ110-220.3М, MODBUS функция 04 (Read Input Registers)

    Возникла проблема с интеграцией модуля МЭ110-220.3М в систему.

    В документации на модуль (http://new.owen.ru/uploads/39/re_me110-220.3m_2675.pdf) в разделе "Г.2 Команды протокола ModBus" есть указание поддерживаемых функций:

    Для протокола ModBus реализовано выполнение следующих функций:
    – 03, 04 (read registers) – чтение одного или нескольких регистров;
    ...


    Однако, при попытке использовать функцию 04 возвращается ошибка 1 (Illegal function). При этом, функция 03 отрабатывает без ошибок и возвращает значение требуемого регистра.

    Пример, попытка прочитать регистр 0x0010 (Байт статуса) выглядит таким образом:

    Код:
    Запрос: 10 04 00 10 00 01
    33 4E 
    
    Ответ: 10 84 01
    D2 C5
    Поясните, пожалуйста, это ошибка в документации и устройство не поддерживает функцию 04 или все же есть способ опросить устройство этой функцией?

    Хотелось бы избежать использование функции 03, т.к. мастер-устройство для Hodling Register создает 2 запроса на чтение и запись и это поведение не отключить. Попытка записи в регистры только для чтения приводит к ошибке.
    Последний раз редактировалось bab; 11.08.2018 в 07:56.

  2. #2

    По умолчанию

    Здравствуйте, bab.

    Уточните версию прошивки модуля.
    Функцией 03 регистр 0x0010 считывается верно?

    При попытке записать регистры (функции 06 и 16), предназначенных только для чтения, или при попытке обращения к несуществующим регистрам возвращается ошибка 1 («Illegal function»). Так как читаете регистр статуса, то писать в него нельзя.
    Попробуйте другой ОРС-сервер, в котором можно выставить только чтение.
    Последний раз редактировалось Мастеренко Иван; 15.08.2018 в 16:20.
    Инженер по продуктам «ПЛК и модули»
    e-mail: i.masterenko@owen.ru | skype: i.masterenko_owen

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    у Овен нумерация с 0, а такая же нумерация у опрашивающего ?

  4. #4

    По умолчанию

    Цитата Сообщение от Мастеренко Иван Посмотреть сообщение
    Уточните версию прошивки модуля.
    Версия встроенного ПО:

    Код:
    Запрос 10 03 00 04 00 02
    86 8B
    10 03 04 31 2E 32 36
    00 B1
    
    (строка 1.26)
    Цитата Сообщение от Мастеренко Иван Посмотреть сообщение
    Функцией 03 регистр 0x0010 считывается верно?
    Да, функцией 03 считываются адекватные данные и по этому, и по другим регистрам, согласно спецификации.

    Например:

    (Считывание названия прибора):
    Код:
    Запрос: 10 03 00 00 00 04 
    47 48
    
    Ответ:
    10 03 08 CC DD 31 31 30 2D 33 CC
    36 AA
    
    (строка МЭ110-3М6Є в кодировке win-1251)
    (Считывание регистра 0x10):
    Код:
    Запрос: 10 03 00 10 00 01
    86 8E
    
    Ответ: 10 03 02 00 70
    45 A3
    При попытке записать регистры (функции 06 и 16), предназначенных только для чтения, или при попытке обращения к несуществующим регистрам возвращается ошибка 1 («Illegal function»). Так как читаете регистр статуса, то писать в него нельзя.
    Попробуйте другой ОРС-сервер, в котором можно выставить только чтение.
    C системой мы разобрались, настроили ее для использования функции 03.

    Но все равно остался один вопрос и появился один новый вопрос.

    1. То, что не работает функция 04 -- это ошибка в документации (она там упомянута по ошибке) или в прошивке прибора?

    2. Для регистра 0x10 ("Байт статуса") было замечено, что биты 4, 5 и 6 (выход за границу диапазона фазы A, B и C) всегда установлены в 1 независимо от подачи напряжения на входные клеммы. При этом, индикаторы на панели прибора горят непрерывно и индикатор "авария" на панели прибора не горит. Если подавать сигнал только на одну клемму (например, индикатор "UA" горит постоянно, а индикаторы "UB" и "UC" мигают), то все равно, значение всех битов 4, 5 и 6 -- единица.

    В чем здесь (по вопросу 2) может быть проблема? Ошибка в прошивке прибора?

  5. #5

    По умолчанию

    Здравствуйте, bab!
    Действительно, было выявлено отсутствие поддержки функции 0x04 в текущей версии прошивки. В следующем релизе она будет поддержана.
    С регистром «байт статуса» дело тоже в прошивке. Не происходит обнуление после устранения ошибки. Будет устранено в следующем релизе.
    Инженер по продуктам «ПЛК и модули»
    e-mail: i.masterenko@owen.ru | skype: i.masterenko_owen

  6. #6

    По умолчанию

    Иван, спасибо за пояснение!

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 26.09.2014, 00:07
  2. Modbus TCP (write multiple registers)
    от cer_cer в разделе Сетевые технологии
    Ответов: 12
    Последнее сообщение: 16.06.2014, 15:51
  3. 05 функция modbus
    от desperadoes в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 12.02.2014, 12:32
  4. Функция 05 ModBus RTU
    от Gizmo в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 15.05.2009, 18:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •