Имхо, необходимость открытого протокола возникает когда уже есть устройства со своими протоколами.
Нет устройств- нет протокола.
Кто первый создаст реально работающую систему из контроллеров общающихся меж собой и она получит распространение , тот и будет претендовать
на первый открытый протокол.
Создадим свой открытый протокол обмена данными между контроллером и модулями
Дятел
Доктор наук
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 939
Отв.23 15 Июля 15, 16:14, через 27 мин
mak, все придумано до нас!!!
Бери за основу протокол CAN.
Все пакеты, которые передает контроллер, имеют идентификатор.
Каждому параметру, вычисляемому в системе присваивается свой идентификатор.
Например температура куба - ID 100. Не важно где в системе она вычисляется, главное что в сети она всегда передается с этим адресом. Все узлы принимают ее и только те, которым она нужна ее берут и работают с ней, причем даже не зная о месте ее вычисления.
Давление - ID 101 и т.д.
Назначая приемные маски в контроллере можно на канальном уровне отсекать не нужные пакеты и принимать только нужные!
Бери за основу протокол CAN.
Все пакеты, которые передает контроллер, имеют идентификатор.
Каждому параметру, вычисляемому в системе присваивается свой идентификатор.
Например температура куба - ID 100. Не важно где в системе она вычисляется, главное что в сети она всегда передается с этим адресом. Все узлы принимают ее и только те, которым она нужна ее берут и работают с ней, причем даже не зная о месте ее вычисления.
Давление - ID 101 и т.д.
Назначая приемные маски в контроллере можно на канальном уровне отсекать не нужные пакеты и принимать только нужные!
ys1797
Доцент
Санкт-Петербург
1K 339
Отв.24 15 Июля 15, 16:43, через 30 мин
В CAN да. Только нужно идентификаторы с умом подобрать. Вроде там еще есть система приоритетов по захвату шины.
Хотя в нашем случае - это не так важно, не автомобиль чай.
Хотя в нашем случае - это не так важно, не автомобиль чай.
V_B
Академик
Таганрог
2.7K 939
Отв.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 939
Отв.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
Ну хоть ты не "наступай на грабли, которые уже били по лбу не одного проектировщика"!!!Если самому все узлы делать - не вопрос, я уже CAN оценил
Не экономь на микроконтроллере - это потом окупиться простотой реализации и временем написания кода!V_B, 15 Июля 15, 19:30
Но возьмем насос перистальтику на ардуино - его могут собрать те кто не особо дружит с пайкой.
Но CAN туда уже не влезет, все под завязку, только rs485
Аналогично с РМ на ардуино. CAN шилд очень недешевый.
Поэтому нужно проработать оба варианта.
Отв.30 31 Июля 15, 13:19
mak, надо просто оставить идею самостоятельной сборки без пайки и все. если ее оставить, то нужно двигаться к stm32 + can, другой дороги нет просто.
с другой стороны если будет STM32, то он запросто справится со всеми нашими задачами один. включая отсылку данных на комп по вайфаю например
с другой стороны если будет STM32, то он запросто справится со всеми нашими задачами один. включая отсылку данных на комп по вайфаю например
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.31 31 Июля 15, 13:22, через 4 мин
g100m, речь пока о протоколе, неважно какая физическая реализация
потихоньку накидываю варианты
потихоньку накидываю варианты
Отв.32 01 Авг. 15, 12:57
я прото, что обеспечить качественный протокол CAN по вычислительной мощности сопостовимо с мощностью самой системы.
как-то это ненормально. я бы вообще все сделал по UART и не заморачивался. на приемнике 5 раз проверил контрольную сумму и делов-то.
как-то это ненормально. я бы вообще все сделал по UART и не заморачивался. на приемнике 5 раз проверил контрольную сумму и делов-то.
сообщение удалено
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.33 01 Авг. 15, 13:31, через 35 мин
g100m, can это нижний уровень, транспорт так сказать.
А нужно описать универсальную структуру данных для обмена между модулями, про это речь
А нужно описать универсальную структуру данных для обмена между модулями, про это речь
Любитель_выпить
Магистр
Где-то на севере
225 92
Отв.34 01 Авг. 15, 13:53, через 22 мин
mak с Днем Рождения!
Наличие системы адресации, наличие масок приема позволяет очень оптимально использовать процессорное время!
А структура данных - так в CAN уже все придумано за нас!
Назначь каждому параметру свой адрес - и больше ничего не надо.
Например "группа параметров от датчиков температуры" - и маску на эту группу в том модуле, которому эти параметры нужны. И этот модуль примет эти данные, а другие нет!
Далее "группа управляющих параметров" - на нее маску в блоках регулирования поставить! Ну и т.д.
can это нижний уровень, транспорт так сказать.mak, 01 Авг. 15, 13:31Ну не только "транспорт"!
Наличие системы адресации, наличие масок приема позволяет очень оптимально использовать процессорное время!
А структура данных - так в CAN уже все придумано за нас!
Назначь каждому параметру свой адрес - и больше ничего не надо.
Например "группа параметров от датчиков температуры" - и маску на эту группу в том модуле, которому эти параметры нужны. И этот модуль примет эти данные, а другие нет!
Далее "группа управляющих параметров" - на нее маску в блоках регулирования поставить! Ну и т.д.
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.35 01 Авг. 15, 14:08, через 16 мин
Вот как раз все параметры которые нужно передать и получить описываю
Нужно учесть что не только can
Еще и обычный последовательный
Нужно учесть что не только can
Еще и обычный последовательный
makh
Профессор
Sаmara
2.1K 1K
Отв.36 01 Авг. 15, 14:10, через 2 мин
А обычный и привычный ethernet не рассматривается в качестве сети?
И шильдики для ардуинок недорогие, и, так сказать, инфраструктура в зачаточном состоянии в наличии в каждом домохозяйстве -- модем/роутер.
Да и работать было бы удобно, широковещательными пакетиками, любой зоопарк разрулить можно, хоть локально, хоть удаленно через криптованные каналы...
Добавлено через 2мин.:
mak, с днюхою!
И шильдики для ардуинок недорогие, и, так сказать, инфраструктура в зачаточном состоянии в наличии в каждом домохозяйстве -- модем/роутер.
Да и работать было бы удобно, широковещательными пакетиками, любой зоопарк разрулить можно, хоть локально, хоть удаленно через криптованные каналы...
Добавлено через 2мин.:
mak, с днюхою!
игорь223
Академик
таганрог
30.5K 20.7K
Отв.37 01 Авг. 15, 14:16, через 7 мин
Я не великий реализатор в железянном или программном аспектах
Однако как постановщик задач уже все зубы сьел.
Поэтому я понимаю точно, что В-Б прав на стопятьсот процентов.
И Г100м прав не меньше.
Только, и исключительно промышленный протокол обмена, и желательно так, как в современных автомобилях сделано. Чтобы вкорячить автосигнализацию раньше полмашины нужно было разобрать. Сегодня - пару часов, с несомненно высшим на порядок сервисом для пользователя.
Однако на практике вообще далеко не всегда есть нужда в какой то связи. наоборот, в 90% случаев она не нужна, поскольку системы у нас
достаточно примитивны, соттветственно и реализации - тоже.
В порядке же маниловщины могу высказать свои соображения.
Нужно, чтобы все устройства в сети имели два провода для соединения. Как минимум.
Ну то есть земля и питание 12Вольт (или 24В)
По которым бы и передавались все сигналы двустороннего обмена данными.
Все.
Как максимум (это вообще мечта поэта) все устройства должны быть автономными, а связь между ними - беспроводная.
Автономный термометр дает информацию на контроллер, тот управляет автономным и беспроводным клапаном отбора, регулятор мощности валяется где то в районе "под кубом" и автономно получает команды, датчик разлития автономно валяется на полу, проходной термометр автономно висит на ТСА
на воде охлаждеия висит автономный клапан и так далее.
Вот когда колонна перестанет быть похожа на новогоднюю елку, оплетенну ююгирляндой, вот тогда и наступит гармония.
П.С. Впрочем, подозреваю: для этого нужен непроктолог протокол, а просто нормальный промышленный дизайнер)))
Однако как постановщик задач уже все зубы сьел.
Поэтому я понимаю точно, что В-Б прав на стопятьсот процентов.
И Г100м прав не меньше.
Только, и исключительно промышленный протокол обмена, и желательно так, как в современных автомобилях сделано. Чтобы вкорячить автосигнализацию раньше полмашины нужно было разобрать. Сегодня - пару часов, с несомненно высшим на порядок сервисом для пользователя.
Однако на практике вообще далеко не всегда есть нужда в какой то связи. наоборот, в 90% случаев она не нужна, поскольку системы у нас
достаточно примитивны, соттветственно и реализации - тоже.
В порядке же маниловщины могу высказать свои соображения.
Нужно, чтобы все устройства в сети имели два провода для соединения. Как минимум.
Ну то есть земля и питание 12Вольт (или 24В)
По которым бы и передавались все сигналы двустороннего обмена данными.
Все.
Как максимум (это вообще мечта поэта) все устройства должны быть автономными, а связь между ними - беспроводная.
Автономный термометр дает информацию на контроллер, тот управляет автономным и беспроводным клапаном отбора, регулятор мощности валяется где то в районе "под кубом" и автономно получает команды, датчик разлития автономно валяется на полу, проходной термометр автономно висит на ТСА
на воде охлаждеия висит автономный клапан и так далее.
Вот когда колонна перестанет быть похожа на новогоднюю елку, оплетенну ююгирляндой, вот тогда и наступит гармония.
П.С. Впрочем, подозреваю: для этого нужен не
Отв.38 01 Авг. 15, 14:16, через 1 мин
я говорю не только про протокол, вообще про все хозяйство. его получится больше, чем исполнительного кода
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.39 01 Авг. 15, 14:34, через 19 мин
makh, Спасибо
Ethernet не рассматриваю в этом качестве. Дорого и избыточно.
Для построения многоузловой сети нужен коммутатор и соединение звездой
В stm32 can уже есть, а rs485 стоит копейки
игорь223, согласен полностью с тобой.
При возможности использования CAN - только его.
Обратная связь нужна для диагностики исполнителей. Ну и для передачи данных, таких например как данные тарирования у насоса, параметров сети от РМ и т.п.
Беспроводка - неоднозначно.
Да и навесить все модули на одну витую пару не так проблематично
Ethernet не рассматриваю в этом качестве. Дорого и избыточно.
Для построения многоузловой сети нужен коммутатор и соединение звездой
В stm32 can уже есть, а rs485 стоит копейки
игорь223, согласен полностью с тобой.
При возможности использования CAN - только его.
Обратная связь нужна для диагностики исполнителей. Ну и для передачи данных, таких например как данные тарирования у насоса, параметров сети от РМ и т.п.
Беспроводка - неоднозначно.
Да и навесить все модули на одну витую пару не так проблематично