27 МОСКОВСКАЯ ВСТРЕЧА
Форум самогонщиков Сайт Барахолка Магазин 27 МОСКОВСКАЯ ВСТРЕЧА

Создадим свой открытый протокол обмена данными между контроллером и модулями

Форум самогонщиков Автоматика
1 ... 8 9 10 11 12 11
mak Модератор Екатеринбург 6.3K 1.8K
Отв.200  20 Янв. 17, 11:29
обеспечение глобальной уникальности значения макадреса.Kotische, 20 Янв. 17, 11:22
если придерживаться правил
[сообщение #12375770]
Kotische Академик Саратов 8.1K 2.5K
Отв.201  20 Янв. 17, 11:34, через 6 мин
XXX - Идентификатор производителяmak, 14 Июля 15, 13:54
Угу, создадим центр учета и сертификации производителей...
makh Профессор Sаmara 2.1K 1K
Отв.202  20 Янв. 17, 11:39, через 5 мин
проблему поиска датчика, если на шине присутствуют несколько неинициализированных датчиковKotische, 20 Янв. 17, 11:22
решает последовательное подключение датчиков к шине .)

Добавлено через 2мин.:

Последовательное в смысле времени -- подключили один, инициализировали, подключили второй, и т.д.
mak Модератор Екатеринбург 6.3K 1.8K
Отв.203  20 Янв. 17, 11:41, через 3 мин
Kotische, хе, достаточно одной темы, написал заявку, получил свой номер - вперед
Kotische Академик Саратов 8.1K 2.5K
Отв.204  20 Янв. 17, 11:50, через 9 мин
решает последовательное подключение датчиков к шине .)makh, 20 Янв. 17, 11:39
Такой вариант тоже приемлем.
Кнопка технологичнее чем дергание провода. Подмигивающий

Или предварительно подключать датчик к контроллеру для "сдруживания", а уже потом использовать его для построения системы.
woddy Доцент Новосиб 1.3K 489
Отв.205  20 Янв. 17, 12:22, через 33 мин
https://www.aliexpress.com/...2737192527.html
займет 4 ноги контроллера
UT8TwmAXlNaXXagOFbX3.jpg
UT8TwmAXlNaXXagOFbX3.jpg Создадим свой открытый протокол обмена данными между контроллером и модулями. Автоматика.
makh Профессор Sаmara 2.1K 1K
Отв.206  20 Янв. 17, 13:30
4 ноги контроллераwoddy, 20 Янв. 17, 12:22
Полбайта мало. А у тиньки, например, всего шесть ножек, не считая питание. Не колдырить же паралел-в-сериал переводчика ради чтения полбайта или байта конфигурации.

Добавлено через 2ч. 7мин.:

Еще можно, конечно, из них ЦАП сделать на резисторах. Тогда для чтения конфигурации одной ножки АЦП хватит. Допустим, даже байт уверенно прочитаем таким образом. Все-равно мало.

Добавлено через 11мин.:

И лениво.

А чем плох прошитый в железку адрес? Типа как у 18B20 серийник 6 байт? Почему желание вручную конфигурировать адрес каждой железки? Какая разница какой он, главное чтоб был уникальный, не? Мож я чет пропустил в дискуссии...
mak Модератор Екатеринбург 6.3K 1.8K
Отв.207  20 Янв. 17, 15:56
Почему желание вручную конфигурировать адрес каждой железки?makh, 20 Янв. 17, 13:30
я вот тоже не понимаю
makh Профессор Sаmara 2.1K 1K
Отв.208  20 Янв. 17, 16:06, через 11 мин
создадим центр учета и сертификации производителейKotische, 20 Янв. 17, 11:34
Этим займутся разработчики пользовательских приложений и прочих драйверов. Под давлением объективных рыночных факторов и в тесном сотрудничестве с производителями .)
Kotische Академик Саратов 8.1K 2.5K
Отв.209  20 Янв. 17, 18:55
Почему желание вручную конфигурировать адрес каждой железки?makh, 20 Янв. 17, 13:30
Потому что шина медленная, гонять по ней туеву кучу баластных данных в каждом такте не козырно.
Пусть на шине 100 устройств (что уже много), для адресации более чем достаточно одного байта (8бит).
Если же ориентироваться на ГЛОБАЛЬНУЮ УНИКАЛЬНОСТЬ устройства то нужно 6-8 байт.

Т.е. адрес на шине однозначно должен присваиваться центральным контроллером.

Но что бы присвоить адрес нужно идентифицыровать конкретный экземпляр датчика.
Т.е. датчик должен иметь гаранторованно глобально уникальный номер - а это порождает организационные проблемы.
Так же отлов на шине датчика с длинным идентификатором само по себе достаточно гимморойная процедура.
Почитайте алгоритм поиска датчиков на шине для ds1820.
terminal Бакалавр Челябинск 88 7
Отв.210  20 Янв. 17, 21:10
Почему желание вручную конфигурировать адрес каждой железки?makh, 20 Янв. 17, 13:30
Потому что адрес должен быть уникальным или в данной системе или в общем.Лучше если это будет в данной системе, но тут возникает вопрос если одно устройство делает Петя а другое Вася.Как они узнают у кого какой адрес уже задействован.А если два устройства будут находиться на одном адресе то разнести их программно на разные адреса достаточно сложно.С длинными адресами тоже проблема, проблема с их поиском (бинарные алгоритмы поиска,последовательный перебор). По этому мое предложение адрес устройства сделать сменный и оставить его длинной в 1 байт.Реализовать команду обращения к  устройству с использованием под адреса который может меняться или кнопкой или случайной генерацией. Получается чтоб обратиться  к устройству достаточно его адреса (который  можно поменять для нужд программы)но в любом случае полный адрес складывается из адреса и под адреса XX:AA  Где XX - адрес порта как в модбасе  АА - адрес под порта (изменяемый кнопкой или программно на усмотрение разработчика) Далее разработчик просто описывает как можно поменять под адрес в его устройстве. А программа присваивает номер устройства самостоятельно так как нужно данной системе.

Добавлено через 13мин.:

Разрешение конфликтов два устройства сидят на одном порту : обращаемся последовательно к 256 под адресам, находим отклики на под адрес и разносим на разные порты.
Два устройства имеют одинаковый порт и одинаковый под адрес : Вариант 1 - более интересный  даем команду случайной генерации под адреса каждое  устройство  генерирует случайно свой под адрес. Далее Пункт 1.
Вариант 2- отрываем свою задницу со стула и идем отключать одно из устройств или жать на нем кнопку или дергать перемычки кому  как нравится, здесь свобода творчества.

Добавлено через 7мин.:

Вот мое давнишнее видео, здесь реализован именно бинарный поиск устройств
makh Профессор Sаmara 2.1K 1K
Отв.211  21 Янв. 17, 02:24
Т.е. адрес на шине однозначно должен присваиваться центральным контроллером.Kotische, 20 Янв. 17, 18:55
Как-то не получилось логически поскладывать. Почему? Из-за лишних пары байт адреса у каждого пакета? Эт какая такая шина медленная? Да нунах.
А на каком васче уровне, в аналогиях с интернетами если выразиться, протокол хотим придумать? Носитель, сеть, данные? Точно ничего готового не годится?
Kotische Академик Саратов 8.1K 2.5K
Отв.212  21 Янв. 17, 02:40, через 17 мин
Точно ничего готового не годится?makh, 21 Янв. 17, 02:24
"Всё дело в цене на билет!"(С) Машина Времени
woddy Доцент Новосиб 1.3K 489
Отв.213  21 Янв. 17, 07:17
тинька и мега стоят одинаково. странно использовать тиньки. только "из любви к искусству"
Полбайта малоmakh, 20 Янв. 17, 13:30
Допустим, даже байт уверенно прочитаем таким образом. Все-равно мало.makh, 20 Янв. 17, 13:30
у вас ожидается более 16 устройств на шине? 
terminal Бакалавр Челябинск 88 7
Отв.214  21 Янв. 17, 08:07, через 51 мин
Эт какая такая шина медленная?makh, 21 Янв. 17, 02:24
Простые расчеты берем скорость 250К то есть 250000/8= 31250 это столько байт можно переслать за секунду делем на  2 поскольку Вам нужно отослать команду и получить ответ 15625 байт. Дальше делим на 32 устройства и получается 488 байт а если еще  сюда добавить время ожидания ответа на запрос то байт 200 получится. Заметьте я взял максимально возможную скорость. А про скорости 9600 и  говорить не приходится.
makh Профессор Sаmara 2.1K 1K
Отв.215  29 Янв. 17, 02:08
А про скорости 9600 и  говорить не приходится.terminal, 21 Янв. 17, 08:07
А когда-то TCP на таких скоростях радовал.

Тогда надо ставить роутер и к каждому датчику тянуть отдельную линию, а здесь линия одна.terminal, 08 Янв. 17, 12:23
И писюки подключенные последовательно коаксиальным кабелем тоже.

ИМХО не будет из этой идеи ниче путного. Человечество в рамках своей эволюции наплодило и носителей, и протоколов в количестве чуть менее чем избыточном. Брать адекватно задаче и пользоваться на здоровье.
Electric Новичок Смолевичи 9
Отв.216  01 Февр. 17, 16:55
ИМХО не будет из этой идеи ниче путного. Человечество в рамках своей эволюции наплодило и носителей, и протоколов в количестве чуть менее чем избыточном. Брать адекватно задаче и пользоваться на здоровье.makh, 29 Янв. 17, 02:08
Соглашусь. Нет смысла изобретать велосипед. Все-таки это не атомный реактор многократным дублированием управляющей автоматики.

Добавлено через 6дн. 17ч. 4мин.:

Для тех, кому нужна "супернадежность", предлагаю рассмотреть для использования МЭК-61850 — стандарт «Коммуникационные сети и системы подстанций»
PavelSaratov Доктор наук Саратов 622 80
Отв.217  12 Февр. 17, 10:36
 Тяжкий протокол у автоматики электрики. Запаритесь реализовывать.
terminal Бакалавр Челябинск 88 7
Отв.218  15 Марта 17, 16:31
Написал простенькую программку для мониторинга протокола и выкладываю схему преобразователя для FT232RL. Программа работает только с этим преобразователем.Интерфейс 485.Скорость 250К DataBits:=8;StopBits:=2;Parity:=0;. Перед сообщением идет сигнал "Брейк". Возможны проблемы в работе если нарветесь на китайскую подделку FT485RL, покупайте ее только у проверенных поставщиков.

Добавлено через 1мин.:

Программа как передает данные в линию так и принимает ответ.
OpenRDM.jpg
OpenRDM.jpg Создадим свой открытый протокол обмена данными между контроллером и модулями. Автоматика.

ProjectMonitor485.exe 437.0 Кб
ys1797 Доцент Санкт-Петербург 1K 339
Отв.219  15 Марта 17, 23:32

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