Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Нестандартные команды MODBUS
Помечено: Нестандартные команды MODBUS
- В этой теме 26 ответов, 6 участников, последнее обновление 1 неделя назад сделано sergey_narva.
-
АвторСообщения
-
03.05.2019 в 01:05 #11559Vic616Участник
Доброго времени суток!
Имеется счетчик электроэнергии, подключенный по ModbusRTU. Сброс его на «О» осуществляется подачей команды 0x42. Возможно я туплю, но не нашел способа сформировать такую команду средствами Коммуникатора, он предлагает только команды записи в Holding и Coils. Возможно ли такое сделать?03.05.2019 в 07:49 #11560GeorgeУчастникДобрый день.
Есть таблица регистров к вашему счетчику?03.05.2019 в 10:07 #11561manjey73Участникможет команду надо подать в определенный регистр ? а то слабо верится, что счетчик с Modbus и сбрасывается какой-то левой командой…
03.05.2019 в 15:57 #11567MikhailМодераторВ чистом виде 0x42 — нестандартная команда. Таблица регистров поможет прояснить ситуацию.
04.05.2019 в 12:54 #11584Vic616УчастникНет, в том то и дело, что сбрасывается и калибруется девайс сей подачей нестандартных команд. Прилагаю фото документации ( в электронном виде нет, к сожалению). Это китайский счетчик электроэнергии PZEM-016
https://ibb.co/L1PZRk2
https://ibb.co/cwnW664
https://ibb.co/9bfrc4C
В общем — работает аппарат нормально, а процедура сброса не особо то и нужна, просто было интересно.05.05.2019 в 11:40 #11592MikhailМодераторДа, команда действительно нестандартная. Чтобы реализовать сброс, нужно разработать мини-драйвер, который умеет отправлять команду 0x42. Или дополнить существующий драйвер Модбас, чтобы он отправлял нестандартные команды.
05.05.2019 в 13:29 #11595manjey73Участника отправить команду в бинарном виде сам драйвер Modbus не сможет или не даст ?
06.05.2019 в 08:32 #11596MikhailМодераторОн обернёт эти бинарные данные в стандартную команду. А нужно, чтобы сама команда была нестандартной. Такую опцию возможно реализовать в драйвере.
06.05.2019 в 22:32 #11601Vic616УчастникА дополнение драйвера этой фичей не планируется?
07.05.2019 в 17:31 #11606MikhailМодераторПока нет. За плату можем реализовать.
03.04.2024 в 19:16 #31896sergey_narvaУчастникЗдравствуйте!
А какова цена вопроса реализации опции нестандартной команды в драйвере?
04.04.2024 в 14:57 #31912MikhailМодераторДобрый день!
По поводу цены напишите, пожалуйста, запрос на емаил и уточните технические требования для Вашей задачи.09.04.2024 в 18:29 #32024sergey_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?
09.04.2024 в 19:06 #32025manjey73УчастникОчень странно, а при чем тут Модбас?
У него первым идёт CRC младший байт, а потом старший.09.04.2024 в 19:10 #32026sergey_narvaУчастникДля соединения устройства используется драйвер Modbus RTU
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.