Библиотека сервера Modbus RTU, которая регистрирует запросы

Пожалуйста, обратитесь за помощью. В моем проекте я хочу «подделать» интеллектуальный счетчик через сервер Modbus RTU для инвертора Solis.

Каким-то образом Solis понимает, что я его притворяюсь, поэтому мне интересно, какую библиотеку сервера Modbus RTU вы можете порекомендовать, чтобы я мог видеть, какие регистры запрашивает Solis? На данный момент я использую библиотеку Emilianov Modbus-8266 для запуска сервера/подчиненного устройства RTU, а платформа – esp32 с max3485.


Итак, позвольте мне уточнить. Mine Solis просто отстой в условиях низкой освещенности. Он не может решить, следует ли ему заряжать или разряжать, что приводит к сильным колебаниям, перескакиванию с подачи слишком большого количества энергии в сеть, а затем слишком большого количества энергии из сети - пиковые значения варьируются от +800 Вт до -800 Вт, когда он начинает колебаться.

По ком-порту вы правы - здесь солис выступает в роли раба. Но я понимаю, что Solis действует как главный порт RS485, а интеллектуальный счетчик - как подчиненный.

Моя цель — подделать умный счетчик.

Итак, топология будет такой:

Solis(главный)-----(ведомый)ESP32(главный)-----(ведомый)смартметр

Поэтому я ищу решение, при котором любой запрос на чтение от Solis будет прозрачно передаваться на интеллектуальный счетчик. Но я хочу, чтобы был перехвачен один регистр (скорее всего, общая активная мощность, которая, насколько я понимаю, является единственным значением, которое Solis хочет вернуть к нулю в своем контуре управления).

На данный момент я могу успешно читать Solis и Seplos BMS через ESP32/RS485. У меня даже есть работающий раб, который, как я думал, будет достаточно хорош, чтобы его считали фальшивым умным счетчиком, но это не так. Солис запрашивает больше регистров, чем предоставляет мое поддельное решение. поэтому я спрашиваю, какая библиотека Modbus подчиненного/серверного устройства ESP32 может печатать любой поступающий запрос.

Если моя точка зрения неверна, пожалуйста, поправьте меня.

, 👍1

Обсуждение

Что вы на самом деле пытаетесь сделать? Вам нужно прочитать о Modbus. Прежде всего, вы путаете, что действует как клиент, а что как сервер. Если вы посмотрите общее руководство по Modbus для инверторов Solis, то увидите, что они действуют как ведомые устройства или, говоря современным языком, как серверы. Вам необходимо настроить мастер - в настоящее время "клиент" - для запроса - опроса - сервера, а не наоборот. Вам необходимо предоставить код, руководство и модель вашего конкретного инвертора, а также, возможно, настройку оборудования. Почему бы вам сначала не попробовать опросить инвертор с помощью чего-то вроде ключа USB-RS485 с помощью ComTest или Modbus Poll?, @Nick S.


1 ответ


1

Попробуйте рассмотреть это как отправную точку

https://github.com/straga/Smart-Meter-Gateway

Мой подход был другим, но я вернусь к нему, если мой нынешний подход потерпит неудачу.

,

Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится., @sempaiscuba