Ошибка расчета CRC Modbus RTU через TCP?

Стартовая страница Форумы Ошибки в работе Ошибки Коммуникатора Ошибка расчета CRC Modbus RTU через TCP?

  • В этой теме 4 ответа, 3 участника, последнее обновление 4 года назад сделано Аватарmanjey73.
Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #5630
    OldManSpbOldManSpb
    Участник

    Подключаю устройство по Modbus.
    Сначала подключил устройство (покупной контроллер с modbus) к локальному компьютеру с Rapid SCADA через USB-485. Все работает отлично.
    Вторым этапом написал сервер под линукс, который просто тупо транслирует TCP пакеты в тот же USB-485 преобразователь и обратно. Сервер проверен, работает корректно.
    Подключаю к нему коммуникатор через TCP в формате RTU. Когда данные идут на контроллер, все нормально. А вот когда контроллер отвечает и мой сервер посылает коммуникатору пакет, коммуникатор иногда принимает нормально, а иногда ругается на неправильный CRC. Причем ругается он или не ругается, зависит от того, какие данные отдает контролер. То есть: нагреваю датчик температуры, и в зависимости от температуры ошибка CRC то есть, то нет.

    #5632
    Аватарmanjey73
    Участник

    Можете проверить на не самописном TCP сервере для порта ?
    Зачем изобретать велосипед, если под Linux есть для ретрансляции портов socat и remserial ?

    я проверял на них Овеновский ПР200, все работает.

    #5638
    MikhailMikhail
    Модератор

    Попробуйте увеличить паузу после запросов. Возможно, связь не успевает и приходят не те ответы, которые должны быть. Вам надо как-то сравнить пакеты, отправляемые контроллером и принимаемые Коммуникатором или любой другой утилитой. CRC математически считается на основе полученных данных, это происходит однозначно. Следовательно, пакет искажается.

    #5639
    OldManSpbOldManSpb
    Участник

    Спасибо всем за ответы.
    Пока бросил это дело, переделал свой сервер на TCP Modbus, все работает.
    remserial у меня не работает, потому что он не хочет работать 8O1, а мой контроллер работает именно в этом режиме.

    #5641
    Аватарmanjey73
    Участник

    Тогда попробовать socat, ну или в remserial параметры посмотреть.

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Вы должны авторизироваться для ответа в этой теме.