|
|
 |
Ответов
|
Feb 3 2016, 11:14
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
|
Feb 3 2016, 20:45
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(zltigo @ Feb 3 2016, 23:20)  Я весь внимание! Слейвы офигивеют от такого напора, начинают не отвечать или отвечают с некорректными контрольными суммами. Мастера, не дождавшись корректного ответа с корректной контрольной суммой в обозначенное время, соображают, что это может быть коллизия! Тот который слабенький перестают обращаться к шине в течение 10 секунд после последнего принятого сообщения (он при этом продолжает подслущивать шину). Тот который сильный начинает обмен через 1 секунду после тотального "нехорошо". По уму он еще может послать слабаку некое послание, мол, давай поделай, что ты там хотел, только побыстрее, иначе я тебе такую коллизию устрою.
|
|
|
|
|
Feb 3 2016, 21:22
|

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

|
QUOTE (adnega @ Feb 3 2016, 22:45)  Слейвы офигивеют от такого напора.... Поздно. Цитирую "тезхадание" ТС: "Когда один Мастер вещает,подключая второй Мастер,первый замолкает." Так что предположения мастеров о наличии коллизии вызванные неответами слейвов это медленно для TC. А коллизии именно в момент передачи надежно на 485 не определить. О чем сразу и было сказано.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 4 2016, 07:36
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(adnega @ Feb 4 2016, 07:28)  Если нужно поверх RS485, то только с отслеживанием коллизий на уровне протокола. Да, во время коллизии переключение Мастеров будет не быстрым, но затем можно работать на полную катушку. Об этом и писал, ибо определить коллизию в этом случае можно только по приему\неприему транзакции. Как правило - это тестовая очень короткая транзакция, причем все остальные мастера в неактивном режиме "слушают" линию, если мастер не основной(которому все можно  ), при появлении в линии тестовой транзакции, затыкается на случайный интервал времени, основной пихает свои данные в любое время, "расталкивая" всех остальных... Как правильно заметили, требуется некоторое время на всю эту свистопляску, но ТС не регламентировал скорости и тайминги. ЗЫ. Ну а если ему нужна именно аппаратная реализация - то пусть коммутирует резюки, если так уж приперло или шимирование, но это уже другая тема
Сообщение отредактировал mantech - Feb 4 2016, 07:45
|
|
|
|
|
Feb 4 2016, 13:14
|

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

|
QUOTE (mantech @ Feb 4 2016, 09:36)  Об этом и писал, ибо определить коллизию в этом случае можно только по приему\неприему транзакции. Не совсем так - только по НЕОТВЕТУ на запрос. Так что описанный Вами ниже механизм не работает. QUOTE Как правило - это тестовая очень короткая транзакция, причем все остальные мастера в неактивном режиме "слушают" линию А если они вдуг НЕ слушают, а передают, то построенный карточный домик такого алгоритмя рушится  , посколюку неосновной так и не узнает, что ему оказывается надо заткнуться. QUOTE Как правильно заметили, требуется некоторое время на всю эту свистопляску, но ТС не регламентировал скорости и тайминги. Вообще то АБСОЛЮТНО ТОЧНО регламентировал - "слабый" в его терминологии мастер, должен прямо во время своей передачи заткнуться, в "сильный" как ни всем ни бывало передать. Гарантированное вклинивание одного мастера в 485 может быть только по следующему алгоритму: мастер, который хочет всех растолкать должен начать гнать непрепрерывно в линию символ (не фрейм!) трактуемый всеми, как "забой". Длительность передачи такого символа должна быть больше длительности передачи любого другого фрейма. Таким образом остальные мастера поймав последовательность таких символов могут знать, что сразу после окончания такой последовательности будет передан фрейм и надо ждать окончания этого фрейма. При этом надо, если таких срочных передатчиков не один, заниматься уже их арбитражем  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 4 2016, 13:36
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(zltigo @ Feb 4 2016, 16:14)  При этом надо, если таких срочных передатчиков не один, Дальше можно не продолжать, ибо это что-то с чем-то превращается уже не в изврат, а мазохизм  Цитата(zltigo @ Feb 4 2016, 16:14)  А если они вдуг НЕ слушают, а передают, то построенный карточный домик такого алгоритмя рушится Перед началом передачи все мастера обязаны прослушать, чистая-ли линия, кроме самого главного. Если таковых несколько, то выше уже написал... Цитата(zltigo @ Feb 4 2016, 16:14)  Гарантированное вклинивание одного мастера в 485 может быть только по следующему алгоритму: И так тоже можно...Этакая "преамбула" пакета "все заткнитесь, главный пришел"
Сообщение отредактировал mantech - Feb 4 2016, 13:36
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|