реклама на сайте
подробности

 
 
> 2 MASTERA RS 485 и доминирующий
Denisam
сообщение Feb 2 2016, 11:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 27-09-15
Пользователь №: 88 582



Здравствуйте,интересует вопрос реализации на RS485,двух Мастеров.....
Как сделать так чобы 1 Мастер говорил а второй молчал?

Как сделать доминирующего Мастера?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vladec
сообщение Feb 3 2016, 08:38
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 167
Регистрация: 3-10-05
Из: Москва
Пользователь №: 9 158



Решайте вопрос на уровне протокола, посмотрите, например, протокол MODBUS.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 3 2016, 11:14
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (vladec @ Feb 3 2016, 10:38) *
Решайте вопрос на уровне протокола, посмотрите, например, протокол MODBUS.

1) Уж в котрый раз - на RS485 физике невозможно даже сколь-нибудь надежно определить наличие коллизии.
2) MODBUS ни разу ни мультимастер и не имеет никаких средств для разрешения коллизий, даже если-бы их активному передатчику удалось отдетектировать.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
mantech
сообщение Feb 3 2016, 19:58
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(zltigo @ Feb 3 2016, 14:14) *
1) Уж в котрый раз - на RS485 физике невозможно даже сколь-нибудь надежно определить наличие коллизии.
2) MODBUS ни разу ни мультимастер и не имеет никаких средств для разрешения коллизий, даже если-бы их активному передатчику удалось отдетектировать.


Ну вот, докопались до человека biggrin.gif

Если у него и есть что-то рабочее, хотя ИМХО - на 485й физике - это изврат, то просто гибрид временного разделения с программным детектором коллизий, определением своего маркера и контр. суммы... На подобие эзернета по коаксиалу laughing.gif
В принципе возможно, в реалии дурдом rolleyes.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 3 2016, 20:20
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (mantech @ Feb 3 2016, 21:58) *
программным детектором коллизий

C этого момента, пожалуйста поподробнее. Как это по Вашему реализуется? Например, есть два мастера. Между ними линия несколько сот метров витой пары AWG24. Один (тот котрый менее мастер sm.gif )мастер предает и тут вылезает с передачей более крутой мастер.
Я весь внимание!


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 3 2016, 20:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(zltigo @ Feb 3 2016, 23:20) *
Я весь внимание!

Слейвы офигивеют от такого напора, начинают не отвечать или отвечают с некорректными контрольными суммами.
Мастера, не дождавшись корректного ответа с корректной контрольной суммой в обозначенное время, соображают, что это может быть коллизия!
Тот который слабенький перестают обращаться к шине в течение 10 секунд после последнего принятого сообщения (он при этом продолжает подслущивать шину). Тот который сильный начинает обмен через 1 секунду после тотального "нехорошо". По уму он еще может послать слабаку некое послание,
мол, давай поделай, что ты там хотел, только побыстрее, иначе я тебе такую коллизию устрою.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 3 2016, 21:22
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (adnega @ Feb 3 2016, 22:45) *
Слейвы офигивеют от такого напора....

Поздно. Цитирую "тезхадание" ТС:

"Когда один Мастер вещает,подключая второй Мастер,первый замолкает."

Так что предположения мастеров о наличии коллизии вызванные неответами слейвов это медленно для TC.
А коллизии именно в момент передачи надежно на 485 не определить. О чем сразу и было сказано.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 4 2016, 04:28
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(zltigo @ Feb 4 2016, 00:22) *
Поздно. Цитирую "тезхадание" ТС:

"Когда один Мастер вещает,подключая второй Мастер,первый замолкает."

Так что предположения мастеров о наличии коллизии вызванные неответами слейвов это медленно для TC.
А коллизии именно в момент передачи надежно на 485 не определить. О чем сразу и было сказано.

Это назывется неразрушающий арбитраж. У CAN такое есть.
Если нужно поверх RS485, то только с отслеживанием коллизий на уровне протокола.
Да, во время коллизии переключение Мастеров будет не быстрым, но затем можно работать на полную катушку.
Go to the top of the page
 
+Quote Post
mantech
сообщение Feb 4 2016, 07:36
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(adnega @ Feb 4 2016, 07:28) *
Если нужно поверх RS485, то только с отслеживанием коллизий на уровне протокола.
Да, во время коллизии переключение Мастеров будет не быстрым, но затем можно работать на полную катушку.


Об этом и писал, ибо определить коллизию в этом случае можно только по приему\неприему транзакции. Как правило - это тестовая очень короткая транзакция, причем все остальные мастера в неактивном режиме "слушают" линию, если мастер не основной(которому все можно biggrin.gif ), при появлении в линии тестовой транзакции, затыкается на случайный интервал времени, основной пихает свои данные в любое время, "расталкивая" всех остальных... Как правильно заметили, требуется некоторое время на всю эту свистопляску, но ТС не регламентировал скорости и тайминги.

ЗЫ. Ну а если ему нужна именно аппаратная реализация - то пусть коммутирует резюки, если так уж приперло или шимирование, но это уже другая тема wacko.gif

Сообщение отредактировал mantech - Feb 4 2016, 07:45
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 4 2016, 13:14
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (mantech @ Feb 4 2016, 09:36) *
Об этом и писал, ибо определить коллизию в этом случае можно только по приему\неприему транзакции.

Не совсем так - только по НЕОТВЕТУ на запрос. Так что описанный Вами ниже механизм не работает.
QUOTE
Как правило - это тестовая очень короткая транзакция, причем все остальные мастера в неактивном режиме "слушают" линию

А если они вдуг НЕ слушают, а передают, то построенный карточный домик такого алгоритмя рушится sad.gif, посколюку неосновной так и не узнает, что ему оказывается надо заткнуться.
QUOTE
Как правильно заметили, требуется некоторое время на всю эту свистопляску, но ТС не регламентировал скорости и тайминги.

Вообще то АБСОЛЮТНО ТОЧНО регламентировал - "слабый" в его терминологии мастер, должен прямо во время своей передачи заткнуться, в "сильный" как ни всем ни бывало передать.

Гарантированное вклинивание одного мастера в 485 может быть только по следующему алгоритму:
мастер, который хочет всех растолкать должен начать гнать непрепрерывно в линию символ (не фрейм!) трактуемый всеми, как "забой". Длительность передачи такого символа должна быть больше длительности передачи любого другого фрейма. Таким образом остальные мастера поймав последовательность таких символов могут знать, что сразу после окончания такой последовательности будет передан фрейм и надо ждать окончания этого фрейма.
При этом надо, если таких срочных передатчиков не один, заниматься уже их арбитражем sm.gif.






--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
mantech
сообщение Feb 4 2016, 13:36
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(zltigo @ Feb 4 2016, 16:14) *
При этом надо, если таких срочных передатчиков не один,


Дальше можно не продолжать, ибо это что-то с чем-то превращается уже не в изврат, а мазохизм 01.gif

Цитата(zltigo @ Feb 4 2016, 16:14) *
А если они вдуг НЕ слушают, а передают, то построенный карточный домик такого алгоритмя рушится


Перед началом передачи все мастера обязаны прослушать, чистая-ли линия, кроме самого главного. Если таковых несколько, то выше уже написал...

Цитата(zltigo @ Feb 4 2016, 16:14) *
Гарантированное вклинивание одного мастера в 485 может быть только по следующему алгоритму:


И так тоже можно...Этакая "преамбула" пакета "все заткнитесь, главный пришел" biggrin.gif

Сообщение отредактировал mantech - Feb 4 2016, 13:36
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Denisam   2 MASTERA RS 485 и доминирующий   Feb 2 2016, 11:12
- - zltigo   QUOTE (Denisam @ Feb 2 2016, 13:12) Как с...   Feb 2 2016, 11:20
|- - Denisam   Цитата(zltigo @ Feb 2 2016, 11:20) Сюрпри...   Feb 2 2016, 11:30
- - zltigo   Даже интересно стало, что Вам "понятно"?...   Feb 2 2016, 11:36
|- - Denisam   Цитата(zltigo @ Feb 2 2016, 11:36) Даже и...   Feb 2 2016, 11:39
|- - zltigo   QUOTE (Denisam @ Feb 2 2016, 13:39) У мен...   Feb 2 2016, 11:40
||- - Denisam   Цитата(zltigo @ Feb 2 2016, 11:40) Ложь. ...   Feb 2 2016, 11:46
||- - zltigo   QUOTE (Denisam @ Feb 2 2016, 13:46) Зачем...   Feb 2 2016, 11:58
||- - Denisam   Цитата(zltigo @ Feb 2 2016, 11:58) По нед...   Feb 2 2016, 12:08
||- - zltigo   QUOTE (Denisam @ Feb 2 2016, 14:08) Транс...   Feb 2 2016, 12:12
||- - Denisam   Цитата(zltigo @ Feb 2 2016, 12:12) Увы, в...   Feb 2 2016, 12:13
|- - adnega   Цитата(Denisam @ Feb 2 2016, 14:39) У мен...   Feb 2 2016, 12:31
|- - zltigo   QUOTE (adnega @ Feb 2 2016, 14:31) Можно ...   Feb 2 2016, 12:33
|- - Denisam   Цитата(adnega @ Feb 2 2016, 12:31) Можно ...   Feb 2 2016, 12:35
|- - zltigo   QUOTE (Denisam @ Feb 2 2016, 14:35) напри...   Feb 2 2016, 12:40
|- - adnega   Цитата(Denisam @ Feb 2 2016, 15:35) Вот,в...   Feb 2 2016, 13:54
|- - Denisam   Это все хорошо и я понимаю,как оно должно работать...   Feb 2 2016, 14:52
|- - adnega   Цитата(Denisam @ Feb 2 2016, 17:52) Нужно...   Feb 2 2016, 15:23
|- - Denisam   Цитата(adnega @ Feb 2 2016, 15:23) Это не...   Feb 2 2016, 15:57
|- - adnega   Цитата(Denisam @ Feb 2 2016, 18:57) Так м...   Feb 2 2016, 16:03
|- - Denisam   Цитата(adnega @ Feb 2 2016, 16:03) Т.е. у...   Feb 2 2016, 16:12
|- - adnega   Цитата(Denisam @ Feb 2 2016, 19:12) Ну ка...   Feb 2 2016, 16:14
|- - Denisam   Цитата(adnega @ Feb 2 2016, 16:14) А како...   Feb 2 2016, 16:24
|- - adnega   Цитата(Denisam @ Feb 2 2016, 19:24) В том...   Feb 2 2016, 16:31
|- - kolobok0   Цитата(Denisam @ Feb 2 2016, 19:24) В том...   Feb 3 2016, 06:27
|- - adnega   Цитата(mantech @ Feb 3 2016, 22:58) Ну во...   Feb 3 2016, 20:19
||- - Огурцов   Цитата(adnega @ Feb 3 2016, 21:19) ну, та...   Feb 4 2016, 08:37
||- - adnega   Цитата(Огурцов @ Feb 4 2016, 11:37) при п...   Feb 4 2016, 10:32
|||- - mantech   Цитата(adnega @ Feb 4 2016, 13:32) Нужно ...   Feb 4 2016, 11:57
|||- - adnega   Цитата(mantech @ Feb 4 2016, 14:57) Может...   Feb 4 2016, 12:24
||- - Сергей Борщ   Цитата(Огурцов @ Feb 4 2016, 10:37) при п...   Feb 4 2016, 11:18
||- - MrYuran   Цитата(Сергей Борщ @ Feb 4 2016, 14:18) А...   Feb 4 2016, 12:01
||- - Огурцов   Цитата(Сергей Борщ @ Feb 4 2016, 12:18) А...   Feb 4 2016, 14:16
||- - mantech   Цитата(Огурцов @ Feb 4 2016, 17:16) о...   Feb 4 2016, 19:58
||- - Baser   Цитата(mantech @ Feb 4 2016, 21:58) Ну во...   Feb 4 2016, 21:35
|- - zltigo   QUOTE (mantech @ Feb 4 2016, 15:36) Перед...   Feb 4 2016, 13:51
- - smalcom   ЦитатаДумаю, можно закругляться, у меня уже попкор...   Feb 4 2016, 22:00


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 07:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01556 секунд с 7
ELECTRONIX ©2004-2016