|
CANOpen, С чего начать? |
|
|
|
 |
Ответов
|
Nov 4 2012, 21:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Обычно в сети CANopen все узлы имеют встроенную EEPROM для записи своих основных параметров - типа идентификатора узла, рабочих идентификаторов PDO и т.д. Тогда конфигуратор нужен только один раз для настройки этих параметров при создании сети и больше он будет не нужен. В обычном случае, кстати, конфигуратор - это лаптоп с CAN адаптером и прогой, которая умеет уонфигурировать сеть, сохранять и восстанавливать объекты словарей локально на диске. Очень удобно. В принципе конфигуратором может выступать и один из контроллеров в сети, но тогда ему надо сохранять все словари узлов, которые он будет конфигурировать, а это куча памяти. Но сам механизм возможен. И означает ли это что в целом узлы могут не поддерживать SDO, и для полностью в ручную сконфигурированной сети это никогда и не вылезет? Цитата А определяется стандартом как то алгоритм конфигурации сети?? Или это как каждый сам решит? И означает ли это что в целом узлы могут не поддерживать SDO, и для полностью в ручную сконфигурированной сети это никогда и не вылезет? Это я спрашиваю на тот счет можно ли начинать с урезанной вариации стека, и наращивать ее по функционалу в будущем? Конечно определяется. И, насколько я знаю, именно SDO-сервер обязательно должен присутсвовать в любом узле согласно стандарту. Его надо в первую очередь реализовывать. Цитата И еще что стандарт говорит о настоечных коэффициентах? Можно сделать в словаре область с коэффициентами калибровки, и иметь к ней доступ только через SDO? Конечно можно! Цитата В протоколе нет обязательного мастера сети. Сеть может состояить из одних слейвов если они сконфигурированы надлежащим образом. Как будет выполняться конфигурирование это решает разработчик. Ну вообще-то в CANopen сети должен быть мастер - NMT. Это узел, который передает всем узлам сообщения о том, в какой режим они должны входить - preoperational, operational, stopped и.т. д. Я думаю, основная проблема понимания CANоpen у всех возникает с пониманием механизма PDO, да?
|
|
|
|
|
Nov 5 2012, 04:52
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(Golikov A. @ Nov 5 2012, 01:16)  Ну да SDO реализовать просто, проще чем сразу продумывать какие PDO куда... А кто в сети переводи устройства из режима преоператед, в оператед? Стандарты официальные придут не скоро( Любой узел способный выдать NMT команды (там всего 2 байта). На самом деле поностью отказаться от конфигуратора проблематично. Кто то все равно должен следить за всеми устройствами как минимум для реакциии на внезапный "отвал" какого либо из узлов. Все пакеты в кан широковещательные и посылающий узел не узнает что тот кому адресован пакет его уже не слышит. В этом отношении запросы к SDO серверу лучше поскольку они идут с подтверждением. Т.е выдавать команду на подрыв лучше через SDO. DS301 в сети находится без проблем, а это один из основных документов.
|
|
|
|
|
Nov 5 2012, 08:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(_3m @ Nov 5 2012, 07:52)  На самом деле поностью отказаться от конфигуратора проблематично. Кто то все равно должен следить за всеми устройствами как минимум для реакциии на внезапный "отвал" какого либо из узлов. Все пакеты в кан широковещательные и посылающий узел не узнает что тот кому адресован пакет его уже не слышит. Вообще-то для этого и реализован в CANopen механизм Heartbeat - узел который принимает PDO должен быть настроен на прием Heartbeatов от соответствующих узлов. При его "отваливании", или "отваливании" одного из этих узлов, он должен переходить в безопасное состояние. Таким образом здесь мастер не нужен. Цитата Да у меня есть один опасный момент где хорошо бы знать что все кто надо все что надо сделали. Без проблем. Настройте узел, который это должен знать на прием Heartbeatов от тех узлов, которые должны выполнять команду. При отпадании одного из узлов - получите ошибку. Но это уже перестраховка, так как смотри выше. Цитата В моей задаче опасно не то состояние выставить. То есть если задан один режим, а из-за потери пакета главное устройство сработает в другом режиме. Но это решается через SYNC легко. Перед финальной командой просто получу актуальное состояние, а не получу - то это ошибка и ничего делать не буду. Хотя и по SDO там тоже не много данных собрать надо... подумаем... ИМХО если я правильно понимаю CANopen - SDO механизм не предназначен для обмена процессными данными. Не стоит его здесь мутить. В CANopen такие задачи предусмотрены и решаются стандартными механизмами.
|
|
|
|
Сообщений в этой теме
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 есть на местном 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 Golikov A. Сердцебиение спасет от отваливания узла, но если п... Nov 5 2012, 08:41 syoma Цитата(Golikov A. @ Nov 5 2012, 11:41) Се... Nov 5 2012, 10:55  _3m Цитата(syoma @ Nov 5 2012, 14:55) Я тоже ... Nov 7 2012, 06:55   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
|
|
|