|
правильно ли придумана сетка. примитивная., никогда не делал, прошу конкретных советов. |
|
|
|
Dec 8 2014, 17:40
|
Местный
  
Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762

|
Дано: 1. 20-30 Ведомых устройств в сети, над ними один Ведущий. Таким образом, логическая топология сети-звезда. 2. Физическая топология сети - один луч витая пара, на луче сидят Ведомые. 3. Время реакции Ведущего на события у Ведомых допустимо до 0,5 с, и наоборот - до 0,5с. 4. Сеть раскидана по площади примерно с квартиру, помехообстановка тоже соответствует примерно жилому помещению. 5. Ведомые питаются от своих SMPS от одной силовой сети 220В.
Инфооборот по этой сети мал: 1. Ведущий спрашивает Ведомого жив или нет. 2. Спрашивает состояние Ведомого(8 бит - максимум). 3. Даёт команду Ведомому(8 бит - максимум).
Вопросы такие. Вобщем, это можно сваять многими разными способами. Но, я, поскольку не имею практического опыта в этом деле, прошу совета у знающих, кто раскидывал похожие сети, на чем это сваять так, чтобы было посовременнее чтоли. Интересует только низко... как бы это сказать... низкоуровневая сеть. Про IP и даже езернет неинтересно.
Итак, вопросы: 1. CAN или RS485? 2. Нужна ли в данной физической обстановке опторазвязка Ведомых от витой пары-луча? 3. Какие IC-приёмопередатчики CAN/RS485 <-> UART посоветуете? 4. Я правильно понимаю, что в такой сети можно обойтись RS485 с тайм-слотом в сотню-другую миллисекунд? и чем лучше будет применение CAN? 5. Какие-то наработки из MODBUS тут применимы? при условии, что всё фирмваре я буду делать на ассемблере? система-закрытая, не будет общаться с вне.
Ну, и, обладаю бюджетом, готов рассмотреть готовое решение Сеть<->GPIO, чтобы не делать самому. других дел хватает. Предложения рассмотрю, шлите их, пожалуйста, в личку. но здесь обсуждать не буду. Здесь я хочу обсудить, что быстро, "на коленках", можно сваять мне самому.
Сообщение отредактировал In_an_im_di - Dec 8 2014, 19:41
|
|
|
|
|
Dec 8 2014, 21:04
|

Профессионал
    
Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718

|
1-2. изолированный 485-й 3. те что есть в местном магазине 4. не регламентировано. ка напишете так и будет. 5. с MODBUS вам легче будет вести документацию - как минимум через год протокол вспоминать не надо. Есть библиотеки. Если купить какой-нибудь пром.контроллер с MODBUS сможете всё это объединить. Цитата Ну, и, обладаю бюджетом, готов рассмотреть готовое решение Сеть<->GPIO ключевые слова: MODBUS(если надо), GPIO, DIN-рейка.
|
|
|
|
|
Dec 8 2014, 21:22
|
Местный
  
Группа: Участник
Сообщений: 234
Регистрация: 7-11-13
Пользователь №: 79 085

|
Цитата(In_an_im_di @ Dec 8 2014, 21:40)  1. CAN или RS485? 2. Нужна ли в данной физической обстановке опторазвязка Ведомых от витой пары-луча? 3. Какие IC-приёмопередатчики CAN/RS485 <-> UART посоветуете? 4. Я правильно понимаю, что в такой сети можно обойтись RS485 с тайм-слотом в сотню-другую миллисекунд? и чем лучше будет применение CAN? 5. Какие-то наработки из MODBUS тут применимы? при условии, что всё фирмваре я буду делать на ассемблере? система-закрытая, не будет общаться с вне. имел дело с RS485, могу сказать, почему применил бы его 1. Число ведомых до 32 нагруженных, как подсказывает википедия 2. Опторазвязка никогда лишней не будет, я имел дело с преобразователями RS485<>232 MAX1480, если правильно вспомнил. Древние, дорогие, но с трансформатоной развязкой по питанию и опторазвязкой по передаче данных. Ещё они дубовые, т.е. надёжные. 3. Помехоустойчивость такая, что даже при расположении витой пары вдоль шин питания мегаваттных двигателей с частотным регулированием картина не портилась. Сам осциллографом смотрел.
|
|
|
|
|
Dec 8 2014, 22:01
|
Местный
  
Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762

|
Цитата(psL @ Dec 9 2014, 00:50)  Видимо пакет управления длиной 8 бит - очень оптимистично. 8 бит - это 8 портов GPIO? 8 бит это байт, пересылаемый по сети. чую, что надо бы на CAN всё это сделать, дабы было сделано. На 485 там всё ручками просто делается, вроде. MODBUS не нужен, просто навязывается заказчиком и я не понимаю, почему. Там в мире модбасов тьма, накой в эти релизы мне вникать, мне дело сделать надо и потом делать другие дела.
Сообщение отредактировал In_an_im_di - Dec 8 2014, 22:05
|
|
|
|
|
Dec 8 2014, 22:10
|

Профессионал
    
Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718

|
Для "дёргать ножками" в квартире CAN сверхизбыточен. А PDO в данном случае - это процесс ради процесса. Цитата Видимо пакет управления длиной 8 бит - очень оптимистично. хм, как вариант 7 - всегда один(типа синхронизация) 6 - "0" - запрос состояния, "1" - установка состояния при установке состояния: 5 - новое лог. сост. GPIO 4-2 - номер GPIO используем два стоп-бита и контроль чётности. Получаем ещё два свободных бита. Нехватает для адресации 30 устройств. Да, 8 бит - это оптимистично. -------------- Цитата вникать, мне дело сделать надо и потом делать другие дела. в данном свете рекомендую просто купить готовое оборудование.
|
|
|
|
|
Dec 8 2014, 22:14
|
Местный
  
Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762

|
Цитата(ДЕЙЛ @ Dec 9 2014, 00:22)  2. Опторазвязка никогда лишней не будет, ок, спасибо Цитата(smalcom @ Dec 9 2014, 01:10)  в данном свете рекомендую просто купить готовое оборудование. продайте, куплю.
|
|
|
|
|
Dec 8 2014, 22:21
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(In_an_im_di @ Dec 9 2014, 01:01)  8 бит это байт, пересылаемый по сети. На 485 там всё ручками просто делается, вроде. MODBUS не нужен, просто навязывется заказчиком и я не понимаю, почему. Про байт понятно  Непонятно назначение этого байта. Байты же сами собой по сети не ходят. Вообще, если не секрет, какое назначение у подчиненных устройств? Modbus RTU - неформальный стандарт для всякого АСУТП.
|
|
|
|
|
Dec 8 2014, 22:27
|
Местный
  
Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762

|
Цитата(psL @ Dec 9 2014, 01:21)  Вообще, если не секрет, какое назначение у подчиненных устройств? Modbus RTU - неформальный стандарт для всякого АСУТП. Это и есть АСУТП с быстродействием в полсекунды. Информации в данной сети передавать надо мало, достаточно байта туда-сюда от каждой точки раз в полсекунды. ну, то есть, что достаточно слота 100мс на 9600 на всёпровсё. 485 и не парицо. Времена всегда одни и те же?
Сообщение отредактировал In_an_im_di - Dec 8 2014, 22:31
|
|
|
|
|
Dec 8 2014, 23:03
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(In_an_im_di @ Dec 9 2014, 01:27)  Это и есть АСУТП с быстродействием в полсекунды. Информации в данной сети передавать надо мало, достаточно байта туда-сюда от каждой точки раз в полсекунды.
ну, то есть, что достаточно слота 100мс на 9600 на всёпровсё. 485 и не парицо.
Времена всегда одни и те же? на 9600 1 байт передается ~1 мс, но у вас будет не 1 байт. Посмотрите описание CAN, либо Modbus. В кадрах для канального уровня присутствует синхронизация и контроль целостности, для сетевого уровня - адрес. Опять же скорость обмена определяется "задумчивостью" при обработке запроса подчиненным и ответа мастером, таймаутами. Поэтому времена в общем случае будут разные. А еще для "самодельной" сети существует проблема распределения адресов между подчиненными.
|
|
|
|
|
Dec 9 2014, 13:59
|
Местный
  
Группа: Участник
Сообщений: 454
Регистрация: 20-11-09
Из: Зеленоград
Пользователь №: 53 762

|
Цитата(psL @ Dec 9 2014, 02:03)  на 9600 1 байт передается ~1 мс, но у вас будет не 1 байт. Посмотрите описание CAN, либо Modbus. В кадрах для канального уровня присутствует синхронизация и контроль целостности, для сетевого уровня - адрес. Опять же скорость обмена определяется "задумчивостью" при обработке запроса подчиненным и ответа мастером, таймаутами. Поэтому времена в общем случае будут разные. А еще для "самодельной" сети существует проблема распределения адресов между подчиненными. Ведомые будут передавать по запросу от Ведущего как только "услышат" свой адрес в сети. тайминги, да. Адресов мало, штук 30, остальная часть байта будет командой Ведомому, что передать обратно и что исполнить. Таким образом, достаточно байта для логического обмена(пять бит - адрес 0-31, и три бита - команда 0-7, что достаточно для моего применения) Конфигурироваться сеть будет "ручками", адреса будут физически прописываться в Ведомые, в прошивки их процессоров. Я правильно понимаю сей процесс?
Сообщение отредактировал In_an_im_di - Dec 9 2014, 14:02
|
|
|
|
|
Dec 9 2014, 16:03
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(In_an_im_di @ Dec 9 2014, 16:59)  Ведомые будут передавать по запросу от Ведущего как только "услышат" свой адрес в сети. тайминги, да. Адресов мало, штук 30, остальная часть байта будет командой Ведомому, что передать обратно и что исполнить. Таким образом, достаточно байта для логического обмена(пять бит - адрес 0-31, и три бита - команда 0-7, что достаточно для моего применения) Конфигурироваться сеть будет "ручками", адреса будут физически прописываться в Ведомые, в прошивки их процессоров. Я правильно понимаю сей процесс? Если не хочется заморачиваться с обеспечением достоверности данных в канале видимо лучше использовать CAN. В поле данных кадра можно передавать до 8 байт. Контроль целостности кадра при этом будет выполнять узел CAN контроллера. В противном случае нужно защищать кадр хотябы при помощи контроля четности, как говорили выше. Либо любой мусор, принимаемый с линии, будет восприниматься как адрес-команда. Прошивать адреса не очень удобно, поскольку при переконфигурировании сети (тестировании, ремонте и т.п.) придется каждый раз перепрошивать часть устройств сети, следить чтобы адреса не пересекались.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|