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

Тема: Modbus/RTU

  1. #1

    По умолчанию Modbus/RTU

    При испытаниях ПЛК150 столкнулся с проблемой: связь с устройством по Modbus/RTU работает до скорости 38400, выше - контроллер не воспринимает ответ. (ошибка 81). На осциллограмме выглядит всё по стандарту.
    Вопрос в том, какое отклонение частоты приёмо-передатчиков допускается на больших скоростях в случае с ПЛК150? По стандарту Modbus/RTU (раздел 3.2.) отклонение на передачу 1%, на приём - 2%.
    Вопрос второй: где найти описание команд 0х70 и 0х71?

  2. #2

    По умолчанию

    1. Смотрите ваше устройство, мы испытывали на приборах нескольких производителей, все работает. Для мастера ModBus не ставьте параметр Framing time в настройках порта больше 0. Отклонение частоты стандартизуется для ассинхронного последовательного интерфейса (USART), а не для протокола ModBus.
    2. Это команды для байтового обмена по заказу одного из наших клиентов. Никакое др. устройство их не поймет.
    Тролль-наседка, добрый, нежный и ласковый

  3. #3
    Пользователь
    Регистрация
    28.12.2006
    Адрес
    Ростов-на-Дону
    Сообщений
    44

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Отклонение частоты стандартизуется для ассинхронного последовательного интерфейса (USART), а не для протокола ModBus.
    Тут Вы не совсем правы. Открываем документ "Modbus over serial line. Specification & Implementation guide. V1.0" и на стр. 12 в разделе 3.2 Data Signaling Rates читаем: "Every implementation baud rate must be respected better then 1% in transmission situation, and must accept an error of 2% in reception situation". Т. е. скорость передачи должна быть не хуже 1% от примененной скорости, а приемник должен уверенно работать при ошибке скорости в 2%.

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    2. Это команды для байтового обмена по заказу одного из наших клиентов. Никакое др. устройство их не поймет.
    Действительно, эти команды (0х70 и 0х71) находятся в области User-Defined Function Codes согласно документу "Modbus Application Protocol Specification V1.1a" и не имеют гарантии уникальности.
    В связи с этим, можно ли понимать Ваши слова так, что протокол в части этих команд, принадлежит исключительно Вашему клиенту и недоступен широкой публике?
    Дело в том, что байтовый обмен часто значительно упрощает жизнь, а "любое др. устройство" можно и научить... Был бы протокол.

  4. #4

    По умолчанию

    Чтение (0x70)
    10 70 00 07 05 CRC CRC

    Ответ

    10 70 00 07 05 xx xx xx xx xx CRC CRC

    Адрес устр.
    команда
    номер байта (2 байта)
    кол-во в байтах
    CRC - 2 байта

    Запись (0x71)

    10 71 00 03 01 xx CRC CRC

    Адрес устр.
    команда
    номер байта (2 байта)
    кол-во в байтах
    данные (N байт)
    CRC - 2 байта

    Ответ

    10 71 00 03 01 CRC CRC
    Тролль-наседка, добрый, нежный и ласковый

Ваши права

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