Страница 1 из 1

Глава 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.

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

Добавлено: 25 июл 2018, 23:23
Эдуард
Здравствуйте!
У вас не может быть аппаратная ошибка? У меня все работает идеально.

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

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

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

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

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

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

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

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

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

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