У меня есть двигатель, подключенный к моему компьютеру, который подключен через CAN к двигателю. По сути, у меня есть адаптер USB-CAN, к которому я подключаю USB-кабель от моего компьютера. Затем через адаптер мотор подключается через CAN.
Теперь я хочу отправить данные на двигатель — я уже знаю, какую последовательность байтов мне нужно отправить, но я не уверен, какие команды использовать для «связи» с моим двигателем, который подключен через CAN. Я смог отправить данные по прямому USB-соединению с моего компьютера на мотор (используя команду WriteFile в C ++), но этот метод не работает для CAN.
Существуют ли какие-либо библиотеки / функции, которые я могу использовать для общения с моим двигателем через CAN в C ++?
Поскольку вы не можете подключить двигатель напрямую к шине CAN, между шиной должен быть какой-то контроллер двигателя, привода или контроллера ввода-вывода. Детали этого устройства требуются для того, чтобы консультировать на более чем фундаментальном уровне.
Сам CAN не определяет протокол прикладного уровня, и для CAN существует несколько прикладных протоколов, таких как CANopen, DeviceNet и SDS. Ваше устройство может использовать такой протокол или что-то совершенно запатентованное. Отправной точкой должна быть документация для вашего устройства ввода / вывода.
Для тестирования большинство производителей CAN-адаптеров для ПК предоставляют какой-либо инструмент отладки или разработки, который позволяет создавать и отправлять отдельные сообщения и последовательности сообщений на низком уровне; Такой инструмент позволит вам проверить работу шины и устройства ввода-вывода.
Других решений пока нет …