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

 
 
13 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> Интерфейс для маленькой "сети", где несколько Master'ов
adnega
сообщение Jul 1 2010, 19:46
Сообщение #61


Гуру
******

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



Уж если RS-485, то могу посоветовать две фишечки:
1. Использовать схему приоритетного опроса. Реализуется не сложно,принцип такой:
- у каждого узла на шине есть приоритет.
- мастер за один цикл опрашивает все узлы с наивысшим приоритетом и одно устройство с приоритетом на единицу ниже (окно). От цикла к циклу в окно последовательно попадают все устройства с приоритетом на единицу ниже и одно на две единицы ниже. Далее рекурсивно. Пример, A, B - наивысшиq приоритет, C, D - чуть ниже, E - низший приоритет. Опрос будет выглядеть так: A B C A B D A B E и т.д. Если какой-то узел не ответил N раз - считаем его потерявшим связь с шиной и устанавливаем низший приоритет. При восстановлении связи с этим узлом - восстанавливаем исходные приоритет.
Плюсы: гарантированный период опроса (ограничен сверху), минимизация простоев на шине.
Минусы: пока не придумал)

2. После запроса мастера к конкретному слейву, тот отвечает на запрос мастеру и может продолжать занимать шину. Скажем, послать команду другому слейву, а затем освободить шину. Псевдомультимастер )

3. Недавно всплывала задачка автоматического поиска устройств на шине RS-485 (охранно-пожарная сигнализация с нестабильно конфигурацией - например, поезд с перецепкой вагонов). Готовые контроллеры имеют 24 битный адрес (8 под тип устройства; 16 под идентификатор, прошиваемый на заводе) - тупой перебор займет мнооого времени (скорость 9600, минимальный пакет слейву 7 байт + таймаут неответа), или я не правильно считаю?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 1 2010, 20:32
Сообщение #62


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(adnega @ Jul 1 2010, 22:46) *
Уж если RS-485, то могу посоветовать две фишечки:

Раз уже пошли советы по теме smile.gif
Могу тоже поделиться hint'ом:
Если использовать хороший помехоустойчивый протокол и не требовательный к таймаутам между пакетами, например модбас over hdlc. Тогда в одной сети можно размещать устройства с разными скоростями обмена. Устройства с ИК портом на 2400-9600, остальные на 115200, а там где много данных например на 1Mbps. В этом случае у мастера появляется возможность адресовать устройства не только адресным байтом, но и признаком скорости. Например в системе может быть 3 устройства с одинаковым адресом "1", но работающих на разных скоростях.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 1 2010, 20:41
Сообщение #63


Гуру
******

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



Цитата(defunct @ Jul 1 2010, 22:35) *
Ну а такие же требования как и для автомобиля могут появиться только если "дом" это одно из трех...

Вот только не надо переворачивать все с ног на голову: сами же писали, что CAN - это слишком дорого.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jul 1 2010, 20:47
Сообщение #64


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(defunct @ Jul 2 2010, 00:32) *
...не только адресным байтом, но и признаком скорости. Например в системе может быть 3 устройства с одинаковым адресом "1", но работающих на разных скоростях.

Может всё таки 2


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 1 2010, 21:05
Сообщение #65


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(aaarrr @ Jul 1 2010, 23:41) *
Вот только не надо переворачивать все с ног на голову: сами же писали, что CAN - это слишком дорого.

А где переворот? требования к оборудованию которое будет эксплуатироваться в трейлере, или неотапливаемом сарае, или сырой да еще и движущейся избе как ни удивительно, гораздо более жесткие чем к оборудованию работающему в тепличных условиях теплой квартиры.

Цитата(ILYAUL @ Jul 1 2010, 23:47) *
Может всё таки 2

Сколько скоростей будет обслуживать мастер столько и устройств с одинаковым адресом.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 1 2010, 21:25
Сообщение #66


Гуру
******

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



Цитата(defunct @ Jul 2 2010, 01:05) *
А где переворот? требования к оборудованию которое будет эксплуатироваться в трейлере, или неотапливаемом сарае, или сырой да еще и движущейся избе как ни удивительно, гораздо более жесткие чем к оборудованию работающему в тепличных условиях теплой квартиры.

Напомню, что до сих пор ваш основной аргумент против CAN был - дорогие контроллеры/дорогая автомобильная шина. Я не считаю, что квартиру можно набивать лапшой из проводов и дешевым барахлом, исходя из соображений, что там сухо, тепло и авось-либо пожар не случится (по нашей вине).
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jul 2 2010, 00:00
Сообщение #67


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(defunct @ Jul 1 2010, 12:35) *
Oтчего же, если хорошо позаботиться о мастере - постоить на надежном железе и софте

Построить надежное устройство - само по себе задача не тривиальная. А написать для него надежный софт - задача просто сложная, занимает много времени (с доводкой - растягивается нa годы) и получается отнюдь не у всех. Поэтому использование CAN является более чем оправданным. И разбиение задачи на маленькие кусочки - тоже оправданно. Ведь с ростом сложности ненадежность софта увеличивается не линейно, а как-то типа в геометрической прогрессии.

Так что много одинаковых не очень сложных узлов CSMA/CA получится надежнее, чем один сложный мастер.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Jul 2 2010, 09:54
Сообщение #68


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата
признаком скорости


Что Вы под этим понимаете


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jul 2 2010, 10:19
Сообщение #69


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(aaarrr @ Jul 2 2010, 01:25) *
Напомню, что до сих пор ваш основной аргумент против CAN был - дорогие контроллеры/дорогая автомобильная шина.

У меня софтовый CAN до 500 килобод живёт на ATmega48 за $1. Для выключателя/лампочки ничего больше и не надо. Неужели $2 ($1 контроллер + $1 драйвер) дорого?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 2 2010, 11:03
Сообщение #70


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(ILYAUL @ Jul 2 2010, 12:54) *
Что Вы под этим понимаете

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

Код
for( speed = LOW_SPEED; speed <= HIGH_SPEED; speed++)
{
       uart_SetBaudRate( speed );

       for( addr = 1; addr <= MAX_ADDR; addr++)
       {
             query_slave( addr, ....);
       }
}


Цитата(galjoen @ Jul 2 2010, 13:19) *
У меня софтовый CAN до 500 килобод живёт на ATmega48 за $1. Для выключателя/лампочки ничего больше и не надо. Неужели $2 ($1 контроллер + $1 драйвер) дорого?

Это решение ненадежно, настолько же насколько и недорого. Софтовая реализация довольно сложного интерфейса это не просто потенциальный баг, а мина замедленного действия. Сочетание той же m48 с аппартным UART'ом и rs485 драйвером, будет куда проще и надежней, заметьте - по той же цене.

Цитата(=AK= @ Jul 2 2010, 03:00) *
Построить надежное устройство - само по себе задача не тривиальная. А написать для него надежный софт - задача просто сложная, занимает много времени

Эта задача все равно много проще multimaster системы. Суммарно если сравнить две системы:
- систему 1 мастер + тривиальные слейвы,
- систему мультимастер где много устройств средней сложности.

Первая будет проще.

Цитата(aaarrr @ Jul 2 2010, 00:25) *
Я не считаю, что квартиру можно набивать лапшой из проводов и дешевым барахлом, исходя из соображений, что там сухо, тепло и авось-либо пожар не случится (по нашей вине).

Набивать лапшой никто и не предлагает, богатство выбора дает уникальную возможность выбрать наиболее подходящий вариант.
С моей точки зрения такой вариант - это RS485 + IR непосредственно включенный в сеть 485, что позволит не только избавиться от лапши в некоторых местах, но и от пары Кановских проводов тоже, заодно и от сложности железа и софта слейвов и всей системы.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jul 2 2010, 11:37
Сообщение #71


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(defunct @ Jul 2 2010, 15:03) *
Это решение ненадежно, настолько же насколько и недорого. Софтовая реализация довольно сложного интерфейса это не просто потенциальный баг, а мина замедленного действия.

Чем же это железная реализация надёжнее софтовой? На мой взгляд, как раз наоборот. И периодически вылавливаемые в CAN-овском железе баги это подтверждают. И не известно есть они там или нет. А в софтовой можно все ошибки выгрести - запись логов при работе достаточно сделать. Кстати, для софтового CAN-а можно и ATtiny2313 использовать - ещё дешевле.
А для гарантии, при использовании с софтового CAN-а, можно использовать драйвер с ограничением времени доминанты и всё. Поэтому я и написал про его стоимость $1 .
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Jul 2 2010, 16:00
Сообщение #72


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(aaarrr @ Jun 30 2010, 02:13) *
То есть дублируем длину для того чтобы в запросе мастера можно было бы сделать ошибку, а слейв мог бы о ней доложить. Гениально.

Не хуже, чем любая другая заумность из известных протоколов. По Вашему принудительная адресация поверх CAN в DeviceNet лучше?
Цитата(aaarrr @ Jun 30 2010, 02:13) *
Мне тоже, но для этого стандарты должны быть современными. В противном случае приходится или уродовать и усложнять интерфейсы нового оборудования, вписывая его в реалии тридцатилетней давности, или "расширять" стандарт, тем самым от него все дальше уклоняясь sad.gif

Поймите правильно.
Не надо лучше.
Надо, чтобы всегда одинаково.
Поэтому - никаких "современных" стандартов.
И чем их меньше, тем лучше.
А свой протокол - даже не смешно.
Это будет никому ненужный мартышкин труд.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 2 2010, 16:12
Сообщение #73


Гуру
******

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



Цитата(Прохожий @ Jul 2 2010, 20:00) *
Не хуже, чем любая другая заумность из известных протоколов.

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

Цитата(Прохожий @ Jul 2 2010, 20:00) *
Поймите правильно.
Не надо лучше.
Надо, чтобы всегда одинаково.

Так оно не получается одинаково, что признают использующие Modbus - свои типы данных, свои команды и т.д.

Цитата(Прохожий @ Jul 2 2010, 20:00) *
А свой протокол - даже не смешно.
Это будет никому ненужный мартышкин труд.

Никому не нужный мартышкин труд будет реализовывать Modbus там, где он объективно не нужен. Лучше потратить пару часов на изобретение своего, с учетом своих потребностей, а не брать Modbus и "расширять" его потом.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 2 2010, 16:22
Сообщение #74


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(galjoen @ Jul 2 2010, 14:37) *
И периодически вылавливаемые в CAN-овском железе баги это подтверждают. И не известно есть они там или нет. А в софтовой можно все ошибки выгрести - запись логов при работе достаточно сделать. Кстати, для софтового CAN-а можно и ATtiny2313 использовать - ещё дешевле.

Сравните с:
А в 485-м интерфейсе багов нет и логов никаких не надо! И ловить нечего...
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Jul 2 2010, 16:56
Сообщение #75


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(aaarrr @ Jul 2 2010, 20:12) *
Если бы заумность, а то ведь глупость откровенная.

А как Вам "засерание" шины совершенно излишней информацией, якобы увеличивающей целостность данных в том же Ethernet или Profibus?
Тоже очевидная глупость...
А про старые отработанные годами протоколы я бы осторожнее...
Любую несуразность в них надо воспринимать практически, как устав РККА или ПУЭ.
Наличие такой "глупости" говорит только о том, что кто-то здесь сломал себе шею...
Цитата(aaarrr @ Jul 2 2010, 20:12) *
Так оно не получается одинаково, что признают использующие Modbus - свои типы данных, свои команды и т.д.

Если сделать все по уставу, как в перечисленных мною девайсах, то все будет работать даже в условиях сильных электромагнитных помех, коими являются частотные преобразователи.
И основная "сила" старых протоколов - их отработанность и "проверенность".
Цитата(aaarrr @ Jul 2 2010, 20:12) *
Никому не нужный мартышкин труд будет реализовывать Modbus там, где он объективно не нужен. Лучше потратить пару часов на изобретение своего, с учетом своих потребностей, а не брать Modbus и "расширять" его потом.

Смысла делать свое даже в данном случае не вижу.
Лучше сделать то, что потом пригодится.
Не нравится Modbus - делайте что-то иное - DeviceNet или CanOpen, к примеру.
Потом хоть наработки останутся...
А в промавтоматике, где находится основная часть денег, которые можно заработать, свой протокол - признак элементарного дилетантизма.
Иными словами. В эту сферу со своими протоколами лучше вообще не соваться... Засмеют.

Цитата(defunct @ Jul 2 2010, 20:22) *
Сравните с:
А в 485-м интерфейсе багов нет и логов никаких не надо! И ловить нечего...

Не скажите.
Знаете, почему уважающие себя люди никогда не будут использовать нашу электронику в ответственных местах?
Потому, что в нашем воплощении RS485 логи, таки, нужны и ловить есть чего.
Даже простейший Modbus сообразно со стандартом сделать не можем...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 22:14
Рейтинг@Mail.ru


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