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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> 2 MASTERA RS 485 и доминирующий
adnega
сообщение Feb 3 2016, 20:45
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #34


Гуру
******

Группа: Участник
Сообщений: 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
Огурцов
сообщение Feb 4 2016, 08:37
Сообщение #35


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(adnega @ Feb 3 2016, 21:19) *
ну, там... пару резисторов... может, диодиков

при помощи пары диодиков и одного (или трех) резисторов сделать из rs485 can
да, вот если бы rs485 был сделан из пары rs422 - я бы даже подписался
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 4 2016, 10:32
Сообщение #36


Гуру
******

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



Цитата(Огурцов @ Feb 4 2016, 11:37) *
при помощи пары диодиков и одного (или трех) резисторов сделать из rs485 can
да, вот если бы rs485 был сделан из пары rs422 - я бы даже подписался

Нужно помнить, что резисторы хотелось бы установить только в супер-Мастера, а все остальное должно остаться как есть, ибо работает.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Feb 4 2016, 11:18
Сообщение #37


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Огурцов @ Feb 4 2016, 10:37) *
при помощи пары диодиков и одного (или трех) резисторов сделать из rs485 can
А диоды зачем? Tx прибить гвоздями к земле, передаваемые данные завести на TxEN, резисторами растянуть шину к рецессивному уровню. Что я не учел?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
mantech
сообщение Feb 4 2016, 11:57
Сообщение #38


Гуру
******

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



Цитата(adnega @ Feb 4 2016, 13:32) *
Нужно помнить, что резисторы хотелось бы установить только в супер-Мастера, а все остальное должно остаться как есть, ибо работает.


Может наоборот? Или я че-то не понял... rolleyes.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Feb 4 2016, 12:01
Сообщение #39


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Сергей Борщ @ Feb 4 2016, 14:18) *
А диоды зачем? Tx прибить гвоздями к земле, передаваемые данные завести на TxEN, резисторами растянуть шину к рецессивному уровню. Что я не учел?

Это будет жесть какая-то, а не 485
Примерно как написать в спецификации на изделие "протокол Modbus" и вляпать туда самопальную функцию под номером 175 smile3046.gif
Интеграторы очень "любят" такие сюрпризы

3 страницы обсуждения BDSM ^) (доминирование и все такое)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 4 2016, 12:24
Сообщение #40


Гуру
******

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



Цитата(mantech @ Feb 4 2016, 14:57) *
Может наоборот? Или я че-то не понял... rolleyes.gif

В нашей Вселенной, конечно, наоборот.
Но, видимо, у ТС есть резисторы с отрицательным сопротивлением, чтоб усилить супер-Мастера))

Хотя вначале ему предложили отказаться от RS485 и сделать мультимастер правильно...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 4 2016, 13:14
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 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
Сообщение #42


Гуру
******

Группа: Участник
Сообщений: 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
zltigo
сообщение Feb 4 2016, 13:51
Сообщение #43


Гуру
******

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



QUOTE (mantech @ Feb 4 2016, 15:36) *
Перед началом передачи все мастера обязаны прослушать, чистая-ли линия, кроме самого главного. Если таковых несколько, то выше уже написал...

Ну послушали. Все типа чисто, а на самом деле уже какой-то мастер уже байт запихнул и он бежит по проводам.... но узнают об этом все только после прихода стоп бита.
Вот такой облом sm.gif с Вашим "обязаны послушать".



QUOTE (mantech @ Feb 4 2016, 15:36) *
И так тоже можно...Этакая "преамбула" пакета "все заткнитесь, главный пришел" biggrin.gif

Так не можно, а только так и можно sad.gif.


QUOTE (mantech @ Feb 4 2016, 15:36) *
Дальше можно не продолжать, ибо это что-то с чем-то превращается уже не в изврат, а мазохизм 01.gif

Вообще-то дальше особого уже мазохизма нет - самый главный будет с самой длиной "преамбулой" sm.gif. У кого больше, тот и будет передавать sm.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Feb 4 2016, 14:16
Сообщение #44


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Сергей Борщ @ Feb 4 2016, 12:18) *
А диоды зачем?

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


о! банально - буфер-переходник, принимает с каждого по rs485, передаёт по can
Go to the top of the page
 
+Quote Post
mantech
сообщение Feb 4 2016, 19:58
Сообщение #45


Гуру
******

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



Цитата(Огурцов @ Feb 4 2016, 17:16) *
о! банально - буфер-переходник


Ну вот, началось... Походу ТСу проще выкинуть все это поделье или использовать нормальный протокол, для 485, без всяких супермастеров и пр, что считаю более оптимальным в данном случае.

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

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

 


RSS Текстовая версия Сейчас: 18th June 2025 - 14:20
Рейтинг@Mail.ru


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