Нестандартные команды MODBUS

Просмотр 15 сообщений - с 1 по 15 (из 27 всего)
  • Автор
    Сообщения
  • #11559
    Vic616
    Участник

    Доброго времени суток!
    Имеется счетчик электроэнергии, подключенный по ModbusRTU. Сброс его на «О» осуществляется подачей команды 0x42. Возможно я туплю, но не нашел способа сформировать такую команду средствами Коммуникатора, он предлагает только команды записи в Holding и Coils. Возможно ли такое сделать?

    #11560
    George
    Участник

    Добрый день.
    Есть таблица регистров к вашему счетчику?

    #11561
    manjey73
    Участник

    может команду надо подать в определенный регистр ? а то слабо верится, что счетчик с Modbus и сбрасывается какой-то левой командой…

    #11567
    Mikhail
    Модератор

    В чистом виде 0x42 — нестандартная команда. Таблица регистров поможет прояснить ситуацию.

    #11584
    Vic616
    Участник

    Нет, в том то и дело, что сбрасывается и калибруется девайс сей подачей нестандартных команд. Прилагаю фото документации ( в электронном виде нет, к сожалению). Это китайский счетчик электроэнергии PZEM-016
    https://ibb.co/L1PZRk2
    https://ibb.co/cwnW664
    https://ibb.co/9bfrc4C
    В общем — работает аппарат нормально, а процедура сброса не особо то и нужна, просто было интересно.

    #11592
    Mikhail
    Модератор

    Да, команда действительно нестандартная. Чтобы реализовать сброс, нужно разработать мини-драйвер, который умеет отправлять команду 0x42. Или дополнить существующий драйвер Модбас, чтобы он отправлял нестандартные команды.

    #11595
    manjey73
    Участник

    а отправить команду в бинарном виде сам драйвер Modbus не сможет или не даст ?

    #11596
    Mikhail
    Модератор

    Он обернёт эти бинарные данные в стандартную команду. А нужно, чтобы сама команда была нестандартной. Такую опцию возможно реализовать в драйвере.

    #11601
    Vic616
    Участник

    А дополнение драйвера этой фичей не планируется?

    #11606
    Mikhail
    Модератор

    Пока нет. За плату можем реализовать.

    #31896
    sergey_narva
    Участник

    Здравствуйте!

    А какова цена вопроса реализации опции нестандартной команды в драйвере?

    #31912
    Mikhail
    Модератор

    Добрый день!
    По поводу цены напишите, пожалуйста, запрос на емаил и уточните технические требования для Вашей задачи.

    #32024
    sergey_narva
    Участник

    Здравствуйте!

    Хотелось бы продолжить тему по отправке нестандартных команд.

    Согласно описанию выше в теме, это анализатор PZEM004T.

    Описание пакета:

    2.5 Reset energy
    The command format of the master to reset the slave’s energy is (total 4 bytes):
    Slave address + 0x42 + CRC check high byte + CRC check low byte.
    Correct reply: slave address + 0x42 + CRC check high byte + CRC check low byte.
    Error Reply: Slave address + 0xC2 + Abnormal code + CRC check high byte + CRC check low byte
    2.7 CRC check
    CRC check use 16bits format, occupy two bytes, the generator polynomial is X16 + X15 + X2 +1, the polynomial value used for calculation is 0xA001.
    The value of the CRC check is a frame data divide all results of checking all the bytes except the CRC check value.

    Для сброса показаний энергии необходимо отправить пакет.
    Пакет имеет фиксированный формат:
    для устройства с адресом 0x01 — 01 42 80 11
    для устройства с адресом 0x02 — 02 42 80 E1
    для устройства с адресом 0x03 — 03 42 81 71

    Возможно ли отправлять эти пакеты с помощью драйвера DrvTester?

    #32025
    manjey73
    Участник

    Очень странно, а при чем тут Модбас?
    У него первым идёт CRC младший байт, а потом старший.

    #32026
    sergey_narva
    Участник

    Для соединения устройства используется драйвер Modbus RTU

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