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

 
 
> Нужна помощь max485, Atmega16
klin-2006
сообщение Jun 2 2009, 19:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 15-05-09
Пользователь №: 49 109



Рисую принципиальную схему с МК Atmega 16, необходимо передавать данные с МК на ПК по интерфейсу rs-485 по протаколом CAN. Все впринципе понятно, кроме протакола CAN. Непойму следующее: для того чтобы был CAN протакол, нужна специальная микросхема или CAN описывается только в программе? Просто я сделал так: с МК веду на микросхему max485 потом опять на нее, затем на max232 и к ПК. Пример смотри ниже, только для МК PIC. А вот что с CAN делать непонятно. Подскажите пожалуйста.

Модератор. Две темы были объединены. Напоминаю, что кросспостинг запрещен п.3.2 Правил форума.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Jun 2 2009, 19:49
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Протокол CAN подразумевает физический уровень в виде интерфейса CAN. MAX485 это драйвер RS485, а не CAN. И на вашей схеме нарисована сеть RS485. Вы вообще-то правильно (верно) поняли свое задание?
Go to the top of the page
 
+Quote Post
klin-2006
сообщение Jun 3 2009, 06:02
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 15-05-09
Пользователь №: 49 109



Цитата(rezident @ Jun 2 2009, 23:49) *
Протокол CAN подразумевает физический уровень в виде интерфейса CAN. MAX485 это драйвер RS485, а не CAN. И на вашей схеме нарисована сеть RS485. Вы вообще-то правильно (верно) поняли свое задание?

Так как нам необходимо связать несколько ГРП с одним диспетчерским пунктом на расстоянии 1 000 м, то для нас лучше всего подходит интерфейс RS-485, и необходимо выбрать протокол связи. Будем использовать CAN прокол. Это мое задание. А микросхема MAX 1480 подойдет?
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 5 2009, 01:22
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(klin-2006 @ Jun 3 2009, 09:02) *
Так как нам необходимо связать несколько ГРП с одним диспетчерским пунктом на расстоянии 1 000 м, то для нас лучше всего подходит интерфейс RS-485, и необходимо выбрать протокол связи. Будем использовать CAN прокол. Это мое задание. А микросхема MAX 1480 подойдет?

Пользуйте MODBUS, он наиболее хорошо подходит для поставленной задачи и имеющегося железа.
А CAN это не протокол.


Цитата(XVR @ Jun 4 2009, 20:22) *
Нет, modbus для одного мастера.

У него как раз один мастер - Диспетчер, и множество слейвов - ГРП.

Цитата(XVR @ Jun 4 2009, 20:22) *
Вот только количество и адреса устройств должны быть известны на ПК, Plug & Play не получится

Зачем знать адреса и количество? Прекрасно получится Plug&Play. ПК - делает опрос всех адресов, находит и идентифицирует все устройства в сети. Потом работает только с найденными и проидентифицированными. Периодически повторяет поиск новых устройств в сети.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 5 2009, 01:53
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(defunct @ Jun 5 2009, 07:22) *
У него как раз один мастер - Диспетчер, и множество слейвов - ГРП.
Вы не очень внимательны.
Цитата(klin-2006 @ Jun 4 2009, 20:16) *
Также необходимо передавать значения текущей температуры на ПК оператору через интерфейс RS-485. А в случае нештатной ситуации также оповещать оператора через RS-485.
Если мы правильно интерпретировали процитированное ("оповещать оператора"), то для этого режим "мультимастер" требуется.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jun 5 2009, 02:38
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(rezident @ Jun 5 2009, 04:53) *
Вы не очень внимательны.

Просто последние 10 лет тесно связан с АСУТП системами.
И точно знаю, что никакой мультимастер здесь не нужен.

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

Оповещать оператора - это задача АРМ'а диспетчера, т.е. надо забабахать туда какой-нибудь сигнал сирены, блыманье всего экрана красным цветом и т.п.. - это задача сугубо ПКшного ПО.

ГРП же, должен, в обязательном порядке, иметь уставки, и при выходе за них - также в обязательном порядке регистрировать аварийное событие (дата, время, уставка и отклонение) и хранять его до тех пор пока ПО верхнего уровня его не вычитает. АРМ диспетчера (в общем виде ОИК сервер) должен сам запрашивать архив аварийных событий (будь то температура, давление, перегруз по току, и прочее).

Только такая схема единственно правильная т.к. ни при каких условиях аварийное событие не потеряется. В противном случае (мультимастер и отправка данных с ГРП самостоятельно по инициативе ГРП) может привести к потере аварийного события - потому что как раз в момент аварии канал связи могут разорвать, переехать трактором, залить водой, банально выключить комп диспетчера. Плюс ко всему мультимастер усложнит систему в разы, что пагубно отразится на ее надежности.
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 5 2009, 06:38
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(defunct @ Jun 5 2009, 06:38) *
Просто последние 10 лет тесно связан с АСУТП системами.
И точно знаю, что никакой мультимастер здесь не нужен.
Я с ними не связан, но тоже согласен, что 'мультимастер здесь не нужен' rolleyes.gif
Осталось убедить в этом автора топика laughing.gif
Цитата
В противном случае (мультимастер и отправка данных с РГП самостоятельно по инициативе РГП) может привести к потере аварийного события - потому что как раз в момент аварии канал связи могут разорвать, переехать трактором, залить водой, банально выключить комп диспетчера.
Не может, протокол канального уровня должен обеспечить надежную доставку пакетов, а протокол уровня приложения сохранения недоставленных сообщений (в случае фатального отсуствия связи) где то. Но это гораздо сложнее, чем единственный мастер на ПК

Цитата
Плюс ко всему мультимастер усложнит систему в разы, что пагубно отразится на ее надежности.
+1000% beer.gif
Про modbus тоже согласен на все 100%

По поводу PnP:

Цитата
Зачем знать адреса и количество? Прекрасно получится Plug&Play.
Получится, но в ограниченном объеме
Цитата
ПК - делает опрос всех адресов, находит и идентифицирует все устройства в сети.
'Все' - это сколько? Если их может быть 10-20 шт, то все ок. А если десятки тысяч, то 'все' ему будет сложно перебрать cranky.gif
Кроме того, каждое устройство должно иметь уникальный (и НЕБОЛЬШОЙ) адрес. PnP подразумевает - взял устройство из коробки, воткнул в сеть (без настроек) и оно заработало.
В принципе даже это можно реализовать при условии, что устройства будут первый раз включаться в сеть строго по очереди (по 1 штуке). Вариант с 'собрал сеть из чистых (только из коробки) устройств и она заработала' не получится
Go to the top of the page
 
+Quote Post
klin-2006
сообщение Jun 5 2009, 07:16
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 15-05-09
Пользователь №: 49 109



Цитата(XVR @ Jun 5 2009, 10:38) *
Я с ними не связан, но тоже согласен, что 'мультимастер здесь не нужен' rolleyes.gif
Осталось убедить в этом автора топика laughing.gif
'Все' - это сколько? Если их может быть 10-20 шт, то все ок. А если десятки тысяч, то 'все' ему будет сложно перебрать cranky.gif

Не, устройств не много если по максимуму 50-100 шт. Я думаю modbus здесь будет уместен?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
XVR
сообщение Jun 5 2009, 09:20
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(klin-2006 @ Jun 5 2009, 11:16) *
Не, устройств не много если по максимуму 50-100 шт. Я думаю modbus здесь будет уместен?
Да, вполне. Но учтите, что:
  • Устройства перед тем как подключить в систему придется конфигурировать (как минимум прописать им адрес)
  • ПК будет сама опрашивать все устройства по очереди. По собственному почину устройства не смогут ничего отправить в ПК
Если это устроит, то modbus вполне подходит
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- klin-2006   Нужна помощь max485   Jun 2 2009, 19:04
- - klin-2006   Подскажите пожалуйста к какой ножке МК Atmega16 по...   Jun 2 2009, 19:22
|- - XVR   Цитата(klin-2006 @ Jun 2 2009, 23:22...   Jun 3 2009, 07:40
|- - klin-2006   Цитата(XVR @ Jun 3 2009, 11:40) К любой с...   Jun 3 2009, 14:28
|- - XVR   Цитата(klin-2006 @ Jun 3 2009, 18:28...   Jun 3 2009, 14:37
||- - klin-2006   Цитата(XVR @ Jun 3 2009, 18:37) Сильно за...   Jun 3 2009, 15:14
||- - XVR   Цитата(klin-2006 @ Jun 3 2009, 19:14...   Jun 4 2009, 05:29
||- - klin-2006   Цитата(XVR @ Jun 4 2009, 09:29) Устройств...   Jun 4 2009, 14:16
||- - rezident   Цитата(klin-2006 @ Jun 4 2009, 20:16...   Jun 4 2009, 14:30
||- - XVR   Цитата(rezident @ Jun 4 2009, 18:30) Это ...   Jun 4 2009, 15:18
||- - klin-2006   Цитата(XVR @ Jun 4 2009, 19:18) klin-2006...   Jun 4 2009, 15:40
||- - XVR   Цитата(klin-2006 @ Jun 4 2009, 19:40...   Jun 4 2009, 17:22
|- - rezident   Цитата(klin-2006 @ Jun 3 2009, 20:28...   Jun 3 2009, 15:19
- - defunct   Цитата(XVR @ Jun 5 2009, 09:38) 'Все...   Jun 5 2009, 10:09


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:13
Рейтинг@Mail.ru


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