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

Тема: библиотека ModBus.lib

  1. #1

    По умолчанию библиотека ModBus.lib

    Добрый день, коллеги!
    Используется ПЛК110-220.30Р-М. В проекте CoDeSyS используется библиотека "ModBus.lib" с сайта Овен.
    01.png
    В данной библиотеке используется функция "MB_WR_REGS" (запись регистров). Почему то функция "MB_WR_REGS" всегда возвращает код "Exception" равный 0xFF (255), что соответствует по описанию данного выхода таймаут. Причем неважно успешный обмен по протоколу Modbus или неуспешный.
    В качестве устройства использовался как модуль дискретного выхода МВ110-8ДФ, так и программа симуляции "ModSim32".
    02.png 03.png
    Другие функции чтения, например "MB_RD_INP_REGS" возвращают корректные значения на выход "Exception".
    С чем это связано, с реализацией библиотеки "ModBus.lib"? В программе необходимо детектировать наличие связи с данным устройством.

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

    По умолчанию

    с реализацией, можете открыть бибку как проект и покопаться во внутренностях
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Что-то непонятное. Вроде все нормально, но почему то при чтении регистров (функция 04) CRC считает корректно, а при записи регистра (функция 16) происходит некорректный расчет CRC.
    В обоих случаях вычисление производиться одной и той же функцией MB_CRC.
    01.png 02.png

    03.png 04.png

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

    По умолчанию

    мне к примеру непонятно что на этих картинках, какой то обратный отсчет массива зачем то, контрольная сумма считается с какого индекса массива, чему равен размер обрабатываемых байт и т.д.
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  5. #5

    По умолчанию

    РЕШЕНО.
    Этот вопрос поднимался ранее http://www.owen.ru/forum/showthread.php?t=20052
    Нельзя изменять буфер пока идет обмен, т.е. промежуток времени между MB_WR_REGS.Enable = TRUE и возвратом флага завершения цикла обмена MB_WR_REGS.Complete = TRUE.

Похожие темы

  1. Universal Modbus Device или библиотека Modbus.lib?
    от Hemann в разделе ПЛК1хх
    Ответов: 51
    Последнее сообщение: 04.06.2022, 07:04
  2. Библиотека ModBus Slave
    от Леонид в разделе ПЛК1хх
    Ответов: 57
    Последнее сообщение: 10.11.2015, 13:13
  3. Библиотека ModBus
    от CSharp в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 19.03.2014, 10:10
  4. ПЛК304, библиотека modbus
    от Gvenihvivar в разделе ПЛК3хх
    Ответов: 3
    Последнее сообщение: 12.04.2013, 15:36

Ваши права

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