Глава 3 Разработка общих для всех локальных контроллеров аппаратной и программной частей.

Обсуждение и вопросы по урокам Ардуино
Андрюс
Сообщения: 10
Зарегистрирован: 10 май 2018, 20:03

Глава 3 Разработка общих для всех локальных контроллеров аппаратной и программной частей.

Сообщение Андрюс » 25 июл 2018, 23:05

Просидел вечер на уроками гл. 3 - не получилось. 1. Загружаю отдельно с компьютера скетчи Glava_3_1 — Glava_3_5 в локальную плату (Uno) шины RS485. 2. Собираю всю сеть в место. Локальная плата питается от отдельного источника напитания 9 В в разъем. 3. Обращаюсь с помощью программы HoldingReg к локальной плате - адрес контроллера устанавливаю 254. 4. Нажимаю кнопку считанные данные -светодиоды на платах (обеих) мигают и пишет Чтение: Ошибка. Запись - Ошибка. Специально изменяю адрес контроллера на другой (192,193,252,50 ...) и нажимаю кнопку считанные данные - мигает только один светодиод на конвертере (USB-RS485) - правильно. Почему нет ответа контроллера при правильной установке адреса - ошибка ? С программой SetAdress - тоже самое. Пожалуйста поясните. С программами из главы 5 естественно тоже самое. Схему собрал по функциональной схеме гл.3.


Эдуард
Администратор
Сообщения: 484
Зарегистрирован: 30 окт 2016, 20:53

Re: Глава 3 Разработка общих для всех локальных контроллеров аппаратной и программной частей.

Сообщение Эдуард » 25 июл 2018, 23:23

Здравствуйте!
У вас не может быть аппаратная ошибка? У меня все работает идеально.

Проверять надо на самом простом варианте. Если он не работает, то остальные тем более не заработают.
Это скетч Glava_3_1 и программа HoldingReg. В скетче зашит адрес 254. Реализована запись и чтение 10 регистров хранения.
Показатель, что локальный контроллер принял правильно пакет от ведущего и передает ему ответный пакет - это мигание светодиода ОБМЕН. Мигает в момент чтения или записи?

Андрюс
Сообщения: 10
Зарегистрирован: 10 май 2018, 20:03

Re: Глава 3 Разработка общих для всех локальных контроллеров аппаратной и программной частей.

Сообщение Андрюс » 26 июл 2018, 22:42

Я не совсем понял сколько в итоге должно быть плат для повторения главы 3: 1.Конвертер USB-RS485: Arduino Nano + MAX485(подключаем к ПК); 2. локальная плата: Arduino Uno+ MAX485. Все это объединяем в сеть. Я делал так. Правильно ? Что за ведущий контроллер ? Если можете, набросайте полную схему для повторения главы 3 (начиная от USB разъема ПК). Спасибо.

Эдуард
Администратор
Сообщения: 484
Зарегистрирован: 30 окт 2016, 20:53

Re: Глава 3 Разработка общих для всех локальных контроллеров аппаратной и программной частей.

Сообщение Эдуард » 26 июл 2018, 23:29

Конвертер USB-RS485 из Главы 2.С одного конца подключается к USB компьютера. С другой стороны сигналы RS-485. На этапе разработки он заменяет собой центральный контроллер. С точки зрения ModBus он ведущий контроллер.

В главе 3 к нему подключается один локальный контроллер. Соединяются одноименные сигналы RS-485 и общий провод.

В будущем к шине RS-485 должны подключаться новые локальные контроллеры.

Программа на компьютере, например HoldingReg, посылает пакет. Если локальный контроллер пакет принял правильно и адрес в пакете совпал с его адресом, то контроллер должен передать ответный пакет. это означает, что его (локального контроллера) светодиод ОБМЕН должен мигнуть. Это первое, чего необходимо добиться.

Андрюс
Сообщения: 10
Зарегистрирован: 10 май 2018, 20:03

Re: Глава 3 Разработка общих для всех локальных контроллеров аппаратной и программной частей.

Сообщение Андрюс » 27 июл 2018, 18:29

Короче разобрался. Связь есть. "Соединяются одноименные сигналы RS-485 и общий провод". Не был подсоединен общий провод. Соединил Arduino-конвертер и Arduino-лок. контроллер. Всё заработало. И главное что когда разрываю общий провод продолжает работать даже при открытии и закрытии программ верхнего уровня на ПК. Спасибо. Пойду по урокам дальше.


Вернуться в «Уроки Ардуино»

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

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