Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

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

Форум самогонщиков Автоматика
1 2 3 4 5 ... 12 2
Дятел Доктор наук NA 554 119
Отв.20  15 Июля 15, 15:33
Имхо, необходимость открытого протокола возникает когда уже есть устройства со своими протоколами.
Нет устройств- нет протокола.
Кто первый создаст реально работающую систему из контроллеров общающихся меж собой и она получит распространение , тот и будет претендовать
на первый открытый протокол.
Капитан_Немо Доктор наук Москва 849 494
Отв.21  15 Июля 15, 15:38, через 6 мин
Автоматическая линия из самогонных устройств ... отдельный контроллер на каждый процесс и головной контроллер, который рулит всеми процессами.

Пока не вижу, как это поможет человеку, который гонит не в коммерческих масштабах, и время для него не критично. 
mak Модератор Екатеринбург 6.3K 1.8K
Отв.22  15 Июля 15, 15:47, через 9 мин
Дятел, я же написал эта тема задел на будущее
У меня сейчас уже есть несколько прикидок по контроллеру, насосы, регуляторы мощности, будет блок датчиков, блок исполнителей
Пока в процессе осмысления протокола обмена.
Так что необходимость уже есть. Но не хочу пилить только под свои задачи. Шире как-то хочется
Капитан_Немо, Нет. просто контроллер и исполнительные устройства, как в умном доме. пришло время - открылись шторы.
Человеку которому время не критично можно и ручками покрутить гофмана постоять в процессе.
V_B Академик Таганрог 2.7K 938
Отв.23  15 Июля 15, 16:14, через 27 мин
mak, все придумано до нас!!!
Бери за основу протокол CAN.
Все пакеты, которые передает контроллер, имеют идентификатор.
Каждому параметру, вычисляемому в системе присваивается свой идентификатор.
Например температура куба - ID 100. Не важно где в системе она вычисляется, главное что в сети она всегда передается с этим адресом. Все узлы принимают ее и только те, которым она нужна ее берут и работают с ней, причем даже не зная о месте ее вычисления.
Давление - ID 101 и т.д.
Назначая приемные маски в контроллере можно на канальном уровне отсекать не нужные пакеты и принимать только нужные!
ys1797 Доцент Санкт-Петербург 1K 338
Отв.24  15 Июля 15, 16:43, через 30 мин
В CAN да. Только нужно идентификаторы с умом подобрать. Вроде там еще есть система приоритетов по захвату шины.
Хотя в нашем случае - это не так важно, не автомобиль чай.
V_B Академик Таганрог 2.7K 938
Отв.25  15 Июля 15, 16:48, через 5 мин
Вроде там еще есть система приоритетов по захвату шины.ys1797, 15 Июля 15, 16:43
Есть, только она уже на канальном уровне реализована.
Поэтому и рекомендовал именно CAN применить - заморочек потом будет гораздо меньше, очень много реализовано в аппаратном драйвере!
mak Модератор Екатеринбург 6.3K 1.8K
Отв.26  15 Июля 15, 17:19, через 32 мин
Не везде к сожалению can можно вкорячить
Нужно и так и так иметь возможность работать.
Система будет все равно с одним мастером.
V_B Академик Таганрог 2.7K 938
Отв.27  15 Июля 15, 17:30, через 12 мин
Не везде к сожалению can можно вкорячитьmak, 15 Июля 15, 17:19
Ну хоть ты не "наступай на грабли, которые уже били по лбу не одного проектировщика"!!!
Не экономь на микроконтроллере - это потом окупиться простотой реализации и временем написания кода!
slony Магистр Сочи 246 63
Отв.28  15 Июля 15, 17:35, через 5 мин
С одним мастером не очень удобно например аварийные ситуации обрабатывать.
mak Модератор Екатеринбург 6.3K 1.8K
Отв.29  15 Июля 15, 18:56
Ну хоть ты не "наступай на грабли, которые уже били по лбу не одного проектировщика"!!!
Не экономь на микроконтроллере - это потом окупиться простотой реализации и временем написания кода!V_B, 15 Июля 15, 19:30
Если самому все узлы делать - не вопрос, я уже CAN оценил
Но возьмем насос перистальтику на ардуино - его могут собрать те кто не особо дружит с пайкой.
Но CAN туда уже не влезет, все под завязку, только rs485
Аналогично с РМ на ардуино. CAN шилд очень недешевый.
Поэтому нужно проработать оба варианта.
g100m Доцент Самара 1.6K 247
Отв.30  31 Июля 15, 13:19
mak, надо просто оставить идею самостоятельной сборки без пайки и все. если ее оставить, то нужно двигаться к stm32 + can, другой дороги нет просто.
с другой стороны если будет STM32, то он запросто справится со всеми нашими задачами один. включая отсылку данных на комп по вайфаю например
mak Модератор Екатеринбург 6.3K 1.8K
Отв.31  31 Июля 15, 13:22, через 4 мин
g100m, речь пока о протоколе, неважно какая физическая реализация
потихоньку накидываю варианты
g100m Доцент Самара 1.6K 247
Отв.32  01 Авг. 15, 12:57
я прото, что обеспечить качественный протокол CAN по вычислительной мощности сопостовимо с мощностью самой системы.
как-то это ненормально. я бы вообще все сделал по UART и не заморачивался. на приемнике 5 раз проверил контрольную сумму и делов-то.
сообщение удалено
mak Модератор Екатеринбург 6.3K 1.8K
Отв.33  01 Авг. 15, 13:31, через 35 мин
g100m, can это нижний уровень, транспорт так сказать.
А нужно описать универсальную структуру данных для обмена между модулями, про это речь
Любитель_выпить Магистр Где-то на севере 225 91
Отв.34  01 Авг. 15, 13:53, через 22 мин
mak с Днем Рождения!

can это нижний уровень, транспорт так сказать.mak, 01 Авг. 15, 13:31
Ну не только "транспорт"!
Наличие системы адресации, наличие масок приема позволяет очень оптимально использовать процессорное время!
А структура данных - так в CAN уже все придумано за нас!
Назначь каждому параметру свой адрес - и больше ничего не надо.
Например "группа параметров от датчиков температуры" - и маску на эту группу в том модуле, которому эти параметры нужны. И этот модуль примет эти данные, а другие нет!
Далее "группа управляющих параметров" - на нее маску в блоках регулирования поставить! Ну и т.д.
mak Модератор Екатеринбург 6.3K 1.8K
Отв.35  01 Авг. 15, 14:08, через 16 мин
Вот как раз все параметры которые нужно передать и получить описываю
Нужно учесть что не только can
Еще и обычный последовательный
makh Профессор Sаmara 2.1K 1.1K
Отв.36  01 Авг. 15, 14:10, через 2 мин
А обычный и привычный ethernet не рассматривается в качестве сети?
И шильдики для ардуинок недорогие, и, так сказать, инфраструктура в зачаточном состоянии в наличии в каждом домохозяйстве -- модем/роутер.
Да и работать было бы удобно, широковещательными пакетиками, любой зоопарк разрулить можно, хоть локально, хоть удаленно через криптованные каналы...

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

mak, с днюхою!
игорь223 Академик таганрог 30.2K 20.6K
Отв.37  01 Авг. 15, 14:16, через 7 мин
Я не великий реализатор в железянном или программном аспектах
Однако как постановщик задач уже все зубы сьел.
Поэтому я понимаю точно, что В-Б прав на стопятьсот процентов.
И Г100м прав не меньше.
Только, и исключительно промышленный протокол обмена, и желательно так, как в современных автомобилях сделано. Чтобы вкорячить автосигнализацию раньше полмашины нужно было разобрать. Сегодня - пару часов, с несомненно высшим на порядок сервисом для пользователя.
Однако на практике вообще далеко не всегда есть нужда в какой то связи. наоборот, в 90% случаев она не нужна, поскольку системы у нас
достаточно примитивны, соттветственно и реализации - тоже.

В порядке же маниловщины могу высказать свои соображения.
Нужно, чтобы все устройства в сети имели два провода для соединения. Как минимум.
Ну то есть земля и питание 12Вольт (или 24В)
По которым бы и передавались все сигналы двустороннего обмена данными.
Все.

Как максимум (это вообще мечта поэта) все устройства должны быть автономными, а связь между ними - беспроводная.
Автономный термометр дает информацию на контроллер, тот управляет автономным и беспроводным клапаном отбора, регулятор мощности валяется где то в районе "под кубом" и автономно получает команды, датчик разлития автономно валяется на полу, проходной термометр автономно висит на ТСА
на воде охлаждеия висит автономный клапан и так далее.
Вот когда колонна перестанет быть похожа на новогоднюю елку, оплетенну ююгирляндой, вот тогда и наступит гармония.

П.С. Впрочем, подозреваю: для этого нужен не проктолог протокол, а просто нормальный промышленный дизайнер)))
g100m Доцент Самара 1.6K 247
Отв.38  01 Авг. 15, 14:16, через 1 мин
я говорю не только про протокол, вообще про все хозяйство. его получится больше, чем исполнительного кода
mak Модератор Екатеринбург 6.3K 1.8K
Отв.39  01 Авг. 15, 14:34, через 19 мин
makh, Спасибо
Ethernet не рассматриваю в этом качестве. Дорого и избыточно.
Для построения многоузловой сети нужен коммутатор и соединение звездой
В stm32 can уже есть, а rs485 стоит копейки
игорь223, согласен полностью с тобой.
При возможности использования CAN - только его.
Обратная связь нужна для диагностики исполнителей. Ну и для передачи данных, таких например как данные тарирования у насоса, параметров сети от РМ и т.п.
Беспроводка - неоднозначно.
Да и навесить все модули на одну витую пару не так проблематично