Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Canopen SDO протокол
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Controller Area Network (CAN)
miodzaki
Проблема состоит в том, что я не сильно разбираюсь в работе CAN.
CAN сеть изначально была сконфигурирована при помощи "Elmo Compuser studio" состояла из 2ух контроллеров elmo falcon и IXXATовского контролера.
Возникла необходимость управлять управлять этими контроллерами через TMS320F28335.
Передачу сообщений я реализовал через SDO протокол, то есть я просто отправляю по CAN шине необходимые SDO сообщения, без всяческого предварительного конфигурирования CAN.
Пока сеть состояла только из одного сервера - "elmo falcon" и одного клиента - "TMS320F28335" проблем небыло пакеты и отправлялись и принимались на ура.
Непонятная мне проблема возникла при подключении второго сервера управляющие сообщения по прежнему успешно доходят до адресатов ( это видно по работе двигателя) а вот ответ получить не получается sad.gif (CAN сеть в обоих случаях замкнута с обеих концов терминаторами).
Помогите пожалуйста разобраться с этой проблемой ( может кто сталкивался с чем то подобным, или понял что я упустил из виду из моих путаных обьяснений)
_3m
Как сконфигурирована сеть в случае когда не работает ?
Проверьте на всякий случай node id всех устройств в конфигурации когда нет ответа
miodzaki
Цитата(_3m @ Sep 23 2013, 15:22) *
Как сконфигурирована сеть в случае когда не работает ?
Проверьте на всякий случай node id всех устройств в конфигурации когда нет ответа

Когда сеть работает - она состоит из одного сервера с ID 1 и одного клиента без ID так как он ему не нужен.
когда в сеть добавляется второй сервер с ID 2 принять SDO сообщение у меня не получается.
ID разные, и сообщения доходят до адресатов (это видно по тому что начинают вращаться подключенные к контроллерам двигатели).
_3m
Цитата(miodzaki @ Sep 23 2013, 17:14) *
Когда сеть работает - она состоит из одного сервера с ID 1 и одного клиента без ID так как он ему не нужен.
когда в сеть добавляется второй сервер с ID 2 принять SDO сообщение у меня не получается.
ID разные, и сообщения доходят до адресатов (это видно по тому что начинают вращаться подключенные к контроллерам двигатели).

1) Подавайте разные команды разным серверам, убедитесь что каждый сервер воспринимает только свои команды. Проверьте работу с одним сервером в конфигурации когда подключены оба. Для обоих сервером проверьте какой COB-ID передает клиент и получает от сервера в ответ.
2) Запустите сеть с двумя серверами, подайте им команды потом отключите один из серверов и удостоверьтесь что вы получаете от него ответ.
3) Проверьте в серверах состояние объекта 1200h - 127Fh: Server SDO Parameter. Вдруг ваши серверы по умолчанию используют неправильный COB-ID.
4) В клиенте отключите любые виды фильтрации и выводите на печать дамп всех пакетов (как принимаемых так и отправляемых). Но проще использовать анализатор.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.