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

Тема: Особенность библиотеки Modbus-Slave

  1. #1

    По умолчанию Особенность библиотеки Modbus-Slave

    Пишу проект под СПК207. По COM1 (RS232) связываюсь по Modbus. СПК - Slave. Использую библиотеку Modbus-Slave. В руководстве на библиотеку описан только функциональный блок MB_Slave и приведён пример работы с ним. В самой библиотеке содержатся ещё ФБ, но описания на них нет. Кто-нибудь знает где взять какую-нибудь инфу по ним? Взял пример за основу, вроде всё работает, но если Master запрашивает более 60 регистров, то ФБ возвращает ошибку ILLEGAL_DATA_VALUE и формирует исключительный ответ. Если Master записывает допустим 100 регистров то, то всё нормально. Подозреваю, что у этого ФБ буфер на отправку Buffer[0..255] of Byte. Каждый регистр в ASCII кодируется 4 байтами (60 регистров * 4 = 240 байт) + LRC, адрес, номер ф-ции, кол-во байт и т.д. Т.е. получается нельзя отдать более 60 рег-ров, так ли это, или я что-то делаю не так? Еще не понятно что за выход NewData у ФБ MB_Slave? Признак того, что поступил запрос от Master'а? И как надо строить программу? POU с вызовом MB_Slave вызывать циклически как можно чаще, чтобы не прозевать запрос от Master'а?

  2. #2

    По умолчанию

    Неужели никто не в курсе?

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

    По умолчанию

    Цитата Сообщение от Diver Посмотреть сообщение
    вроде всё работает, но если Master запрашивает более 60 регистров, то ФБ возвращает ошибку ILLEGAL_DATA_VALUE и формирует исключительный ответ. Если Master записывает допустим 100 регистров то, то всё нормально.
    а как можно на это отвечать, если 100 больше 60?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #4

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а как можно на это отвечать, если 100 больше 60?
    Может запутанно объяснил. СПК - Slave. В СПК задана область - массив из 100 элементов типа WORD. При вызове ФБ MB_Slave в неё передаётся адрес массива и и размер в байтах (100*2=200 байт). Теперь подключаюсь Master'ом, пытаюсь считать 60 регистров - всё нормально, Master получает все данные из этих 60 регистров. Пытаюсь считать 80 регистров (это меньше 100) - master получает исключительный ответ. Дальше Master'ом записываю (16-ой ф-цией) 100 регистров - всё ОК, в КДС вижу полученные данные в регистрах. Такое ощущение, что пакет отправляемые Slave'ом с помощью этой ФБ не может быть длиннее 255 байт.

  5. #5

    По умолчанию

    Народ, никто не пытался считывать большое кол-во регистров?

  6. #6

    По умолчанию

    Цитата Сообщение от Diver Посмотреть сообщение
    Народ, никто не пытался считывать большое кол-во регистров?
    Добрый! Так и не получили ответа по данному вопросу?? тоже столкнулся, хотя в описании к библиотеке http://ftp.owen.ru/index.html/CoDeSy...s_Slave_v1.pdf
    ни чёго подобного не сказанно.

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

    По умолчанию

    Цитата Сообщение от Diver Посмотреть сообщение
    Такое ощущение, что пакет отправляемые Slave'ом с помощью этой ФБ не может быть длиннее 255 байт.
    смотрим структуру модбас запросов/ответов и обращаем на область данных под именем N и догадываемся сколько можно передать регистров за один раз
    Изображения Изображения
    • Тип файла: png owen.png (26.2 Кб, Просмотров: 56)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #8

Похожие темы

  1. Modbus (Master) не отображается в память Modbus (Slave)
    от ghoch в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 07.05.2018, 09:40
  2. Ошибки библиотеки Modbus
    от URA6923 в разделе ПЛК1хх
    Ответов: 20
    Последнее сообщение: 12.12.2013, 15:45
  3. Переменная из Modbus (master) в Modbus (slave)
    от Zenr в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 25.10.2013, 12:38
  4. Особенность Codesys v2.3????
    от Моисеев Алексей в разделе Трёп (Курилка)
    Ответов: 2
    Последнее сообщение: 25.04.2011, 16:24
  5. Ответов: 5
    Последнее сообщение: 14.10.2010, 14:42

Ваши права

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