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

Варианты реализации OD в CANOpen

Повтор утраченой темы.Вопрос к тем кто занимался реализацией протокола CANOpen.Интересует кто как делал словарь объектов(Object Dictonary) и какими алгоритмами осуществлялся поиск нужного индекса субиндекса в этом словаре.

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


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

какими алгоритмами осуществлялся поиск нужного индекса субиндекса в этом словаре.

Потерянный ответ с IXXAT-овским документом по поводу организации словаря, видимо, был прочитан?

 

По поводу поиска - делали два варианта

- перебором (на чем и остановились), т.е. весь ОД состоит из нескольких структур (а не все в одном) - PDO_MAP отдельно, PDO_CONFIG отдельно, словарь данных контроллера (Index 6000, кажется) отдельно, и т.д. - структурки небольшие - нас перебор устроил.

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

- хеш - ну памяти жрет !!!! - поэтому отказались

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


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

Да доку я прочитал но к себе ее несохранил.Если нетрудно закинь ее снова плиз.По поводу перебора я тоже сначала сделал полный перебор а потом потом реализовал что то типа половинного деления.Но я думал что придумал трехколесный велосипед и хотел зазырить как делает народ по другому.

Кстати странно а зачем делить весь словарь на части помоему гораздо проще и единообразней воспринимать его в процедуре поиска как одно целое.

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


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

Кстати странно а зачем делить весь словарь на части помоему гораздо проще и единообразней воспринимать его в процедуре поиска как одно целое.

Деление на части тоже ускоряет поиск :)

На самом деле просто слизал с IXXAT:

com_para[]

map_para[]

general_od[] - до кучи тоже несколько - обязательная часть, данные приложения

и т.д.

CANopen_Software_Description.pdf

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


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

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

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

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

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

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

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

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

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

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