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

 
 
> 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
Ответов
Golikov A.
сообщение Nov 3 2012, 17:30
Сообщение #2


Гуру
******

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



хаха, ок. продолжим...

Я не могу пока до конца ухватить концепцию протокола, потому и спросил.
На сегодняшний момент я себе протокол представляю так (если я не прав пожалуйста поправьте)

есть некая среда(пространство) приборов, в которой есть какие-то данные (показания приборов, состояния входов, состояния выходов и т.д....) Все эти данные собираются и отображаются какими то приборами из этой сети. Протокол задает как эти данные в среде приборов обновляются.

Есть допустим блок реле, в нем есть переменное с состоянием выходов, и блок реле это состояние выставляет. Есть кан посылка с каким то идентификатором, которая несет в себе значение этой переменной, при прохождении этой посылки по сети, блок реле ее ловит, и задает значение состояния, и соотвествено выставляет нужные реле.

Эта кан посылка называется PDO, а идентификатор этой посылки есть RPDO, прописанное в блоке реле. Также в блоке реле есть запись какие данные из кан посылки класть в переменную.

тут вроде все верно. Теперь мне надо понять как тот кто хочет выставить значение реле узнает значение идентификатора? Очевидно его кто-то должен задать. Как тот кто задает обращается именно к блоку реле? У блока должен быть какой то адрес? Где то должно быть описание блоков входящих в сеть? SDO - как задаются номера SDO?

Я как то не могу уловить концепцию, если ее кто изложит, буду очень благодарен, пусть скомкано или кратко, я уточню непонятные моменты, но хотя бы я сдвинусь с места. Пока что я вижу какие то наборы цифр, которые называют объектами, а вот как получается конкретная кан посылка я не понимаю...

что значат цифры в этой таблице?
http://www.softing.com/home/en/industrial-...vanchor=3010650

И да еще забыл, какой минимальный состав КанОпен сети? Может она состоять из одних слейв устройств, или из одних мастер устройств? Или всегда необходимо устройство которое проинициализирует сеть? В начальный момент все узлы не различимы?
Go to the top of the page
 
+Quote Post
_3m
сообщение Nov 4 2012, 10:06
Сообщение #3


Знающий
****

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



Цитата(Golikov A. @ Nov 3 2012, 21:30) *
Я не могу пока до конца ухватить концепцию протокола, потому и спросил.

Да, протокол canopen надо долго вкуривать.
Цитата
есть некая среда(пространство) приборов, в которой есть какие-то данные (показания приборов, состояния входов, состояния выходов и т.д....) Все эти данные собираются и отображаются какими то приборами из этой сети. Протокол задает как эти данные в среде приборов обновляются.

То что вы описали - объектный словрь в теминах канопен. Объектный словарь содержит все данные прибора (как физичекие так и виртуальные). Информация которой нет в объектном словаре посредством протокола канопен недоступна. Доступ к любому объекту из словаря осуществляется посредством SDO. Объекты идентифицируется по 16-разрядному Index и 8-разрядному subindex. Поскольку SDO позволяет обращатся ко всему объектному словарю он довольно тяжеловесен и как правило используется для настройки параметров. Данные рабочего процесса передаются по другому - см. ниже.
Цитата
Есть допустим блок реле, в нем есть переменное с состоянием выходов, и блок реле это состояние выставляет. Есть кан посылка с каким то идентификатором, которая несет в себе значение этой переменной, при прохождении этой посылки по сети, блок реле ее ловит, и задает значение состояния, и соотвествено выставляет нужные реле.
Эта кан посылка называется PDO, а идентификатор этой посылки есть RPDO, прописанное в блоке реле. Также в блоке реле есть запись какие данные из кан посылки класть в переменную.

Правильно. Это еще одна сущность, она называется PDO (process data object). PDO это пакеты кан с предопределенным COB-ID. Данные в пакетах содержат один или несколько объектов словаря (еще раз напомню что в канопен не существует данных не представленных в словаре). Какие именно объекты входят в PDO задается при конфигурировании устройства или предопределено в прошивке. Количество объектов ограничено размером поля данных пакета кан - 8 байт. PDO могут быть как приемные так и передающие: RPDO и TPDO. первые помещают пришедшие извне данные в объектный словарь а вторые наоборот передают. Стандарт по умолчанию предусматривает по 4 PDO для устройства: 4 RPDO и 4 TPDO, для них предопределены уникальные COD-ID которые генрируются на основе node id. Если надо больше PDO конфигуратор сети должен найти неиспользуемые в сети COB-ID и присвоить их дополнительым PDO.


Цитата
тут вроде все верно. Теперь мне надо понять как тот кто хочет выставить значение реле узнает значение идентификатора? Очевидно его кто-то должен задать. Как тот кто задает обращается именно к блоку реле? У блока должен быть какой то адрес? Где то должно быть описание блоков входящих в сеть? SDO - как задаются номера SDO?

Если требуется соединить TPDO и RPDO нужно чтобы у них были идентичные COB-ID и состав объектов. Конфигуратор сти должен задать COB-ID для RPDO идентичным COB-ID TPDO (или наоборот) и настроить маппинг объектов у приемника и отправителя.

Цитата
И да еще забыл, какой минимальный состав КанОпен сети? Может она состоять из одних слейв устройств, или из одних мастер устройств? Или всегда необходимо устройство которое проинициализирует сеть? В начальный момент все узлы не различимы?

В протоколе нет обязательного мастера сети. Сеть может состояить из одних слейвов если они сконфигурированы надлежащим образом. Как будет выполняться конфигурирование это решает разработчик. Может забить в прошивку, может запускать конфигуратор при старте а может написать полноценный мастер который будет централизовано собирать данные со всех устройств.
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 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
- - 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 Текстовая версия Сейчас: 20th August 2025 - 14:24
Рейтинг@Mail.ru


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