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

 
 
> CANOpen, С чего начать?
Chip115
сообщение Nov 14 2011, 11:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 28-12-07
Пользователь №: 33 709



Всем привет!
Читаю доку на CANOpen (далее CO) и что то плохо пока "въезжаю" в тему.
В общем интересует с чего начать то?
Как я понял имеются уже готовые решения для разного рода задач...
В целом имеется установка. На определенное время она запускается и что то делает... в целом идет замер тока,напряжения.
в ней CAN интерфейс... что,когда и как она посылает известно.
Хочу сделать девайс, который буде связан с установкой по CAN и соответственно управлять ей. Мне бы понять общий принцип... хотя бы на основе сбора данных о U и I.

Как я понял надо создавать словарь объектов, где будут перечислены все параметры (в моем случа ток и напруга).
Словарь объектов создается по средствам SDO. Так?

или я не с того начал? Как грамотно подойти к этому вопросу ? Чтение доки сильно не помогает... так как не вижу картины в целом как эта штука работает (CO).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
syoma
сообщение Nov 4 2012, 21:16
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Обычно в сети CANopen все узлы имеют встроенную EEPROM для записи своих основных параметров - типа идентификатора узла, рабочих идентификаторов PDO и т.д. Тогда конфигуратор нужен только один раз для настройки этих параметров при создании сети и больше он будет не нужен. В обычном случае, кстати, конфигуратор - это лаптоп с CAN адаптером и прогой, которая умеет уонфигурировать сеть, сохранять и восстанавливать объекты словарей локально на диске. Очень удобно. В принципе конфигуратором может выступать и один из контроллеров в сети, но тогда ему надо сохранять все словари узлов, которые он будет конфигурировать, а это куча памяти. Но сам механизм возможен.
И означает ли это что в целом узлы могут не поддерживать SDO, и для полностью в ручную сконфигурированной сети это никогда и не вылезет?
Цитата
А определяется стандартом как то алгоритм конфигурации сети?? Или это как каждый сам решит? И означает ли это что в целом узлы могут не поддерживать SDO, и для полностью в ручную сконфигурированной сети это никогда и не вылезет? Это я спрашиваю на тот счет можно ли начинать с урезанной вариации стека, и наращивать ее по функционалу в будущем?

Конечно определяется. И, насколько я знаю, именно SDO-сервер обязательно должен присутсвовать в любом узле согласно стандарту. Его надо в первую очередь реализовывать.
Цитата
И еще что стандарт говорит о настоечных коэффициентах? Можно сделать в словаре область с коэффициентами калибровки, и иметь к ней доступ только через SDO?

Конечно можно!


Цитата
В протоколе нет обязательного мастера сети. Сеть может состояить из одних слейвов если они сконфигурированы надлежащим образом. Как будет выполняться конфигурирование это решает разработчик.

Ну вообще-то в CANopen сети должен быть мастер - NMT. Это узел, который передает всем узлам сообщения о том, в какой режим они должны входить - preoperational, operational, stopped и.т. д.

Я думаю, основная проблема понимания CANоpen у всех возникает с пониманием механизма PDO, да?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Nov 4 2012, 21:16
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(syoma @ Nov 5 2012, 01:07) *
И означает ли это что в целом узлы могут не поддерживать SDO, и для полностью в ручную сконфигурированной сети это никогда и не вылезет?


Ну да SDO реализовать просто, проще чем сразу продумывать какие PDO куда...

А кто в сети переводи устройства из режима преоператед, в оператед? Стандарты официальные придут не скоро(
Go to the top of the page
 
+Quote Post
_3m
сообщение Nov 5 2012, 04:52
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Цитата(Golikov A. @ Nov 5 2012, 01:16) *
Ну да SDO реализовать просто, проще чем сразу продумывать какие PDO куда...
А кто в сети переводи устройства из режима преоператед, в оператед? Стандарты официальные придут не скоро(

Любой узел способный выдать NMT команды (там всего 2 байта). На самом деле поностью отказаться от конфигуратора проблематично. Кто то все равно должен следить за всеми устройствами как минимум для реакциии на внезапный "отвал" какого либо из узлов. Все пакеты в кан широковещательные и посылающий узел не узнает что тот кому адресован пакет его уже не слышит.
В этом отношении запросы к SDO серверу лучше поскольку они идут с подтверждением. Т.е выдавать команду на подрыв лучше через SDO.
DS301 в сети находится без проблем, а это один из основных документов.
Go to the top of the page
 
+Quote Post
syoma
сообщение Nov 5 2012, 08:09
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата(_3m @ Nov 5 2012, 07:52) *
На самом деле поностью отказаться от конфигуратора проблематично. Кто то все равно должен следить за всеми устройствами как минимум для реакциии на внезапный "отвал" какого либо из узлов. Все пакеты в кан широковещательные и посылающий узел не узнает что тот кому адресован пакет его уже не слышит.

Вообще-то для этого и реализован в CANopen механизм Heartbeat - узел который принимает PDO должен быть настроен на прием Heartbeatов от соответствующих узлов. При его "отваливании", или "отваливании" одного из этих узлов, он должен переходить в безопасное состояние. Таким образом здесь мастер не нужен.
Цитата
Да у меня есть один опасный момент где хорошо бы знать что все кто надо все что надо сделали.

Без проблем. Настройте узел, который это должен знать на прием Heartbeatов от тех узлов, которые должны выполнять команду. При отпадании одного из узлов - получите ошибку. Но это уже перестраховка, так как смотри выше.

Цитата
В моей задаче опасно не то состояние выставить. То есть если задан один режим, а из-за потери пакета главное устройство сработает в другом режиме. Но это решается через SYNC легко. Перед финальной командой просто получу актуальное состояние, а не получу - то это ошибка и ничего делать не буду.
Хотя и по SDO там тоже не много данных собрать надо... подумаем...

ИМХО если я правильно понимаю CANopen - SDO механизм не предназначен для обмена процессными данными. Не стоит его здесь мутить. В CANopen такие задачи предусмотрены и решаются стандартными механизмами.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


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


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