Помогите решить проблему с Modbus.

Помогите решить проблему с Modbus.

Использование протокола Modbus
chmak2007
Сержант
Сообщения: 151
Зарегистрирован: 06.09.2015{, 13:28}
Репутация: 0
Откуда: Саров

Помогите решить проблему с Modbus.

#1

Сообщение chmak2007 » 18.10.2023{, 16:55}

Суть вопроса таков: Master стоит на ESP8266 NodeMcu 0.9, а Slave на STM32 Blue Pill. При передачи с master переменную в slave все хорошо, а если с slave отправляешь переменную в master ни чего не приходит. В чем может быть проблема?
Вложения
STM32 v2.flp
(737.21 КБ) 24 скачивания
ESP8266.flp
(1.76 МБ) 26 скачиваний

Panagiotis
Сержант
Сообщения: 127
Зарегистрирован: 11.09.2015{, 20:58}
Репутация: 5
Имя: Панаётис

Помогите решить проблему с Modbus.

#2

Сообщение Panagiotis » 18.10.2023{, 17:40}

Как то читал на форуме что есть в новой версии проблема в коммуникации Модбас, как альтернативное решение используйте более старую версию Флпрог.

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

Помогите решить проблему с Modbus.

#3

Сообщение vovka1973 » 26.11.2023{, 06:23}

Panagiotis писал(а):
18.10.2023{, 17:40}
как альтернативное решение используйте более старую версию Флпрог.
какую? не подскажите?
Дело было в переходнике юсб 485,китайцы не правильно припаяли один резистор два дня убил на это :D
Изображение

Vasiliy0000
Рядовой
Сообщения: 44
Зарегистрирован: 22.09.2018{, 11:19}
Репутация: 1
Имя: Василий

Помогите решить проблему с Modbus.

#4

Сообщение Vasiliy0000 » 27.11.2023{, 01:46}

chmak2007 писал(а):
18.10.2023{, 16:55}
Суть вопроса таков: Master стоит на ESP8266 NodeMcu 0.9, а Slave на STM32 Blue Pill. При передачи с master переменную в slave все хорошо, а если с slave отправляешь переменную в master ни чего не приходит. В чем может быть проблема?
у меня тоже не работало. связь была через преобразователь rs485 to ttl (без di de)
на плате китайцы припаяли микросхему cd4069.
данную микросхему поменял на 74HC14 и все заработало.

Vasiliy0000
Рядовой
Сообщения: 44
Зарегистрирован: 22.09.2018{, 11:19}
Репутация: 1
Имя: Василий

Помогите решить проблему с Modbus.

#5

Сообщение Vasiliy0000 » 27.11.2023{, 01:55}

кто нибудь знает на стм 32 может работать мастер и слэйв одновременно?
кучу ошибок выдает при компиляции
Новый текстовый документ.txt
(13.18 КБ) 17 скачиваний

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

Помогите решить проблему с Modbus.

#6

Сообщение vovka1973 » 27.11.2023{, 16:49}

Vasiliy0000 писал(а):
27.11.2023{, 01:55}
кто нибудь знает на стм 32 может работать мастер и слэйв одновременно?
модбас не завелся у меня ни на одном порту ,компиляция проходит .
Изображение

Vasiliy0000
Рядовой
Сообщения: 44
Зарегистрирован: 22.09.2018{, 11:19}
Репутация: 1
Имя: Василий

Помогите решить проблему с Modbus.

#7

Сообщение Vasiliy0000 » 27.11.2023{, 18:20}

vovka1973 писал(а):
27.11.2023{, 16:49}
Vasiliy0000 писал(а):
27.11.2023{, 01:55}
кто нибудь знает на стм 32 может работать мастер и слэйв одновременно?
модбас не завелся у меня ни на одном порту ,компиляция проходит .
странно.
на сериал 1 модбас мастер работает точно.
а вот вместе со слэйвом чето не компилится

отключил защиту от зависания и все откомпилировалось
Последний раз редактировалось Vasiliy0000 28.11.2023{, 01:19}, всего редактировалось 1 раз.

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

Помогите решить проблему с Modbus.

#8

Сообщение vovka1973 » 27.11.2023{, 18:38}

Vasiliy0000 писал(а):
27.11.2023{, 18:20}
на сериал 1 модбас мастер работает точно.
на какой версии программы?
Изображение

Vasiliy0000
Рядовой
Сообщения: 44
Зарегистрирован: 22.09.2018{, 11:19}
Репутация: 1
Имя: Василий

Помогите решить проблему с Modbus.

#9

Сообщение Vasiliy0000 » 28.11.2023{, 01:20}

vovka1973 писал(а):
27.11.2023{, 18:38}
Vasiliy0000 писал(а):
27.11.2023{, 18:20}
на сериал 1 модбас мастер работает точно.
на какой версии программы?
8.2.3

отключил защиту от зависания и все откомпилировалось

осталось в железе проверить. но у меня модбас без di de

vovka1973
Майор
Сообщения: 1060
Зарегистрирован: 14.02.2016{, 14:16}
Репутация: 42
Откуда: kazahstan

Помогите решить проблему с Modbus.

#10

Сообщение vovka1973 » 28.11.2023{, 15:34}

Vasiliy0000 писал(а):
28.11.2023{, 01:20}
vovka1973 писал(а):
27.11.2023{, 18:38}
Vasiliy0000 писал(а):
27.11.2023{, 18:20}
на сериал 1 модбас мастер работает точно.
на какой версии программы?
8.2.3

отключил защиту от зависания и все откомпилировалось

осталось в железе проверить. но у меня модбас без di de
нашел проблему подключил так rx-rx tx-tx и заработало
Изображение

nickass
Рядовой
Сообщения: 61
Зарегистрирован: 01.05.2022{, 14:13}
Репутация: 12
Откуда: Киров
Имя: Николай

Помогите решить проблему с Modbus.

#11

Сообщение nickass » 28.11.2023{, 23:08}

vovka1973 писал(а):
28.11.2023{, 15:34}
подключил так rx-rx tx-tx и заработало
Частенько на китайских девайсах RX - TX перепутаны.
Также на RS485 интерфейсе A и В местами поменяны. У меня выработалась привычка, подключаю наугад и если не заработало, меняю местами.

Vasiliy0000
Рядовой
Сообщения: 44
Зарегистрирован: 22.09.2018{, 11:19}
Репутация: 1
Имя: Василий

Помогите решить проблему с Modbus.

#12

Сообщение Vasiliy0000 » 29.11.2023{, 01:13}

nickass писал(а):
28.11.2023{, 23:08}
vovka1973 писал(а):
28.11.2023{, 15:34}
подключил так rx-rx tx-tx и заработало
Частенько на китайских девайсах RX - TX перепутаны.
Также на RS485 интерфейсе A и В местами поменяны. У меня выработалась привычка, подключаю наугад и если не заработало, меняю местами.
верно rx к rx
но у меня не работало потому что китайцы вдобавок сэкономили и вместо инвертора hc74hc14 поставили инвертор cd4096.

ps. а еще сейчас появились новые ардуино нано. там вместо ch340 ставят микроконтроллер затертый. и не работает ком порт. программу зашить можно передернув юэсби, а вот модбас на сериал0 работать не будет.

nickass
Рядовой
Сообщения: 61
Зарегистрирован: 01.05.2022{, 14:13}
Репутация: 12
Откуда: Киров
Имя: Николай

Помогите решить проблему с Modbus.

#13

Сообщение nickass » 01.12.2023{, 13:11}

Вместо Нано лучше покупать LGT8F, там все работает и цена ниже. По крайней мере у меня с LGT8F проблем не было.

Vasiliy0000
Рядовой
Сообщения: 44
Зарегистрирован: 22.09.2018{, 11:19}
Репутация: 1
Имя: Василий

Помогите решить проблему с Modbus.

#14

Сообщение Vasiliy0000 » 04.12.2023{, 04:03}

Vasiliy0000 писал(а):
28.11.2023{, 01:20}
vovka1973 писал(а):
27.11.2023{, 18:38}
Vasiliy0000 писал(а):
27.11.2023{, 18:20}
на сериал 1 модбас мастер работает точно.
на какой версии программы?
8.2.3

отключил защиту от зависания и все откомпилировалось

осталось в железе проверить. но у меня модбас без di de
проверил. одновременно мастер и слэйв на стм 32 не работают.

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

Помогите решить проблему с Modbus.

#15

Сообщение vlad1451 » 18.01.2024{, 09:04}

Доброго всем времени суток. Есть в наличии датчик температуры ДТС105М (ДТх-RS) с протоколом ModBus. Возможно с него считывать температуру? Как это реализовать в FLProg?
re_dth-rs_1-ru-92806-1.8.pdf
(2.67 МБ) 18 скачиваний

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

Помогите решить проблему с Modbus.

#16

Сообщение vlad1451 » 19.01.2024{, 06:40}

Сам датчик через преобразователь USB-485 проверил, данные читаются. Собираю простейший стенд, NANO, плата max485, дисплей (SSD1306), и тишина. Даже на UART0, к которому подключена плата 485 ни чего нет. Может я что делаю не так? Версии программы пробовал менять, была 8.2.3 сейчас 8.1.0.
Test_MB_328.flp
(209.89 КБ) 10 скачиваний
Отправлено спустя 2 часа 47 минут 23 секунды:
Как вариант есть ещё 7.3.8, можно попробовать.

Отправлено спустя 3 часа 11 минут 47 секунд:
Пробовал устанавливать версию 7.5.2, эффект тот же.

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

Помогите решить проблему с Modbus.

#17

Сообщение vlad1451 » 23.01.2024{, 07:19}

Доброго всем времени суток. Продолжаю "пытать" температурный датчик. На данный момент результаты следующие:
1. Была замечена интересная закономерность (а может и глюк). Датчик подключен через преобразователь на UART3 меги2560 (1280), пробовал на обоих, эффект тот же. Как уже писал выше, на порту тишина. Но стоило переключиться на Sftware Serial и выбрать эти же пины (UART3), порт "ожил".
2. Вторая проблема была в платах преобразователей 485. При штатных элементах установленных на платах, было "выподание" данных. Пришлось подобрать сопротивления на выходе и частично убрать подтягивающие резисторы. Связь стала стабильной.
3. На данный момент стоит задача конвертировать данные с датчика.

По запросу температуры считывается 4 байта (2 регистра по 2 байта). И как их преобразовать в температуру, ума не приложу. Читал про конвертацию данных с подобных датчиков, там максимум рассматривается 12-ти битные данные. А как с этими быть?

На скрине с анализатора верхняя строчка это запрос, нижняя ответ с датчика.
изображение_2024-01-23_091950.png
Отправлено спустя 3 минуты 55 секунд:
Температура в датчике хранится в регистрах 2200-2201 (898-899 и 16-ом).

Отправлено спустя 24 минуты 55 секунд:
P.S. Прошу прощения, сам проект забыл:
2560_MB.zip
(497.74 КБ) 6 скачиваний

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

Помогите решить проблему с Modbus.

#18

Сообщение AlexCrane » 23.01.2024{, 08:18}

Ну так читайте как float (у Вас же читается как LongInteger). Возможно придется поиграться с форматом передачи float ( AB CD, CD AB и т.д.)
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

vlad1451
Сержант
Сообщения: 133
Зарегистрирован: 06.09.2019{, 19:23}
Репутация: 7
Имя: Владимир

Помогите решить проблему с Modbus.

#19

Сообщение vlad1451 » 23.01.2024{, 08:26}

AlexCrane писал(а):
23.01.2024{, 08:18}
Ну так читайте как float (у Вас же читается как LongInteger). Возможно придется поиграться с форматом передачи float ( AB CD, CD AB и т.д.)
Сейчас как раз пробую порядок битов изменить, посмотрим что получится. FLoat с порядком по умолчанию пробовал, в переменной 0.

Отправлено спустя 10 минут 57 секунд:
Может я конечно цепляюсь к мелочам, но как то подозрительно. При добавлении переменной из ModBus в проект она должна окрашиваться в цвет соответствующий типу данных. В самом ModBus всё нормально, а в проекте все переменные из него чёрные, не зависимо от типа.
067.jpg
Отправлено спустя 1 час 1 минуту 29 секунд:
Перетасовка последовательности регистров результата не дала.

WildCat
Лейтенант
Сообщения: 426
Зарегистрирован: 04.06.2022{, 04:14}
Репутация: 48
Имя: Михаил

Помогите решить проблему с Modbus.

#20

Сообщение WildCat » 08.03.2024{, 02:56}

Подскажите по ModBus плз.

Две есп32, общаются между собой через max485. ModBus RTU. В обоих МК для ModBus используется serial 2.

Две переменные (holding register) передаются, а всё что дальше нет. В обратную сторону пытаюсь передать одну переменную, тоже не проходит.
ФЛП 820.

Всё integer.

В чем может быть дело, куда копать?
Передача не идет даже если на вход переменой модбас константу повесить.

Адреса регистров проверял, имена переменных и в мастере, и в слейве одинаковые, копировал через файл параметры слейв в мастер, всё без толку (

Ответить

Вернуться в «Modbus»