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

 
 
 
Reply to this topicStart new topic
> Резервирование шины RS-485
Kot
сообщение Sep 26 2004, 01:33
Сообщение #1





Группа: Свой
Сообщений: 12
Регистрация: 24-09-04
Из: Харьков
Пользователь №: 711



Есть шина RS-485 (мастер и несколько слэйвов). Если завести еще одну такую же шину - получится резервирование обмен сначала в одной шине, потом во второй.
Нужно парировать зависший на передаче слэйв или пробитый опять же на передачу 485-й драйвер. Если две шины вроде получается?
Также надо при зависании или умирании мастера одному из слэйвов стать мастером. Вроде бы можно сделать передачу полномочий по обычному тайм-ауту? Или кроме этого еще получить подтверждение зависания/умирания старого мастера от большинства слэйвов?
Или может лучше одну шину пустить штатно мастер-слэйвы, а вторую только между слэйвами?
Что посоветутете?
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Sep 29 2004, 23:24
Сообщение #2


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Была такая задачка. Реализовали резервный канал, протокол Modbus. В слэйве реализовали поочередный опрос каналов так: считали команду, выполнили, перешли на другой канал, там считали и при необходимости выполнили. Вроде всё нормально, но только в том случае, если оба канал подключены к одному мастеру :P . Возможны случаи, когда по ошибке или в целях отладки каналы разводишь на разные мастера, тогда в слэейве поочереди могут возникнуть две взаимоисключающие команды. После подчистки и отладки кода, удалось исключить возможный конфликт. Эту ситуацию рассмотрели по-подробнее и даже стали иногда использовать, например, когда нужно временно дублировать мастера.


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
John
сообщение Oct 8 2004, 04:01
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 29
Регистрация: 6-10-04
Пользователь №: 799



В одном из своих проектов я применил следующую схему, каждый слейв имеет два канала (основной и резервный), всего 40 слейвов и два мастера ( один мастер в горячем резерве), при начальной инициализации мастер дает запрос слейву по обоим каналам, на каком канале получен ответ на том канале слейв и остается, в процессе работы если нет ответа от слейва за отведенный таймаут, то поиск слейва ведется на другом канале. Ширина канала должна быть такой что бы все устройсва могли быть обслужены за отведенное время (таймаут).
Используемый протокол MODBUS.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Oct 8 2004, 05:56
Сообщение #4


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



В приведенном ранее примере мы пытались включить в систему несколько мастеров одновременно. На основе коменд Модбас попродили обмен между мастерами, выделили им зону адресов в верхней части адресного пространства. В единицу времени в системе только один активный мастер, остальные считаются пассивными: слушают все, копят, что надо и т.п. Активный мастер в конце опроса слейвов, также опрашивает все пассивные мастера на предмет наличия у них каких-то потребностей по чтению-записи в какие-то слейвы. Кроме того, активный спрашивает, не хочет ли кто-то из них стать активным. Если есть желающие, то одному из них передается управление. В этом месте был глюк с приоритетами, потом решили отдавать управление по очередности опроса, получилось, кто в конце был опрошен, тот и получал управление. Вся эта бодяга реализована и установлена на одном из объектов, но...сейчас в системе всего один мастер, остальные разведены каналами, как говорилось раньше, так как этот алгоритм пока не отлажен, а на живом объекте это делать нежелательно и опасно.


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
Scrambler
сообщение Dec 22 2004, 00:37
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 36
Регистрация: 24-11-04
Из: Санкт-Петербург
Пользователь №: 1 217



А еще есть такая замечательная штука, как Token Ring... rolleyes.gif
Можно взять за основу...
Go to the top of the page
 
+Quote Post
bbg
сообщение Dec 22 2004, 12:37
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 25-06-04
Пользователь №: 179



Цитата(Scrambler @ Dec 22 2004, 03:37)
А еще есть такая замечательная штука, как Token Ring...  rolleyes.gif
Можно взять за основу...
*


В смысле взять и token и ring.. Хорошо получится и без Token Ring ™ smile.gif

Ну а серьезно, делали мы такое нечто, непременным условием было
продолжать работу даже при наличии одной точки отказа, будь то
узел или кабель. Усе закольцовано и даже дважды, использовалась
обычная однонаправленная многомодовая оптика, - пришлось
расссылать данные сразу в обе стороны smile.gif .

Мастер организует таймшер рассылкой токенов,
есть и резервный мастер, включающийся по неприходу токенов
долгое время. Разумеется, самое веселое начинается, когда вдруг
проснется первый мастер, был и для этього некий контроль. По-правде,
вся эта бодяга так и не понадобилось, заказчик тему схлопнул.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Dec 22 2004, 14:44
Сообщение #7


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



[/quote=По-правде, вся эта бодяга так и не понадобилось, заказчик тему схлопнул.]
*


Аналогично, до сих пор на объекте каналы разведены по отдельным мастерам, так что они на одном канале пока не встречаются smile.gif Береженого известно, кто бережет


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Dec 29 2004, 12:49
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(Kot @ Sep 26 2004, 05:33)
Есть шина RS-485 (мастер и несколько слэйвов). Если завести еще одну такую же шину - получится резервирование обмен сначала в одной шине, потом во второй.
    Также надо при зависании или умирании мастера одному из слэйвов стать мастером. Вроде бы можно сделать передачу полномочий по обычному тайм-ауту?
*

Мы работали так:
Когда станция выходит на передачу, то передает одинаковые данные одновременно в оба канала RS485.
Принимающая станция принимает и обрабатывает запросы только из одного канала. Текущий "рабочий" канал определяется фоновой задачей, которая попеременно "прослушивает" оба канала, составляя список доступных станций на каждом канале. Это про дублирование.
Что касается многомастерности - работали по протоколу Profibus.
Go to the top of the page
 
+Quote Post
aal
сообщение Jan 11 2005, 05:53
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 230
Регистрация: 20-10-04
Из: Новосибирская обл, п.Краснообск.
Пользователь №: 916



Делали подобную задачу (не 485). В итоге слали по обоим каналам. Контроллер по приёму отрабатывал первую пришедшую команду. Копию игнорирует (тайм аут) на выполнение, но шлет подтверждение на все команды и по тому же каналу, какому получил. Мастер один - РС.


--------------------
_____________________________________
Пароли неприемлемы, легко взламываются терморектальным криптоанализатором.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Jan 17 2005, 20:58
Сообщение #10


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Знаю, что неправильно, но на одном объекте провели две линии (основную и резервную), а инфу гоняли только по одной. мастер сам принимал решение о переходе на другую линию, только если на первой была проблема. Что это дало? Дополнительный канал связи с удаленными объектами на период наладочных и ремонтных работ. Зная алгоритм мастера и то, что мала вероятность выхода из строя текущего канала именно тогда, когда приехал на объект, суешь в свободный канал то, что нужно для профилактических и ремонтных работ. Заказчик об этом знает, не ругается, сам иногда пользуется, хотя не положено.
Не делайте так, это не совет. Но если Заказчик берет ответственность на себя, то осторожно можно smile.gif


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post

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

 


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


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