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

 
 
> Интерфейс для маленькой "сети", где несколько Master'ов
C.S.
сообщение Jun 27 2010, 16:30
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 6-05-09
Из: Москва
Пользователь №: 48 733



Всем здравствуйте! Лето началось, снова я со скуки берусь за хобби. С диммером справился, пора для него разработать интерфейс wink.gif
Приношу свои извинения, но кроме соединений типа точка-точка (RS-232) я ничего не знаю; тема почти вольная и начнётся с тупых вопросов.
Я хочу получить игрушку в виде "умного дома" в виде нескольких модулей. Вижу я себе это вот как:
1. Есть n-ое количество модулей, которые вешаются на какую-то общую шину. Модуль - это например диммер, реле или датчики (ну вполне напоминает промышленные контроллеры, да).
2. Есть "панель управления" - девайс с кнопочками и дисплейчиком. Через меню мы можем управлять/считывать состояние навешанных на шину модулей.
3. Есть комп, который тоже подключён к этой шине (двоякое управление: автономное через (2) и через комп). Фактически комп выступает в роли такой же панели управления.

Наваял схематически примерный вид сети:
Прикрепленное изображение


Ньюансы:
а) Панелей управления (2) будет несколько: хочу сделать управление освещением, соответственно заменяю ими выключатели.
б) Модули будут конечно адресоваться. Автодетект адресов модулей не нужен - могу и так вписать их в кофигурацию.
в) НЕ понимаю, как сделать несколько Мастеров. Было два варианта:
в.1.) Инфа о статусе хранится в Модулях. У Мастеров и Модулей есть уникальные адреса. Раз в nn времени каждый Мастер захватывает канал связи и поочерёдно опрашивает модули на тему, чего у них включено и чего выключено.
в.2.) Есть какой-то служебный узел сети. Любой модуль читает из него то, что он должен выполнить, а любой Мастер пишет туда что надо выполнить.
г) Всё это - полуигрушеченое и хобби для меня самого (типа кулибинство в квартире и поковыряться). На чём делать Мастера - не решил, для Модулей есть запас мелких ATMega8 в DIP'е. Есть ещё ATMega32.

Фактически, работу всего этого я вижу так, что на одной панели включили свет. Потом дошли до компа - там его погасили (естественно состояние отображается). Или погасили с другого места управления. Модулю должны сыпаться почти низкоуровневые команды типа ВКЛВыход1 - ОК. ЯркостьВыход2=25% - ОК. А на всех панелях - правильное состояние системы.

Господа Гуру - подскажите пожалуйста, чего подойдёт под мои задачи из интерфейсов (фактически натолкните на какие-то существующие ссылками, чтобы я мог выбрать и реализовать)? Связь всего этого будет ну по квартире - положим метров 30-50 максимум.
В принципе, как самое топорное решение, я могу и LAN прикрутить, если это решит мои проблемы (устройства, адреса). НО проблемы, кажется, логические - как делают, когда управление может быть из нескольих мест? Как делают грамотно? Мне видится, что скорость у этого всего была бы мелкая, кроме команд установки яркости: их может сыпаться много из-за плавного гашения-зажигания... Ну и если правда это можно реализовать на LAN - то тогда я хочу LAN wink.gif

P.S. Мои хотелки на ТЗ не тянут, описал совсем на пальцах.
P.S.2. Тема - немного флудастая. Подниму ещё раз, когда реально сяду за дела. Пока хочу спроектировать саму "сеть".

UPD: Глянул в раздел интерфейсы. Появились дополнительные комменты:
1. Я старой выучки и хочу проводной интерфейс.
2. Если это будет модуль или чип типа сконфигурировал / послал/принял данные по прерыванию - вообще замечательно!

Сообщение отредактировал C.S. - Jun 27 2010, 16:34
Go to the top of the page
 
+Quote Post
13 страниц V  < 1 2 3 4 > »   
Start new topic
Ответов (15 - 29)
aaarrr
сообщение Jun 28 2010, 10:40
Сообщение #16


Гуру
******

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



Цитата(C.S. @ Jun 28 2010, 14:34) *
Так как это хобби - ну выкину я несколько тыр на LAN, если оно заработает - получу удовольствие.

Боюсь что в этом случае в нагрузку к удовольствию пойдет еще гора сетевого оборудования. Громоздко слишком для "умного дома".
Go to the top of the page
 
+Quote Post
C.S.
сообщение Jun 28 2010, 11:15
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 6-05-09
Из: Москва
Пользователь №: 48 733



Простите за настырность, а какое ещё? Ну LAN модули. Витуха и свитч?
Есть, положим, UASRT у микроконтроллеров. И шо с ними делать? Читать про RS-485?.. И поверх вешать свой протокол?
С чего начать-то? Начать хочется... Физический интерфейс?

Сообщение отредактировал C.S. - Jun 28 2010, 11:17
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 28 2010, 11:23
Сообщение #18


Гуру
******

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



Цитата(C.S. @ Jun 28 2010, 15:15) *
Простите за настырность, а какое ещё? Ну LAN модули. Витуха и свитч?

Свитчам нужны еще источники питания, получите в результате пионэрнет с ворохом проводов в отдельно взятой квартире - а оно надо?

Цитата(C.S. @ Jun 28 2010, 15:15) *
Есть, положим, UASRT у микроконтроллеров. И шо с ними делать? Читать про RS-485?.. И поверх вешать свой протокол?
С чего начать-то? Начать хочется... Физический интерфейс?

Почитать про RS-485 в любом случае полезно. Заодно рекомендую почитать про CAN - в вашем случае он вполне подойдет.
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 29 2010, 08:16
Сообщение #19


Гуру
******

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



Себе дома сделал на CAN. Контроллер сам по себе: управляет выходами, по информации со входов и другим признакам. Однако, есть возможность "кинуть в сеть" уникальный идентификатор события и принять событие из сети. Возможно передавать параметры в теле события.

По CAN прошивается логика, устанавливается время и т.п., а также гоняется аудио-трафик с нескольких переговорных блоков. Есть преобразователь CAN в Ethernet (UDP), для "общения по сеточке" с буком и внешним миром.

Скорость делал, вроде, 500 килобит, проверял на катушке CORE4, метров на 100 работает устойчиво (правда терминаторы подбирал щепетильно с осциллографом, но на мегабите).

Идентификаторы в контроллеры зашиваю железные. Раз в секунду все контроллеры грят "я жыф".
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jun 29 2010, 08:54
Сообщение #20


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

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



Цитата(C.S. @ Jun 28 2010, 15:15) *
С чего начать-то? Начать хочется... Физический интерфейс?

Сегодня в моде AIR
Проводки остались в прошлом веке.
Радиомодуль простенький стоит от 25р
Есть готовые интегрёные решения, типа CC430 у TI, нанонет (по-моему) у мелкочипа и у атмела тоже что-то завалялось.

Цитата(adnega @ Jun 29 2010, 12:16) *
Раз в секунду все контроллеры грят "я жыф".

А оно надо?
Пусть говорят, когда их спрашивают. Типа:
- 12-й, ответь 3-му...
-12-й на связи!


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 29 2010, 09:30
Сообщение #21


Гуру
******

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



Радио не могу назвать надежным и безопасным.

Раз в секунду контроллеры посылают сообщение, чтобы заинтересованный мог знать какие контроллеры есть в сети (по сути узнать все идентификаторы в сети). Я обращал внимание на то, что каждый контроллер сам по себе. Иначе придется вести базу, синхронизировать и т.д. и т.п.

Более того - логика в контроллерах сделана на графах. Графы работают параллельно и независимо. Даже при обновлении логики (расширение функционала) контроллер работает непрерывно по старым графам, мгновенно переключаясь на новые после обновления.

Я проектировал распределенную систему...

+ кста, насчет проводков: а питание?

Сообщение отредактировал adnega - Jun 29 2010, 09:31
Go to the top of the page
 
+Quote Post
C.S.
сообщение Jun 29 2010, 10:09
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 6-05-09
Из: Москва
Пользователь №: 48 733



Тшшш, ребят! Я только-только подбираюсь к теме, и вообще пока не ориентируюсь.

Почитал про RS-485 и DMX-512. Я правильно понимаю, что фактически 485й, это как бы паралельное включение всех приёмников и передатчиков? Ну то-есть, если я передаю - все принимают. Кто-то передаёт - все тоже принимают (в том числе и я). А уж чего с принятым делать - это задачи протокола?

И ещё вот какой вопрос: видел, что RS-485 можно гнать по двум витым парам: одна чисто для передачи, другая чисто для приёма.
Для начинающих проще, или нет с двумя витыми связываться? По одной тупо отправлять команды, по другой - получать от них ответ?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 29 2010, 10:21
Сообщение #23


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



А как насчет LIN?
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 29 2010, 10:40
Сообщение #24


Гуру
******

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



А почему не CAN?! Если нужно гонять данные до 8 байт, то самое простое решение (или нет?).
Мультимастер, неразрушающий арбитраж, приоритеты, аппаратный контроль целостности, настройка момента выборки, подстройка скорости, счетчики ошибок с автоотключением от шины...
Что касается витой пары, то дифференциальная пара, высокая скорость, не дорого и понятно.
Кодить тоже приятно и не сложно. По сути реализовать буфер приемника сообщений и буфер передатчика сообщений. Не сложно делать преобразователи CAN что в RS232, что в Ethernet.

Где минусы?! У меня восемь месяцев - полет нормальный; верните на грешную землю)
Go to the top of the page
 
+Quote Post
C.S.
сообщение Jun 29 2010, 11:08
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 6-05-09
Из: Москва
Пользователь №: 48 733



Эээ... так я же всех тут вопросами потом достану %)
LIN, вроде не совсем скоростной? Мой критерий скорости - чтобы было не хуже DMX-512 (примерно 10-20 мс на одну команду), так как я маньячу по управлению освещением. RS-485 всё равно основа основ?
2adnega А вот у меня есть штук 5 АТМег 8ых. Я ни одного примера ещё не видал - у меня получится CAN сваять так, чтобы не расстроиться сразу и не бросить? Я хотел начать с простых байт туда-сюда...
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 29 2010, 16:24
Сообщение #26


Гуру
******

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



5 mega8 по CAN связать, не то чтобы не получится... проще сделать на контроллере где есть аппаратный CAN.
В avr-семействе есть такие, но я их не пробовал. Может, лучше махнуть сразу на C-M3? wink.gif
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Jun 29 2010, 19:49
Сообщение #27


Cундук
*****

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



Цитата(aaarrr @ Jun 28 2010, 02:02) *
Никакой корявости, говорите?
А пляшущий эндианизм в Modbus-RTU?

Это вовсе не сложности.
Задачка для одной команды современного МК.
Кстати, почему эндианизм вместо чередования байт?
Цитата(aaarrr @ Jun 28 2010, 02:02) *
А избыточные заголовки, с указанием длины в регистрах (которые всегда 2 байта) и байтах?

А в стандарте расписано для чего.

Хуже всего - избыточная заумность большинства протоколов и жадность организаций их поддерживающих.
Самое привлекательное в MODBUS - простота реализации и реальная открытость протокола.
Кроме этого, в MODBUS все демократично, если что не так - заводите свои команды и пользуйтесь.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 29 2010, 20:47
Сообщение #28


Гуру
******

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



Цитата(Прохожий @ Jun 29 2010, 23:49) *
Кстати, почему эндианизм вместо чередования байт?

Тогда уж порядок, а не чередование.

Цитата(Прохожий @ Jun 29 2010, 23:49) *
А в стандарте расписано для чего.

Для чего предназначены поля - расписано. А вот почему информация бездумно дублируется - нет.

Цитата(Прохожий @ Jun 29 2010, 23:49) *
Хуже всего - избыточная заумность большинства протоколов и жадность организаций их поддерживающих.
Самое привлекательное в MODBUS - простота реализации и реальная открытость протокола.
Кроме этого, в MODBUS все демократично, если что не так - заводите свои команды и пользуйтесь.

И снова приходим к закономерному выводу: от протокола нам на самом деле нужна простота, открытость и "демократичность". То есть как таковой стандарт ценности не имеет, нужен "скелет", на базе которого будет построено что-то свое.

Жадные организации, создающие заумные протоколы, вообще-то работают над их усовершенствованием. А если бы за Modbus надо было что-то платить, он бы скончался еще лет двадцать назад.
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Jun 29 2010, 21:44
Сообщение #29


Cундук
*****

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



Цитата(aaarrr @ Jun 30 2010, 00:47) *
Для чего предназначены поля - расписано. А вот почему информация бездумно дублируется - нет.

[attachment=45432:0_10.PNG]
Цитата(aaarrr @ Jun 30 2010, 00:47) *
И снова приходим к закономерному выводу: от протокола нам на самом деле нужна простота, открытость и "демократичность". То есть как таковой стандарт ценности не имеет, нужен "скелет", на базе которого будет построено что-то свое.

Мне, как лицу, эксплуатирующему огромное количество электронных "покидух" в сфере промавтоматики хотелось бы, чтобы все придерживались стандартов как можно ближе.
К примеру, ПЛК "ОВЕН" не прошел проверку, поскольку его разработчики имели свое, отличное от стандарта представление именно о MODBUS/RTU.
Цитата(aaarrr @ Jun 30 2010, 00:47) *
Жадные организации, создающие заумные протоколы, вообще-то работают над их усовершенствованием. А если бы за Modbus надо было что-то платить, он бы скончался еще лет двадцать назад.

Ой, неправда Ваша.
К примеру, частотные преобразователи CIMR-V7 от OMRON или VFD от DELTA вовсю используют именно MODBUS.
Да и вообще, в области частотных инверторов MODBUS/RTU де-факто стандарт.
Для PLC бюджетного ряда тоже. MODBUS/RTU включен в перечень поддержки удаленными модулями таких фирм, как Beckhoff и Wago Systems.
Что-то не похоже на умирающего.
А вот заумный PROFIBUS, похоже, скоро окончательно сдохнет. От него даже SIEMENS уходит, правда, в еще более заумные дебри в виде PROFINET.
Устройства на CAN-оподобных шинах, типа DeviceNet применяются крайне редко в виду плохого сочетания цена/скорость.
HART практически не применяется. Приборы КИПиА просто цепляются на токовую петлю. Каждый на свою.

Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jun 29 2010, 22:13
Сообщение #30


Гуру
******

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



Цитата(Прохожий @ Jun 30 2010, 01:44) *
[attachment=45432:0_10.PNG]

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

Цитата(Прохожий @ Jun 30 2010, 01:44) *
Мне, как лицу, эксплуатирующему огромное количество электронных "покидух" в сфере промавтоматики хотелось бы, чтобы все придерживались стандартов как можно ближе.

Мне тоже, но для этого стандарты должны быть современными. В противном случае приходится или уродовать и усложнять интерфейсы нового оборудования, вписывая его в реалии тридцатилетней давности, или "расширять" стандарт, тем самым от него все дальше уклоняясь sad.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:33
Рейтинг@Mail.ru


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