Перейти к содержанию
    

Реализовать CANOpen на CAN МК Freescale DSP56F805

Проблема решена! Собака порылась в названиях директорий. CANeds не может сохранить eds файл, если путь к директории содержит русские названия. Понял, когда увидел, где вы сохранили свой файл и вспомнил про то что Вы говорили: файлы с русскими буквами в названии после сохранения меняют имя :). Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь у меня вопрос по самому протоколу. PDO, которые конкретный узел может принимать хранятся в объектном словаре в записях с индексами 1400h – 15FFh. Я не пойму за что отвечают записи под индексами 1600h – 17FFh (Receive PDO Mapping). По тому описанию, что я читал там хранится индекс записи объектного словаря, которая должен отображаться. аналогично не совсем опнятно с отправляемыми PDO: параметры отправляемых PDO хранятя в записях с индексами 1800h – 19FFh Transmit PDO Parameters . А что хранится в записях Transmit PDO Mapping (1A00h – 1BFFh)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теперь у меня вопрос по самому протоколу. PDO...

А вот тут без знаний основ CANopen (а то, что вы описали - одна из основ CANopen) мои объяснения вряд ли помогут ((

Потому как за моим ответом неизбежно полезут другие вопросы...

Тут уже только сомостоятельно.

Ищите рускоязычные переводы CANopen, изучайте.

Тогда все само-собой проясниться.

 

p.s. В таких случаях говорят RTFM :biggrin:

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема как раз таки в непонимании TFMа. Просто скажите правильно ли я понял: Допустим в записи объектного словаря под индексом 2000h хранится некоторая переменная подлежащая отображению в PDO. Для передачи я выбираю TPDO1 и по индексу 1800h по соответствующим субиндексам записываю необходимые параметры: COB ID, пусть будет 181, тип передачи пусть будет асинхронный 255, остальное по нулям. Чтобы указать что именно отображать в PDO, я по индексу 1A00h (Transmit PDO Mapping) субиндексу 01 прописывю 0x20000020 (32 битное число). Это для передачи. Для приема я так понял аналогично, толко индексы другие и параметр Receive PDO Mapping указывает на запись в объектном словаре куда будут записываться входящие PDO. Isn't it? Если нет то продолжу RTFM

Изменено пользователем yanvasiij

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

здравствуйте! ковыряю CanFestival. подскажите пожалста как запустить редактор объектов(objdictgen.py)? Вроде все по мануалу делаю: Visual Studio 2005 установил, Cygwin установил, MinGW установил. Нужно что-то сконфигурировать видимо? пытаюсь запустить из командной строки - он ругается, что файл gnosis.xml.pickle отсутствует

 

такой вопрос еще, возможно ли запустить CanOpen в режиме, когда один и тот же процессор является и master, и slave? т.е. один микроконтроллер имеет 2 can интерфейса.

Изменено пользователем spectral1989

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

с gnosis.xml.pickle разобрался, установил либу. но генератор все равно не запускается. как его вызывать правильно? я пишу так: python c:/VOLODYA/CanFestival2/objdictgen/objdictgen.py Node.od Node.c

 

node.od is not a valid file.

 

подскажите что делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

продвинулся еще чуток. файл objdictgen.py преобразует xml файл node.od в сишный node.c, а чтобы редактировать node.od видимо необходимо запустить objdictedit.py, но он тоже не запускается. выдает ошибку:

import wx

import error: no module named wx

возможно вопрос глупый, но для меня решение не очевидно. подскажите пожалста как все таки запустить редактор объектов?

в мануале сказано:

double click on objdictedit.py

но это не помогает)

 

разобрался!

нужно было еще одну либу установить, wxpython называется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

2 недели назад начал изучать CANopen. Удалось успешно портировать библиотеку CANopennode под STM32.

устройство генерирует heart, реагирует на NMT.

Но вот больше у меня ничег сделать не получается.

Можете предоставить пару примеров как, например, отправлять SDO сообщения, принимать?

Буду очень благодарен за готовый проект c применением CANopennode.

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если устройство реагирует на NMT и шлет Heartbeat, то я бы сперва попробовал побомбить его SDO из любой CANopen конфигурационной проги. По крайней мере в CANfestival - когда он у меня запустился, сразу заработал и SDO сервер. Я думаю в CANopennode тоже может так получиться.

Надеюсь CAN адаптер для PC у Вас есть?(типа IXXAT или Vector). Тогда советую установить демку CANwizard - http://canwizard.de/en/demoversion-download Она хоть под лифты заточена, но имеет в своем составе нормальный SDO клиент и позволяет просканировать сеть и залазить в объектные словари любых устройств. Просто запустите ее и попытайтесь просканировать сеть.

Кстати, никто больше не знает бесплатных конфигурационных прог для CANopen?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том то и дело, что есть только CAN анализатор, и две платы c stm32 и CAN. Нужно запустить между ними обмен информацией.

Достать CANopen возможности нет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Microchip CAN BUS Analyzer.

 

Мда. Печально отлаживать протокол, не имея хотя бы одной железяки, которая его 100%-но поддерживает.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Печально отлаживать протокол, не имея хотя бы одной железяки, которая его 100%-но поддерживает.

нормально:) разобраться можно

2 недели назад начал изучать CANopen. Удалось успешно портировать библиотеку CANopennode под STM32.

устройство генерирует heart, реагирует на NMT.

Но вот больше у меня ничег сделать не получается.

если у вас работает heart beat - вы без проблем можете запустить синхронные ПДО, почитайте про механизм генерации.

как, например, отправлять SDO сообщения, принимать?

с помощью СДО клиента/сервера. смотрите соответствующие записи в объектном словаре. если не понимаете что такое объектный словарь - нужно прежде всего разобраться с ним, четко понять цели его создания и тогда 75% вопросов отпадет.

 

UPD

скачайте доку на свой стандарт, или в крайнем случае есть более-менее переведенный DS301, поищите в интернете. и попробуйте вникнуть в суть написанного.

Изменено пользователем spectral1989

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...