|
CANOpen, С чего начать? |
|
|
|
 |
Ответов
|
Nov 5 2012, 08:41
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Сердцебиение спасет от отваливания узла, но если просто потеряно сообщение то оно не спасет. Но это реально перестраховка, потому что вроде бы кан по спецификации не допускает потерь сообщений, это только если глюканет сам контроллер, или будет сверх интенсивный обмен более приоритетных узлов и они задавят сообщения, что тоже быть не должно.
Настроить узел на прием сердцебиения, это тоже самое что сделать его NMT как я понимаю...
SDO служит для связи точка - точка, где то я даже читал что сервер может инициировать обмен 2 узлов сети, сообщив им их пары SDO (изначально этот обмен возможен только через сервер, что увеличивает в 2 раза трафик), но у меня пока много оборванных кусков стандарта, потому не могу утверждать что это точная цитата и верная информация...
|
|
|
|
|
Nov 5 2012, 10:55
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(Golikov A. @ Nov 5 2012, 11:41)  Сердцебиение спасет от отваливания узла, но если просто потеряно сообщение то оно не спасет. Но это реально перестраховка, потому что вроде бы кан по спецификации не допускает потерь сообщений, это только если глюканет сам контроллер, или будет сверх интенсивный обмен более приоритетных узлов и они задавят сообщения, что тоже быть не должно. Я тоже когда изучал CANopen этого боялся. Но реально, чтобы сообщение не дошло в CANе, оно должно не дойти именно до этого узла и именно полностью, иначе этот узел создаст панику на шине, и оно пересылается. То есть получается, что PDO данный узел должен полностью не заметить, а Heartbeat - полностью принять. При настройке Heartbeatа на частое повторение - ситуация ИМХО очень маловероятная. Также не забываем - Heartbeat имеет самый низкий идентификатор и следовательно самый высокий приоритет, то есть он не может быть задавлен PDOшками. В CANopen все продумано Цитата Настроить узел на прием сердцебиения, это тоже самое что сделать его NMT как я понимаю... Не то же самое. Механизм генерации и приема сообщений Heartbeat должен иметься в каждом CANopen узле. И настраивается он независимо от того NMT мастер это или слейв. NMT мастер же отличается от слейва только тем, что мастер посылает а слейв принимает сообщения о запуске сети или узла,т.е перевода его в различные состояния. Цитата SDO служит для связи точка - точка, где то я даже читал что сервер может инициировать обмен 2 узлов сети, сообщив им их пары SDO (изначально этот обмен возможен только через сервер, что увеличивает в 2 раза трафик), но у меня пока много оборванных кусков стандарта, потому не могу утверждать что это точная цитата и верная информация... В SDO-обмене - сервер - это тот узел к которому залазят в его объектный словарь за данными или запихивают что-то туда. Клиент - это узел, который инициирует обмен, т.е. посылает сообщения серверу и залазит в его словарь. Вообще-то SDO - клиенту даже не нужно быть участником сети - он может залезть в словарь сервера, просто зная его идентификаторы TSDO и RSDO.
|
|
|
|
|
Nov 7 2012, 06:55
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(syoma @ Nov 5 2012, 14:55)  Я тоже когда изучал CANopen этого боялся. Но реально, чтобы сообщение не дошло в CANе, оно должно не дойти именно до этого узла и именно полностью, иначе этот узел создаст панику на шине, и оно пересылается. То есть получается, что PDO данный узел должен полностью не заметить, а Heartbeat - полностью принять. При настройке Heartbeatа на частое повторение - ситуация ИМХО очень маловероятная. По моему такая ситуация в некторых конфигурациях сети вполне реальна. Рассмотрим линю протяженностью 500м с тремя узлами. В точке 0м стоит узел 1, в точке 10м узел 2 и в точке 500 - узел 3. В том же шкафу где установлен узел 3 клацают пусактели с могучими нагрузками. Узел 1 посылает TPDO узлу 3, и как назло момент прихода PDO на 3 узел совпал с переключеним нагрузки, в которой опять же по случайному стечению обстоятельств подклинило двигатель. Узел 1 получил ACK от узла 2 и считает что передача прошла успешно а узел 3 отбросил пакет из-за ошибок. Heartbeat однократную потерю пакета не заметил. Идеологически PDO хорошо подходит для данных потеря которых не приводит к плохим последствиям, и их желательно слать периодически а не только однократно по событию. Цитата Также не забываем - Heartbeat имеет самый низкий идентификатор и следовательно самый высокий приоритет, то есть он не может быть задавлен PDOшками. В CANopen все продумано  Там далеко не все продумано. Например Plug-and-play слабо реализован.
|
|
|
|
Сообщений в этой теме
Chip115 CANOpen Nov 14 2011, 11:38 garry_ Для скорости - покупаете http://can.marathon.ru/pa... Nov 14 2011, 19:42 Chip115 Ну что вы такое говорите )) МЫ же в России... кто ... Nov 15 2011, 09:15 garry_ QUOTE (Chip115 @ Nov 15 2011, 13:15) Ну ч... Nov 15 2011, 10:28 _3m Цитата(Chip115 @ Nov 15 2011, 13:15) Ну ч... Mar 20 2012, 18:56 syoma Вы уверены, что у Вас CanOpen, а не простая железк... Nov 15 2011, 09:47 dasg Можете посмотреть описание CanOpen здесь: http://r... Mar 20 2012, 14:28 Golikov A. Всем привет!
Дабы не плодить темы пишу суда.
... Nov 3 2012, 14:41 Ruslan1 Цитата(Golikov A. @ Nov 3 2012, 16:41) Кт... Nov 3 2012, 15:16 Golikov A. хаха, ок. продолжим...
Я не могу пока до конца у... Nov 3 2012, 17:30 _3m Цитата(Golikov A. @ Nov 3 2012, 21:30) Я ... Nov 4 2012, 10:06 Golikov A. То есть в сети должен явно или не явно присутствов... Nov 4 2012, 11:31 _3m Цитата(Golikov A. @ Nov 4 2012, 15:31) А ... Nov 4 2012, 20:25  Golikov A. Цитата(_3m @ Nov 5 2012, 00:25) Сложности... Nov 4 2012, 21:01 syoma Обычно в сети CANopen все узлы имеют встроенную EE... Nov 4 2012, 21:16 Golikov A. Цитата(syoma @ Nov 5 2012, 01:07) И означ... Nov 4 2012, 21:16  _3m Цитата(Golikov A. @ Nov 5 2012, 01:16) Ну... Nov 5 2012, 04:52   syoma Цитата(_3m @ Nov 5 2012, 07:52) На самом ... Nov 5 2012, 08:09 syoma Кстати стандарт CANopen есть на местном FTP. Правд... Nov 4 2012, 21:17 Golikov A. Угу я запросил доки, поглядим...
Да у меня есть о... Nov 5 2012, 06:04 _3m Цитата(Golikov A. @ Nov 5 2012, 10:04) Да... Nov 5 2012, 07:11 Golikov A. ой сдублировалось Nov 5 2012, 06:04 Golikov A. Странно, ремот фрейм есть, и вроде бы даже я в ста... Nov 5 2012, 07:46   syoma Цитата(_3m @ Nov 7 2012, 09:55) Узел 1 по... Nov 7 2012, 08:10    _3m Цитата(syoma @ Nov 7 2012, 12:10) Так в C... Nov 7 2012, 11:42     syoma Цитата(_3m @ Nov 7 2012, 13:42) Нет в мир... Nov 7 2012, 13:38 Golikov A. он не может быть задавлен PDOшками, а вот PDOшки д... Nov 5 2012, 11:33 syoma ЦитатаМогут ли 2 разных объекта слать одинаковые и... Nov 5 2012, 15:35 Golikov A. Все всосал... я думал что словарь глобальный на вс... Nov 5 2012, 16:47 syoma Цитатато есть можно брать узлы и встраивать их в с... Nov 5 2012, 19:40 chernenko с CANOpen не работал и полностью реализовывать про... Feb 28 2013, 07:56 chernenko Последний мой вопрос не актуален, так как придумал... Mar 1 2013, 12:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|