Обмен данными между неограниченным количеством контроллеров

В этом форуме можно обсудить интерфейс программы, работу встроенных блоков, взаимодейсткие с Ардуино IDE и т.д.
Ответить
Аватара пользователя
Siberian
Лейтенант
Сообщения: 473
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Обмен данными между неограниченным количеством контроллеров

#1

Сообщение Siberian » 06.03.2016{, 13:58}

Здравствуйте, Сергей!
Получается типа последовательного соединения передача - прием по очереди между платами.
Обязательное условие - все платы должны быть действующими, если отключить питание от одной из них, то цепочка рвется...

Аватара пользователя
support
Супермодератор
Сообщения: 1750
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 599
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Обмен данными между неограниченным количеством контроллеров

#2

Сообщение support » 06.03.2016{, 14:01}

Совершенно верно. И у них должен быть общий GND
Автор программы FLProg.

Аватара пользователя
Siberian
Лейтенант
Сообщения: 473
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Обмен данными между неограниченным количеством контроллеров

#3

Сообщение Siberian » 06.03.2016{, 14:23}

С общим GND понятно.

У меня проект такой, что передающая плата выступает в роли часов реального времени для трех принимающих, но не всегда принимающие включены одновременно...

Выход из ситуации, наверное только модбас.

Аватара пользователя
support
Супермодератор
Сообщения: 1750
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 599
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Обмен данными между неограниченным количеством контроллеров

#4

Сообщение support » 06.03.2016{, 14:40}

Ну можно конечно костыль сделать. При снятии питания с платы, с помощью реле с  НЗ контактами замыкать RX c ТХ. Тогда плата просто выходит из кольца, но оно не разрывается. Но это не красиво наверное.
Автор программы FLProg.

Аватара пользователя
Siberian
Лейтенант
Сообщения: 473
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Обмен данными между неограниченным количеством контроллеров

#5

Сообщение Siberian » 06.03.2016{, 14:50}

Можно в принципе не через реле, а попробовать использовать маломощные транзисторы в качестве ключей. Как нибудь на днях попробую. Или на микросхеме... Или еще как-то...
Последний раз редактировалось Siberian 06.03.2016{, 14:51}, всего редактировалось 1 раз.

Аватара пользователя
Siberian
Лейтенант
Сообщения: 473
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Обмен данными между неограниченным количеством контроллеров

#6

Сообщение Siberian » 06.03.2016{, 15:31}

Вот нашел.
Для скачивания вложений Вы должны быть зарегистрированы.

DWD
Лейтенант
Сообщения: 349
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Обмен данными между неограниченным количеством контроллеров

#7

Сообщение DWD » 06.03.2016{, 15:49}

support писал(а):При снятии питания с платы, с помощью реле с  НЗ контактами замыкать RX c ТХ.
Просто замкнуть между собой линии приёма и передачи?
Это просто сделать только в случае наличия какого-то источника напряжения в месте переключения.
Иначе ни как.
Разве что тянуть ещё один провод с питанием.
Итого - 4-х жильный кабель: +, -,  RX, ТХ.

Ну, или делать фантомное питание, как в студийных микрофонах: корпус и две сигнальных дифференциальных линии, по которым, по отношению к корпусу подаётся напряжение питания.
Разделение питания и сигнала посредством конденсаторов. В этом случае 3 жилы: -, RX, ТХ. 

Ну и реле - это очень грубо и некрасиво. :)
Годится только как аналогия.

Добавлено (06.03.2016, 15:49)
---------------------------------------------
Siberian писал(а):Вот нашел.
"Вай, зачем такой дорогой машина покупать?.." :)
Сигналы цифровые - можно дешёвой логикой обойтись.
Последний раз редактировалось DWD 06.03.2016{, 15:51}, всего редактировалось 1 раз.
Изображение

Аватара пользователя
Siberian
Лейтенант
Сообщения: 473
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Обмен данными между неограниченным количеством контроллеров

#8

Сообщение Siberian » 06.03.2016{, 16:08}

DWD писал(а):Это просто сделать только в случае наличия какого-то источника напряжения в месте переключения.
Так оно так и будет, переключатель ведь будет стоять с каждой платой.
Питание есть на плате - работает кольцо, нет питания на плате - сигналы пошли мимо.

Добавлено (06.03.2016, 16:08)
---------------------------------------------
Парни, а ведь из этого переключателя ничего не получится. Изображение
У нас же на плате переменная кольца, которая принимает, а потом переменная передачи.
Или я заблуждаюсь...
Нужно будет как-то на железе попробовать.

DWD
Лейтенант
Сообщения: 349
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

Обмен данными между неограниченным количеством контроллеров

#9

Сообщение DWD » 06.03.2016{, 16:59}

Siberian писал(а):Питание есть на плате - работает кольцо, нет питания на плате - сигналы пошли мимо.
Вы не поняли.
Для управления коммутатором требуется напряжение питания, а откуда его взять, если устройство отключается именно отключением питаюшего напряжения?

Нужен независимый источник, запитывающий коммутатор постоянно и независимо от питания платы.

А какая вообще должна быть структура - лучеобразная или кольцо?
И как сигналы идут по RX и ТХ? Я в этом не разбираюсь...
Если на ТХ постоянно идут импульсы, то фантомное питания организовать будет совсем просто - диод и конденсатор.
Коммутатор потребляет мизер...
Последний раз редактировалось DWD 06.03.2016{, 17:04}, всего редактировалось 1 раз.
Изображение

Аватара пользователя
support
Супермодератор
Сообщения: 1750
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 599
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Обмен данными между неограниченным количеством контроллеров

#10

Сообщение support » 06.03.2016{, 17:10}

DWD писал(а):Просто замкнуть между собой линии приёма и передачи?Это просто сделать только в случае наличия какого-то источника напряжения в месте переключения.
Иначе ни как.
Разве что тянуть ещё один провод с питанием.
Итого - 4-х жильный кабель: +, -, RX, ТХ.
Зачем? Запитываем реле от питания этой-же ардуинки. Используем НЗ контакты. При подаче питания на контроллер, реле включается и размыкает свои контакты, соответственно контроллер включается в кольцо, при снятии питания с контроллера, реле обесточивается, замыкает свои контакты, и восстанавливает кольцо замыкая RX и TX
Автор программы FLProg.

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Обмен данными между неограниченным количеством контроллеров

#11

Сообщение Сергей » 06.03.2016{, 17:14}

support, а как насчет этого?
Siberian писал(а):У нас же на плате переменная кольца, которая принимает, а потом переменная передачи.Или я заблуждаюсь...
Какая вообще логика работы этих блоков и сети в целом?

Аватара пользователя
support
Супермодератор
Сообщения: 1750
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 599
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Обмен данными между неограниченным количеством контроллеров

#12

Сообщение support » 06.03.2016{, 17:15}

Siberian писал(а):Парни, а ведь из этого переключателя ничего не получится. У нас же на плате переменная кольца, которая принимает, а потом переменная передачи.
 Нет не так. Один контроллер отправляет пакет. Следующий его ловит. Если ему он не нужен, то он просто отправляет его дальше, если нужен, то забирает его значение и всё равно отправляет дальше. Когда конроллер который его отправил, ловит его после того как этот пакет прошол всё кольцо - он дальше его не отправляет. Где то так. Так что количество контроллеров в кольце не важно. Поймает пакет второй контроллер, или третий (в случае замыкания у второго RX и TX) не важно.
Автор программы FLProg.

Аватара пользователя
Siberian
Лейтенант
Сообщения: 473
Зарегистрирован: 07.09.2015{, 11:51}
Репутация: 8
Откуда: СССР
Имя: Александр

Обмен данными между неограниченным количеством контроллеров

#13

Сообщение Siberian » 06.03.2016{, 17:50}

Образно понятно, но всё-же пока на железе не пощупаешь, досконально не поймешь. Изображение

Alexr
Рядовой
Сообщения: 4
Зарегистрирован: 06.03.2019{, 22:01}
Репутация: 0
Имя: Роман

Обмен данными между неограниченным количеством контроллеров

#14

Сообщение Alexr » 04.03.2020{, 22:33}

Вы имеете ввиду отправку и прием данных через кольцо?
Можно ли таким способом организовать передачу данных между 2 контроллерами ESP, работающими слейвам (Modbus TCP) управляющими разными Скадами ? Нужно чтобы данные из первой скады поступали в контроллер, а управление контроллером -из другой скады.

Ответить

Вернуться в «Обсуждение программы FLProg (Не багтрекер, и не хотелки. Делимся опытом!!)»