Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: ТРМ201 опрос с ПК по протоколу Modbus

  1. #1
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию ТРМ201 опрос с ПК по протоколу Modbus

    В описании на ТРМ201 сказано, что данный прибор можно опросить по протоколу modbus, чтобы считать какие-то параметры, например. Но нигде нет примеров какой должна быть посылка простейшего запроса. По опыту работы с модбасом сталкивался с тем, что производители то и дело отклоняются от этого "стандарта", поэтому хотелось бы спросить у Овена, какую последовательность байт я должен отправить по СОМ-порту, чтобы ТРМ201 вернул мне измеренную величину?

    Формат посылки для запроса:
    buf[0] = 0; //адрес прибора
    buf[1] = 0x03; //функция чтения регистра
    buf[2] = 0x00; //старший байт адреса регистра
    buf[3] = 0x01; //младший байт адреса регистра
    ...
    А потом? Проще говоря, меня интересует формат посылки для запроса параметров с прибора.
    Последний раз редактировалось Максим Tomahawk; 24.11.2016 в 10:58.
    Автоматизирую, как завещал нам Генри Форд

  2. #2

    По умолчанию

    От стандарта мы не откланяемся. Иначе это было бы описано в документации. Формат посылки на запрос (COM7)Tx: [8] 08 03 00 00 00 01 31 53

  3. #3
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию

    То есть посылается 8 байт в hex: 0x08 0x03 0x00 0x00 0x00 0x01 0x31 0x53, где 0x08 - адрес прибора, 0х03 - номер функции, 0х00 и 0х00 адрес регистра STAT, 0x00 и 0х01 - это видимо кол-во регистров, которые надо получить, в нашем случае всегда будет один, если будем по одному запрашивать, 0х31 и 0х53 - CRC16. Всё правильно? Тогда по какому алгоритму вы считаете CRC-код? Считаю код для первых 6 байт, у меня получается 0x08, 0x03, 0x00, 0x00, 0x00, 0x01, 0x84, 0x93. Вот алгоритм, используется полином 0xA001, не табличный метод. Видимо поэтому ТРМ201 мой запрос и отвергает.

    P.S.: Подключаюсь к прибору через приложение-конфигуратор без проблем, т.е. связь с прибором есть. В настройках СОМ-порта поставил 8 бит данных, без чётности, 2 стоп-бита. Проверил в меню прибора параметр "h.rtU" (в конфигураторе версии 2.2.0.6 сменить протокол нельзя, только настроить на внешнее управление от RS-485).
    Последний раз редактировалось Максим Tomahawk; 25.11.2016 в 07:40.
    Автоматизирую, как завещал нам Генри Форд

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

    По умолчанию

    Цитата Сообщение от Максим Tomahawk Посмотреть сообщение
    То есть посылается 8 байт в hex: 0x08 0x03 0x00 0x00 0x00 0x01 0x31 0x53, где 0x08 - адрес прибора, 0х03 - номер функции, 0х00 и 0х00 адрес регистра STAT, 0x00 и 0х01 - это видимо кол-во регистров, которые надо получить, в нашем случае всегда будет один, если будем по одному запрашивать, 0х31 и 0х53 - CRC16. Всё правильно? Тогда по какому алгоритму вы считаете CRC-код? Считаю код для первых 6 байт, у меня получается 0x08, 0x03, 0x00, 0x00, 0x00, 0x01, 0x84, 0x93. Вот алгоритм, используется полином 0xA001, не табличный метод. Видимо поэтому ТРМ201 мой запрос и отвергает.
    не пробовали взять уже состоявшиеся библиотеки протокола модбас, чем создавать что то свое
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  5. #5
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию

    capzap, зачем использовать что-то неизвестное, если "своё" работает с кучей типов приборов уже много лет и опрашивает их сотнями? Всего-то надо послать пару байт через СОМ-порт, потом прибор должен выдержать свой интервал тишины и отправить в ответ свои несколько байтов. Зачем мне для этого целая библиотека, если я собираюсь считывать всего 1 регистр, например?
    Автоматизирую, как завещал нам Генри Форд

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

    По умолчанию

    Цитата Сообщение от Максим Tomahawk Посмотреть сообщение
    capzap, зачем использовать что-то неизвестное, если "своё" работает с кучей типов приборов уже много лет и опрашивает их сотнями? Всего-то надо послать пару байт через СОМ-порт, потом прибор должен выдержать свой интервал тишины и отправить в ответ свои несколько байтов. Зачем мне для этого целая библиотека, если я собираюсь считывать всего 1 регистр, например?
    потому чтио Вы в этом не разбираетесь, чтобы Вы там не говорили. Нет проблем с ответом у трмов по модбас, хоть с собственоручной посылкой запроса что на плк, что на ПК
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  7. #7
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию

    capzap, если всё знаете, тогда может быть вы на мои вопросы ответите? Какую последовательность байт надо отправить на ТРМ201 с адресом 8, чтобы получить измеренное значение входной величины (параметр PV). Какой мне инструмент для этого использовать я сам разберусь, спасибо за советы.
    Автоматизирую, как завещал нам Генри Форд

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

    По умолчанию

    Цитата Сообщение от Максим Tomahawk Посмотреть сообщение
    capzap, если всё знаете, тогда может быть вы на мои вопросы ответите? Какую последовательность байт надо отправить на ТРМ201 с адресом 8, чтобы получить измеренное значение входной величины (параметр PV). Какой мне инструмент для этого использовать я сам разберусь, спасибо за советы.
    последовательность на видео в правом окошке
    Вложения Вложения
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  9. #9
    Пользователь
    Регистрация
    20.07.2011
    Адрес
    Новосибирск
    Сообщений
    38

    По умолчанию

    capzap, спасибо. Запись 08 03 00 01 00 01 D5 53, ответ 08 03 02 00 00 64 45. Запрашивается PV регистр по адресу 0х0001. CRC16 тут считается верно, мой алгоритм тоже верно считает. У G.Mark значит просто для примера crc-код был написан. В этом я и хотел убедиться.

    Пока тут разбирался, поставил сниффер и смотрел что конфигуратор на прибор шлёт. У него там какие-то свои служебные функции. Например, при чтении значения PV он посылает на ТРМ201 23 47 4F 48 47 52 4F 54 56 4C 4C 53 4A 0D, приходит пакет вида 23 47 4F 47 4A 52 4F 54 56 4B 49 51 50 4C 4E 52 4E 50 4F 0D, здесь последние ~7 байт меняются. Через моё приложение по такому же запросу ответ аналогичный. А вот на запрос 08 03 00 01 00 01 D5 53 ответ пока не приходит, хотя с точки зрения модбаса посылка верная. Возможно надо изменить какие-то настройки СОМ-порта, но это уже другая история.
    Автоматизирую, как завещал нам Генри Форд

  10. #10

    По умолчанию

    Конфигуратор общается с приборами по протоколу ОВЕН. И если ТРМ отвечает конфигуратору, то ТРМ настроен на общение с внешним миром по протоколу ОВЕН, и соответственно на modbus-запросы отвечать не будет...

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 9
    Последнее сообщение: 23.11.2017, 15:02
  2. Опрос и запись в ТРМ201 через библиотеки
    от Papagun78 в разделе Эксплуатация
    Ответов: 11
    Последнее сообщение: 28.08.2015, 14:47
  3. Ответов: 3
    Последнее сообщение: 05.11.2014, 12:27
  4. Как согласовать ТРМ201 и S7-1200 по протоколу modbus
    от kr1810bm86 в разделе Сетевые технологии
    Ответов: 18
    Последнее сообщение: 07.05.2013, 15:19
  5. трм138 опрос по протоколу овен
    от EFrol в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 18.12.2009, 12:55

Ваши права

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