Не "изменяется" Slave адрес.

Использование протокола Modbus
Ответить
ieshua
Рядовой
Сообщения: 3
Зарегистрирован: 14 апр 2025, 22:08
Имя: Илья
Благодарил (а): 1 раз

Не "изменяется" Slave адрес.

Сообщение ieshua »

Всем добрый день!

Подготовил проект в Flprog для организации связи по Modbus RTU между Arduino nano (slave) через автоматический преобразователь XY-017 (без PE/DE пина) к Овен ПЛК (master) для управления шаговым двигателем на клапане приточной вентиляции. RX/TX на Arduino используются отличные от предустановленных на плате. В данном конкретном случае это пины 8 и 9. В связи с чем в Flprog используется serial.

Проблема заключается в том, что независимо от указанного slave адреса в Flprog (сейчас это 86) при проверке соединения с Arduino, используя QModBus (сейчас, к сожалению, не могу приложить скриншот) slave выходит на связь и исправно выполняет команды исключительно по адресу 1. При выборе любого другого адреса соединение отсутствует.

Не могли бы, пожалуйста, подсказать, в чем может заключаться проблема? Описание библиотеки universalModbus.h читал, не вижу, чтобы в моем скетче были какие-либо противоречия с описанной в примере библиотеки логикой.

Скетч и проект Flprog во вложении.

Спасибо за помощь!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Alhim20
Рядовой
Сообщения: 77
Зарегистрирован: 28 окт 2024, 04:02
Откуда: Белогорск
Имя: Илья
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Не "изменяется" Slave адрес.

Сообщение Alhim20 »

Если slave выходит на связь и исправно выполняет команды исключительно по адресу 1 . то его Адрес 1. (*_*) откуда Вы взяли 86?
ieshua
Рядовой
Сообщения: 3
Зарегистрирован: 14 апр 2025, 22:08
Имя: Илья
Благодарил (а): 1 раз

Re: Не "изменяется" Slave адрес.

Сообщение ieshua »

Alhim20 писал(а): 16 апр 2025, 18:32 Если slave выходит на связь и исправно выполняет команды исключительно по адресу 1 . то его Адрес 1. (*_*) откуда Вы взяли 86?
Я принудительно задаю slave адрес в flprog = 86, т.к. использую большое количество устройств. Можете убедиться в этом, посмотрев приложенный скетч и проект. Но arduino отвечает только по адресу =1, независимо от того, что задано в flprog. В этом и заключался вопрос.
Аватара пользователя
Rovki
Полковник
Сообщения: 5722
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 217 раз
Контактная информация:

Re: Не "изменяется" Slave адрес.

Сообщение Rovki »

Alhim20 писал(а): 16 апр 2025, 18:32 Если slave выходит на связь и исправно выполняет команды исключительно по адресу 1 . то его Адрес 1. (*_*) откуда Вы взяли 86?
Это мастер (ПР) шлет адрес
Электронщик до мозга костей и не только
Alhim20
Рядовой
Сообщения: 77
Зарегистрирован: 28 окт 2024, 04:02
Откуда: Белогорск
Имя: Илья
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Не "изменяется" Slave адрес.

Сообщение Alhim20 »

ModbusSlaveRTU Slave_1_0; Где то в таких 1 цах и есть Ваша ошибка, почитайте внимательней толмут мануала
PFL
Рядовой
Сообщения: 26
Зарегистрирован: 27 май 2021, 13:53
Откуда: Зеленоград
Имя: Вячеслав
Благодарил (а): 11 раз
Поблагодарили: 21 раз

Re: Не "изменяется" Slave адрес.

Сообщение PFL »

А в ПЛК Вы адрес выставляете?
KSP
Лейтенант
Сообщения: 305
Зарегистрирован: 18 сен 2015, 14:00
Откуда: Саратов
Имя: Сергей
Поблагодарили: 1 раз

Re: Не "изменяется" Slave адрес.

Сообщение KSP »

Попробуйте этот проект в 7 версии загрузить, должно помочь библиотеки в версиях разные в 8 версии с Modbusom беда.
S
ieshua
Рядовой
Сообщения: 3
Зарегистрирован: 14 апр 2025, 22:08
Имя: Илья
Благодарил (а): 1 раз

Re: Не "изменяется" Slave адрес.

Сообщение ieshua »

KSP писал(а): 17 апр 2025, 09:44 Попробуйте этот проект в 7 версии загрузить, должно помочь библиотеки в версиях разные в 8 версии с Modbusom беда.
Спасибо за совет! Установил 7.5.2, перезабил переменные и создал подключение modbus rtu, сразу обратил внимание, что в этой версии "индекс" у slave становится равным заданному адресу slave, чего не происходит в версии 8+. Также видно, что в 7.5.2 в принципе не происходит подключения библиотеки universalModbus.h, все делается через SoftwareSerial.h. В первом тесте все заработало по нужному мне адресу. Проверю еще на паре плат и дополню тему, если потребуется.

Еще раз спасибо!
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей