Esp8266 +MAX485 = частотник по Modbus

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
156
21
Всех приветствую!
Имеется esp8266 и переходник на микросхем MAX485, а так же частотный преобразователь, который поддерживает управление по Rs485 по протоколу rtu или ascii (китайцы не дают внятной инструкции). Какую библиотеку использовать в данной связке: softserial, modbus rtu или другую?
 

Svod

✩✩✩✩✩✩✩
22 Апр 2022
17
8
Можно подробнее? Какое название у частотника хотябы? Скорее всего протокол Modbus rtu.
 

bort707

★★★★★★✩
21 Сен 2020
3,172
934
что за привычка выкладывать скриншоты? если это PDF документ. почему его не выложить в форум вместо нечитаемой картинки?
 
Изменено:

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
156
21
@bort707, вы прежде чем выкладывать нервные посты убедитесь в своей правоте. Это скрин, сделанный с карточки товара в Алике. Конечно, у какого-то китайца есть этот пдф, а у меня только этот скрин...
 

Svod

✩✩✩✩✩✩✩
22 Апр 2022
17
8
В принципе этих регистров достаточно для управления и возможно связать с ЕСП. Только необходимо убедится в логических уровнях, а то у китайцев разное понимание где ttl уровень а где промышленные уровни.
 

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
156
21
Есть и пдф, но в нем описания протокола rs485 нет:

@Svod, поясните в общих чертах, нужно послать стартовый бит, затем адрес частотника, затем регистр, команду и значение, А в конце контрольную сумму?
 

Вложения

Изменено:

Svod

✩✩✩✩✩✩✩
22 Апр 2022
17
8
Адрес частотника/функция/начальный адрес регистра/количество регистров/данные/и возможно crc

Судя по скрину то китайцы указали самое необходимое начиная с адресов регистров а остальное значить по стандарту
 

N0rdling

★✩✩✩✩✩✩
15 Янв 2020
156
21
@bort707, вы имели дело с подобным случаем, какую библиотеку использовать?
 

zhelezaka

✩✩✩✩✩✩✩
11 Май 2025
1
1
Занимаюсь запуском в esphome связки esp8266 + RS485 <-> VFC-M0701S, увидел этот некропост, если кому еще актуально, в расширенной доке от производителя есть все нужные данные:

P00 - источник основной частоты
0 - кнопки на панельке
1,2 - потенциометр на панельке в разных режимах
...
5 - по 485 интерфейсу
...
P01 - источник сигналов управления
00 - с панельки
...
02 - по 485 интерфейсу
P100 - адрес устройства на шине 485 (по умолчанию 8)
P101 - параметры шины, по умолчанию 2 = 9600, 8-bit data, no check, 1-bit stop bit
P102 - 485 Frequency setpoint, 0-400 (по умолчанию 50)
P103 - 485 Run Settings (если убрать детали типа направления и толчкового режима - пишем сюда 1 - старт, 0 - стоп)

0 адреса регистров = 40000 таким образом для чтения записи P00, нужно опрашивать адрес 40000, в мануале есть даже примеры запросов
Example of reading P00 station No. 039C40 0001 CRCL CRCH
где 03 - read multiple holdig registers (это тип операции в терминах модбас), 9C40 - адрес 40000 в hexadecimal, 0001 - количество регистров подлежащих чтению.
Адрес слейва нужен, по умолчанию на моем частотнике он совпал с тем, что в мануале - 8.
Рекомендую ознакомиться с протоколом поигравшись с частотником с помощью ПК, используя любой эмулятор модбас мастера (использовал QModBus) и преобразователь usb-serial-485.
 

Вложения

  • Лойс +1
Реакции: bort707