Цитата
то есть можно брать узлы и встраивать их в систему с адресом, и всегда знать как к нему обратиться чтобы что-то записать, и понимать какое сообщение придет от него с данными, и не более того... Так?
Примерно так, но только с SDO. PDO всегда надо настраивать ручками. В принципе в CANopen всегда есть возможность просканировать сеть - каждый узел хотя-бы один раз при включении выплевывает в сеть одно сообщение с идентификатором равным номеру узла - это т.н. Bootup message. Зная этот идентификатор автоматически определяются идентификаторы для обмена SDO сообщениями с этим узлом. Они равны 580h+Node_ID и соответственно 600h+Node_ID. Таким образом с помощью SDO клиента можно всегда получить доступ к любому узлу в сети, даже если сеть еще не сконфигурирована. Как я уже говорил - такой клиент - это PC с CANopen конфигуратором и сканером.
А получив доступ к словарю через SDO - уже можно настроить идентификаторы и параметры PDO. После этого все параметры записывается во флеш и сеть запускается. С этого момента обмен через SDO становится больше не нужен - когда параметры PDO заданы - узлы сами будут обмениваться PDOгками даже после перезагрузки.