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

 
 
> 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 5 2012, 15:35
Сообщение #2


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

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



Цитата
Могут ли 2 разных объекта слать одинаковые идентификаторы PDO (вроде бы нет, иначе они могут одновременно их послать, и будет коллапс)? Есть ли ограничение на количество обрабатываемых PDO на приеме? На что выделены 2 входных PDO, чтобы гарантировать возможность как минимум 2 другим устройствам задавать переменные? А если надо чтобы это могли сделать 3 или больше устройств, занимать PDO у других что их не используют?
А мастера на шине имеют огромный список исходящих PDO?

Опять упираемся в понимание PDO - я Вам советую - забудьте вы этот Predefined Connection Set - это просто пример, и в реальной сети конфигурация может быть совсем другая.

Цитата
Кстати не кто не мешает сделать подтверждение приема на PDO. К примеру в блоке реле можно сделать переменные "задача" и "состояние". Принимаются PDO с тем какие реле надо выставить (задача), а после выставления асинхронно шлется другое PDO с тем что выставилось (состояние), фактически - это подтверждение приема PDO.

Спокойно можно сделать. Главное, чтобы переменная "Состояние" могла меппиться в соответсвующее TPDO.

А вообще советую почитать соседнюю тему, где мы обсуждали сокраментальный смысл PDO http://electronix.ru/forum/index.php?s=&am...st&p=886979

Цитата
А вот у меня вопрос про переменные словаря, правильно я понимаю что одна и та же переменная может быть использована во многих устройствах? И следовательно все они могут иметь едины приемный PDO который эту переменную настраивает,

Да правильно.
Цитата
Правильно я понимаю что устройство хранит только ему нужную часть словаря?

Нет. Каждое устройство имеет свой локальный словарь.

Короче, вот пример использования PDO:
Допустим у нас есть узлы 1,2 и 3, связанные по CANopen. Узел 1 стоит на улице и измеряет температруру воздуха. Узлы 2 и 3 должны знать эту температуру, чтобы регулировать обороты вентилятора в ванной и на кухне.
Чтобы это реализовать в узле 1 в его объектном словаре есть переменная "Температура воздуха", куда с АЦП записывается температура, непосредственно им измеряемая.
В узлах же 2 и 3 в ихних локальных объектных словарях есть переменная "Температура уличного воздуха" - которую считывает алгоритм управления вентилятором в этих узлах.
Чтобы все как-то заработало необходимо, чтобы переменная "Температура уличного воздуха" отображала значение переменной "Температура воздуха".
Для этого нужно сделать дальнейшие действия только один раз при настройке сети:
Узел 1 настраивает TPDO с адресом XXX, в которое маппится переменная "Температура воздуха", и настраивает это TPDO на передачу по изменению значения переменной. Таким образом при изменении температуры воздуха в сети появится сообщение с идентификатором XXX и значением температуры. Чтобы узлы 2 и 3 принимали это сообщение, мы настраиваем в них RPDO с адресом XXX и маппим туда переменную "Температура уличного воздуха". Таким образом если узлы 2 и 3 принимают PDO с таким адресом, они автоматически достают из сообщения нашу температуру и записывают ее в локальный словарь.
После проделывания данных процедур сеть начнет работать, и узлы 2 и 3 смогут узнать температуру воздуха просто посмотрев в свой локальный словарь и прочитав переменную "Температура уличного воздуха". И неважно, что она измеряется совершенно другим узлом за тридевать километров - всю работу, связанную с обновлением локальной переменной возъмет на себя 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 все узлы имеют встроенную 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
- - 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 Текстовая версия Сейчас: 31st July 2025 - 20:16
Рейтинг@Mail.ru


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