Вы не сравниваете подобное с подобным;CANopen обращается к уровню 3 (Сеть) и выше на Модель OSI , тогда как Ethernet определяет только физический уровень и уровни канала передачи данных (уровни 1 и 2).Для сравнения сопоставимых данных вам нужно сравнить, скажем, CAN с Ethernet или CANopen с TCP / IP.
В принципе, на любом уровне, если вы реализуете общий API и семантику, вы можете заменить все базовыеслои с некоторыми другими технологиями.Однако модель OSI является концептуальной, и не все технологии обязательно проводят такие четкие различия между уровнями или используют одинаковые границы уровней или номенклатуру.Поэтому поиск подходящего уровня для абстракции, подходящей для ряда протоколов и технологий, может быть затруднен.
Более того, две технологии отвечают самым разным потребностям CAN - это технология полевой шины, предназначенная для связи датчика / реального времени.информация привода между «интеллектуальными» контроллерами, в то время как Ethernet - это высокопроизводительная компьютерная сетевая технология общего назначения.
Обычное решение для взаимодействия сетей состоит в использовании некоторой технологии мостового соединения или туннелирования (то есть преобразования между сетями,или транспортировка сообщений одного протокола, инкапсулированных в сообщения другого).Существует любое количество мостовых устройств CAN / Ethernet и даже несколько устройств CAN-over-Ethernet.