Modbus 9.3.12
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Вчера решил продолжить изучение проблемы с передачей данных между двумя контроллерами. Для тестов использовал все те же Ардуино
Про Мини и Ардуино Нано. Версия программы FLProg 9.4.
Выбрал простое соединение RX-TX, TX-RX.
Проверил в 7 версии работает. В версии 9.4 залил мастер с включенным диспетчером. Слейв 7 версии. Работает передача как и от мастера слейву, так и от слейва мастеру. Все верно.
Попробовал мастер без диспетчера задач - не работает ни передача, ни прием в любую сторону. В принятых значениях случайные числа. Залил обратно проект мастера версии 9.4 с диспетчером задач. Работает в обе стороны как и передача, так и прием.
Залил проект слейва версии 9.4 с выключенным диспетчером задач. Не работает ни передача ни прием в любую сторону. В принятых значениях как мастера, так и слейва случайные числа.
Залил слейв версии 9.4 с включенным диспетчером задач. В момент включения контроллера после перезагрузки в слейв записывается "лишнее" случайное число, но передача и прием в обе стороны работают. Подскажите, откуда берется это случайное число?
Про Мини и Ардуино Нано. Версия программы FLProg 9.4.
Выбрал простое соединение RX-TX, TX-RX.
Проверил в 7 версии работает. В версии 9.4 залил мастер с включенным диспетчером. Слейв 7 версии. Работает передача как и от мастера слейву, так и от слейва мастеру. Все верно.
Попробовал мастер без диспетчера задач - не работает ни передача, ни прием в любую сторону. В принятых значениях случайные числа. Залил обратно проект мастера версии 9.4 с диспетчером задач. Работает в обе стороны как и передача, так и прием.
Залил проект слейва версии 9.4 с выключенным диспетчером задач. Не работает ни передача ни прием в любую сторону. В принятых значениях как мастера, так и слейва случайные числа.
Залил слейв версии 9.4 с включенным диспетчером задач. В момент включения контроллера после перезагрузки в слейв записывается "лишнее" случайное число, но передача и прием в обе стороны работают. Подскажите, откуда берется это случайное число?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 524
- Зарегистрирован: 31 окт 2023, 12:50
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 99 раз
Re: Modbus 9.3.12
а если вот так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Результат тот же. Дополнительное значение появляется в том случае, если нет доступа к мастеру (перезагружается). Если нажать резет, то после перезагрузки слейв считает, то что в мастере. Далее работает правильно до тех пор, пока не потеряется связь.
А что было изменено?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 524
- Зарегистрирован: 31 окт 2023, 12:50
- Имя: Андрей
- Благодарил (а): 22 раза
- Поблагодарили: 99 раз
Re: Modbus 9.3.12
Пока нет соединения в регистре мусор из области памяти. точно забыл сначала задать параметр по умолчания . А вот так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Взял рассоединил RXы и TXы контроллеров. На входах случайные числа и там и там.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Rovki
- Полковник
- Сообщения: 5746
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Re: Modbus 9.3.12
Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимыеmontirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
Электронщик до мозга костей и не только
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Ну а ваше предложение какое? Как избавится от произвольных значений переменных? В FLProg 7.5 этого нет.Rovki писал(а): 30 июн 2025, 20:45Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимыеmontirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
- Rovki
- Полковник
- Сообщения: 5746
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Re: Modbus 9.3.12
Если это уставки из мастера, то запоминать в еепром каждое изменение в слейве.montirovka писал(а): 30 июн 2025, 20:54Ну а ваше предложение какое? Как избавится от произвольных значений переменных? В FLProg 7.5 этого нет.Rovki писал(а): 30 июн 2025, 20:45Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимыеmontirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
Электронщик до мозга костей и не только
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Добавил переменную и сделал фильтр по полосе правильных передаваемых значений. При старте ошибок нет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Вернулся к RS485. Для прием передача использую те же платы с MAX485. В версии FLProg 9.4 передача работает только от мастера к слейву. От слейва к мастеру не передается.
Проект в FLProg 7.5 работает в обе стороны.
Проект в FLProg 7.5 работает в обе стороны.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 4020
- Зарегистрирован: 12 фев 2016, 11:40
- Откуда: Шатура
- Имя: Энвер
- Благодарил (а): 137 раз
- Поблагодарили: 167 раз
Re: Modbus 9.3.12
В FLProg 9 версии любую тэг Modbus пометить как "Сохранение EEPROM". Вы эту опцию в ПР-200 имели ввиду?Rovki писал(а): 30 июн 2025, 20:45Ни каких нулей, только то что отправил мастер в последний раз ... А то дом заморозите , если мастер сломался . Хорошо в пр200 все сетевые переменные энергонезависимыеmontirovka писал(а): 30 июн 2025, 19:08 Замечательно. Применение Платы инициализации для переменной Сумма решила проблему.
По идее надо и в мастере также прописывать нулевые значения переменным передающихся по шине .
WhatsApp Image 2025-06-30 at 18.58.58.jpeg
Разработчик сохранение в EEPROM(любой переменной) реализовал не обычно.
EEPROM медленное устройство(запись 5 мсна байт), тем не менее запись выполняется прозрачно и на быстродействие проекта работа с EEPROM практически не влияет.
- Rovki
- Полковник
- Сообщения: 5746
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 69 раз
- Поблагодарили: 223 раза
- Контактная информация:
Re: Modbus 9.3.12
В Пр200 есть супервизор питания . Все модбас переменные работают в оперативке , но при снижении напряжения питания(выключении) переписывают их в ПЗУ.При включении питания переменная из ПЗУ загружается в ОЗУ.. Любую переменную не нужно сохранять, которая меняется часто, я ж говорил об УСТАВКАХ.
Электронщик до мозга костей и не только
- montirovka
- Капитан
- Сообщения: 770
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 50 раз
- Поблагодарили: 178 раз
Re: Modbus 9.3.12
Продолжил изучение RS485. Заменил платы с MAX485 с входами RE/DE на платы без этих входов.
Для себя сделал выводы - обязательно на входе данных фильтр данных, а неверное значение в течении какого то промежутка времени использовать как сигнал неработоспособности передачи данных.
Вопрос почему не работает RS485 с использованием RE/DE остается открытым.
Запустил проект с выключенным RS485. Работает, но почему то на одно показание больше считает. Если до этого сумма была 5050, то сейчас 5150. Это не страшно. Включил режим RS485. Ни чего не поменялось. Наверное так должно было быть. Я же не использую RE/DE.
Дальше разбираться начну когда выйдет новая верия программы FLProg. Может там что то изменится. Для себя сделал выводы - обязательно на входе данных фильтр данных, а неверное значение в течении какого то промежутка времени использовать как сигнал неработоспособности передачи данных.
Вопрос почему не работает RS485 с использованием RE/DE остается открытым.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость