Как такового «протокола CANopen» не существует, это название всего прикладного уровня. Упрощенно, фактические протоколы, используемые CANopen, сводятся к:
- кадрам NMT, управлению сетью. Управление состоянием узлов и сети в целом.
- Кадры SDO, объекты служебных данных. Конфигурация отдельных узлов.
- Кадры PDO, объекты данных процесса. Фактические кадры данных.
Существуют и другие специализированные кадры, такие как EMGY, LSS и c, но перечисленные выше являются основными.
Другими словами, если узел генерирует сообщение PDO CANOpen из 8 байтов данных приложения, сколько заголовка / служебной информации добавляет сам протокол CANOpen?
PDO имеет нулевую служебную нагрузку. Вы получаете 8-байтовую полезную нагрузку в 8-байтовом кадре PDO.
SDO и различные NMT имеют некоторые издержки, обычно 1 байт.