Страница 8 из 11
Re: Modbus 9.3.12
Добавлено: 07 окт 2025, 10:15
montirovka
Подскажите для чего чекбоксы Сохранять в EEPROM как адрес и значения. Хоть устанавливай, хоть убирай ни чего не меняется. Из таблицы можно устанавливать и редактируется. Версия FLProg 9.5.11.
2025-10-07_08-47-15.png
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 11:58
montirovka
Подскажите, а есть ли какие то правила, соотношения выбора периода синхронизации в зависимости от скорости порта?
2025-10-08_11-50-56.png
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 12:59
Rovki
Период синхронизации (частоты отправки запросов мастера ) должен быть больше время отправки ,приема пакетов .
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 14:58
montirovka
Rovki писал(а): 08 окт 2025, 12:59
Период синхронизации (частоты отправки запросов мастера ) должен быть больше время отправки ,приема пакетов .
Этот параметр в настройках slave. Может частота отправки мастеру? Типа как часто мы хотим оправлять данные мастеру? Так я понимаю?
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 15:05
lfgjikjjyj
Это как раз мастер опрашивает первый слейв
Но я так и не потестил эти моменты ибо даже в новой переработаной и улучшеной версии по модбасу до сих пор не работают софтовые уарты
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 15:16
dstrufanov
montirovka писал(а): 08 окт 2025, 14:58
Типа как часто мы хотим оправлять данные мастеру? Так я понимаю?
В смысле "как часто"? Как запросил мастер, так и отвечает слейв, протокол запрос-ответ
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 15:56
montirovka
dstrufanov писал(а): 08 окт 2025, 15:16
montirovka писал(а): 08 окт 2025, 14:58
Типа как часто мы хотим оправлять данные мастеру? Так я понимаю?
В смысле "как часто"? Как запросил мастер, так и отвечает слейв, протокол запрос-ответ
Так настройки в слейве, а не в мастере. Как захотел слейв передать, так и принял мастер. Так получается?
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 15:59
dstrufanov
montirovka писал(а): 08 окт 2025, 15:56
Как захотел слейв передать, так и принял мастер.
Странно, это уже не модбас
ПС: Там наверное имеется ввиду, что вы задаете мастеру, как надо опрашивать данного слейва
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 16:08
montirovka
Сегодня собрал минимальный проект, в котором передается переменная от мастера слейву и мастер читает переменную со слейва в FLProg 9.1. RS485 подключил через UART RX и TX. Оказывается в версии 9.1 еще нет диспетчера задач. Переменная меняется через 400 мсек. Данные передаются. Заметно, что передача от мастера к слейву немножко медленнее. Запаздывают показания и бывают пропуски. На мастере нет пропусков. Сменил в мастере UART на софтваре сериал. Чуть медленнее стал принимать слэйв.
В мастер залил проект сделанный в FlProg 9.5.11, а слейв оставил 9.1. Работает.
Если в слейв залить проект сделанный в FlProg 9.5.11 то ни куда ни чего не передается.
Скриншот параметров выводимых в монитор порта программы Arduino. Есть мусор.
2025-10-08_14-31-55.png
Почему не работает в FLProg 9.5.11 для меня вопрос остался открытый.
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 20:32
golloper
Странно,modbus вроде как бы основа промышленной связи и программа как бы себя так индефицирует . Но остаётся ахиллесовой пятой.
Может я не прав......
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 20:42
Ander
Если использовать современные МК - таких проблем не наблюдается. Монтировка - удалите со своего проекта дисплей и посмотрите в консоль.
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 20:49
golloper
Может я дремуч, но на мой взгляд этот интерфейс работал ещё далеко до 328 атмеги
Re: Modbus 9.3.12
Добавлено: 08 окт 2025, 22:09
Faza888
Master не проверял, но slave в 9.5.11 на Mega2560 работает хорошо и стабильно, в качестве мастера scada от FLprog. Есть один нюанс правда, если используете плату Arduino, то нужно подключать внешний USB-UART либо разрезать перемычку RESET-EN, иначе при запросе от мастера дергается DTR и arduino перезагружается постоянно.
Re: Modbus 9.3.12
Добавлено: 09 окт 2025, 07:52
montirovka
Сделал мастер минималистический с выводом переменной в монитор порта.
2025-10-09_07-22-44.png
Скрин порта с дисплеями.
2025-10-09_07-20-08.png
Скрин порта без дисплеев.
2025-10-09_07-12-51.png
Видно что производительность возросла почти на 65%, но не заработал прием.
Кто то наверное подумал что данные не передаются в порт? Передаются.
Вывел и другую переменную в порт.
2025-10-09_07-37-41.png
Скрин вывода в порт. Вторая переменная выводится.
2025-10-09_07-35-45.png
Что еще попробовать?
Re: Modbus 9.3.12
Добавлено: 09 окт 2025, 08:17
montirovka
Удалил из слейва дисплей. Вывел переменные в монитор порта.
2025-10-09_08-03-00.png
"Мусор" присутствует. Отключил линию связи с другой платой MAX485. "Мусор" остался.
Re: Modbus 9.3.12
Добавлено: 09 окт 2025, 08:20
montirovka
Проекты без дисплеев.
Re: Modbus 9.3.12
Добавлено: 09 окт 2025, 10:15
Faza888
Посмотрел проекты, почему Вы Master называете slave, а slave называете master?
Мусор присутствует так как Вы используете один UART и для ModBus и для консоли, так нельзя
Re: Modbus 9.3.12
Добавлено: 09 окт 2025, 10:36
montirovka
Faza888 писал(а): 09 окт 2025, 10:15
Посмотрел проекты, почему Вы Master называете slave, а slave называете master?
Мусор присутствует так как Вы используете один UART и для ModBus и для консоли, так нельзя
Спасибо за ответ. Почему я Master называю slave, а slave называю master? Начинал проект с RS485 по урокам Грачика. Может где то что то я не до понял. Но это уже радует что на это обратили внимание. А как вы определили что названия перепутаны? По каким параметрам?
Тогда некоторые вопросы отпадают, а другие появляются. Если мастер работает с тремя слейвами, можно ли выставить разное время опроса слейвов? Или все будут опрашиваться через одно и то же время?
P.S.
Разобрался.Сам спросил и сам отвечу. У разных слевов можно установить разное время периода синхронизации.
Re: Modbus 9.3.12
Добавлено: 09 окт 2025, 10:41
Faza888
Можно выставлять разное время
Re: Modbus 9.3.12
Добавлено: 09 окт 2025, 19:05
Rovki
Нужно спросить у Автора, что он имеет ввиду под временем синхронизации слейва. Слейв- раб. Мастер сказал- слейв сделал(подчиненный). Мастер дает команду слейву и засекает время для ответа слейва (1сек, например). Слейв обязан в кратчайшее время ответить мастеру, закончив отработку других интерфейсов(задач). Скорее всего время синхронизации у слейва это максимальное время у слейва на ответ мастеру. То есть он должен завершить за это время отработку других интерфейсов(устройств ),монопольно занимающих процессорное время.