ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
929745
evgeniy1294 (26.06.2019 12:25, просмотров: 4841)
Впервые на практике столкнулся с CAN-устройством, конкретно энкодерами posital OCD-CAA1B-1416. Работают эти железки на CANOpen, профиль DS-406. Для работы с ними я портировал (не без проблем) либину CanFestival, которая поддерживает все https://www.posital.com/media/fraba/productfinder/posital/manual-ixarc-ocd-ca.pdf
необходимое. Не работает(( Если конкретно, при после отправки пакета появляется ошибка (LEC = 0x03, Acknowledgment Error). Т.е нет подтверждения получения фрейма от энкодера. Для исключения неправильной сборки пакетов в библиотеке, попробовал составлять их вручную, используя документацию по ссылке - результат тот же. Пакеты пробовал следующие: NMT-PreOp, all nodes Identifier 0x00 Byte 0 0x80 Byte 1 0x00 Проверил настройку периферии, расчет baudrate (125 kb/s по-умолчанию для данных энкодеров) - все верно. Фильтры отключены. К сожалению, софт для моего логического анализатора разбирает CAN крайне отвратно, подумываю купить конвертер USB-CAN конвертер от VSCOM. Пока надеюсь решить проблему без него. Кто-нибудь работал с CAN-энкодерами на профиле DS-406? Возможно подскажите, что я делаю неверно или примером кода поделитесь. Ещё в доке есть упоминание о BootUp Message "The encoder accesses the CAN network after powerup in pre-operational mode: BootUp Message: 700 hex + Node Number". Попробовал разные варианты составления пакета, но ответа не добился (хотя мне кажется, что как bootup должен отрабатывать любой пакет).