Страница 6 из 7

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 16:59
montirovka
Вчера решил продолжить изучение проблемы с передачей данных между двумя контроллерами. Для тестов использовал все те же Ардуино
Про Мини и Ардуино Нано. Версия программы FLProg 9.4.
Выбрал простое соединение RX-TX, TX-RX.
Проверил в 7 версии работает. В версии 9.4 залил мастер с включенным диспетчером. Слейв 7 версии.
1.jpg
Работает передача как и от мастера слейву, так и от слейва мастеру. Все верно.
Попробовал мастер без диспетчера задач - не работает ни передача, ни прием в любую сторону. В принятых значениях случайные числа.
2.jpg
Залил обратно проект мастера версии 9.4 с диспетчером задач. Работает в обе стороны как и передача, так и прием.
Залил проект слейва версии 9.4 с выключенным диспетчером задач. Не работает ни передача ни прием в любую сторону. В принятых значениях как мастера, так и слейва случайные числа.
Залил слейв версии 9.4 с включенным диспетчером задач. В момент включения контроллера после перезагрузки в слейв записывается "лишнее" случайное число, но передача и прием в обе стороны работают.
5.jpg
Подскажите, откуда берется это случайное число?

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 18:03
Ander
а если вот так?

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 18:32
montirovka
Ander писал(а): 30 июн 2025, 18:03 а если вот так?
Результат тот же.
WhatsApp Image 2025-06-30 at 18.21.18.jpeg
Дополнительное значение появляется в том случае, если нет доступа к мастеру (перезагружается). Если нажать резет, то после перезагрузки слейв считает, то что в мастере. Далее работает правильно до тех пор, пока не потеряется связь.
А что было изменено?

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 18:42
Ander
Пока нет соединения в регистре мусор из области памяти. точно забыл сначала задать параметр по умолчания . А вот так?

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 18:47
montirovka
Взял рассоединил RXы и TXы контроллеров. На входах случайные числа и там и там.

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 19:03
Ander
Попробуйте для начала увеличить время опроса. допистим 1 сек

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 19:08
montirovka
Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 19:15
Ander
Отлично

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 20:45
Rovki
montirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимые

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 20:54
montirovka
Rovki писал(а): 30 июн 2025, 20:45
montirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимые
Ну а ваше предложение какое? Как избавится от произвольных значений переменных? В FLProg 7.5 этого нет.

Re: Modbus 9.3.12

Добавлено: 30 июн 2025, 21:55
Rovki
montirovka писал(а): 30 июн 2025, 20:54
Rovki писал(а): 30 июн 2025, 20:45
montirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимые
Ну а ваше предложение какое? Как избавится от произвольных значений переменных? В FLProg 7.5 этого нет.
Если это уставки из мастера, то запоминать в еепром каждое изменение в слейве.

Re: Modbus 9.3.12

Добавлено: 01 июл 2025, 09:31
montirovka
Добавил переменную и сделал фильтр по полосе правильных передаваемых значений. При старте ошибок нет.
2025-07-01_09-22-24.png

Re: Modbus 9.3.12

Добавлено: 01 июл 2025, 11:27
montirovka
Вернулся к RS485. Для прием передача использую те же платы с MAX485. В версии FLProg 9.4 передача работает только от мастера к слейву. От слейва к мастеру не передается.
Проект в FLProg 7.5 работает в обе стороны.
WhatsApp Image 2025-07-01 at 11.11.49.jpeg

Re: Modbus 9.3.12

Добавлено: 01 июл 2025, 11:33
ecoins
Rovki писал(а): 30 июн 2025, 20:45
montirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимые
В FLProg 9 версии любую тэг Modbus пометить как "Сохранение EEPROM". Вы эту опцию в ПР-200 имели ввиду?
Разработчик сохранение в EEPROM(любой переменной) реализовал не обычно.
EEPROM медленное устройство(запись 5 мсна байт), тем не менее запись выполняется прозрачно и на быстродействие проекта работа с EEPROM практически не влияет.

Re: Modbus 9.3.12

Добавлено: 01 июл 2025, 21:45
Rovki
В Пр200 есть супервизор питания . Все модбас переменные работают в оперативке , но при снижении напряжения питания(выключении) переписывают их в ПЗУ.При включении питания переменная из ПЗУ загружается в ОЗУ.. Любую переменную не нужно сохранять, которая меняется часто, я ж говорил об УСТАВКАХ.

Re: Modbus 9.3.12

Добавлено: 02 июл 2025, 11:17
montirovka
Продолжил изучение RS485. Заменил платы с MAX485 с входами RE/DE на платы без этих входов.
WhatsApp Image 2025-07-02 at 10.02.47.jpeg
Запустил проект с выключенным RS485. Работает, но почему то на одно показание больше считает. Если до этого сумма была 5050, то сейчас 5150. Это не страшно. Включил режим RS485. Ни чего не поменялось. Наверное так должно было быть. Я же не использую RE/DE.
WhatsApp Image 2025-07-02 at 10.15.24 (1).jpeg
Дальше разбираться начну когда выйдет новая верия программы FLProg. Может там что то изменится.
Для себя сделал выводы - обязательно на входе данных фильтр данных, а неверное значение в течении какого то промежутка времени использовать как сигнал неработоспособности передачи данных.
Вопрос почему не работает RS485 с использованием RE/DE остается открытым.

Re: Modbus 9.3.12

Добавлено: 07 июл 2025, 20:06
SSSR2000
Кто нибудь пробовал связь через rs485 c контроллером stm32h743, скачал кучу примеров, последовательно пробовал разными способами - связи нет. Если у кого нибудь есть пример очень прошу поделиться. Очень благодарю за помощь!

Re: Modbus 9.3.12

Добавлено: 07 июл 2025, 21:38
montirovka
Я не знаю дружит ли RS485 с STM, но с Ардуино в девятой нет. От мастера к слейвы передача есть, от слева -нет.

Re: Modbus 9.3.12

Добавлено: 08 июл 2025, 07:20
skrickis
У меня в версии 9.2.6 с STM32F407
работает один мастер (читает температуры)
И один слейв (управление) + Nextion
На разных UART
С таким блоком без DE pin
[url]https://m.elecrow.com/pages/shop/produc ... =2073&/url]
В версии 9.4.x ещё не пробовал
На STM32H743 буду пробовать, но попозжде

Re: Modbus 9.3.12

Добавлено: 08 июл 2025, 08:04
SSSR2000
Использую вот https://www.chipdip.ru/product0/8009384821 , сигнал пытаюсь поймать Modbus RTU Scanner 2.1. RE/DE , как я понимаю подается сигнал с контроллера 1 на 2 контакта, переставлял пины местами на контроллере по uart, нет ответа. В данном случае помощи ждать только от Энвера (ecoins)