Цитата
Если ли правило генерации COB-ID, описанное стандартом CANOpen для остальных PDO или его нет? И если нет, то это делает разработчик и это будет его собственное расширение никак не совместимое с другими решениями?
Насколько я понял спецификацию, что предустановленные настройки это все же рекомендация и количество PDO на узел в конце-концов решает разрабочтик системы. Предустановленные настройки просто рассчитаны на максимальное количество различных каналов связи между всеми узлами, то есть если все общаются со всеми. Плюс при этом TPDO не сконнектины с RPDO, то есть избыточность на лицо. В реальной системе RPDO обычно всегда завязаны на существующие TPDO.
По крайней мере в книжке "Embedded networking with CAN and CANOPEN" как вполне нормальное решение описывается, такой вариант:
Если количество узлов в сети известно, например не более 32, то вполне нормально "украсть" PDOшки у неиспользованых узлов. Таким образом узел 1 получает к своим предустановленным PDO еще PDO узлов 33, 65 и 97 и т.д.
В итоге получаем 28 TPDO(своих 4 + (12TPDO + 12 RDPO) неиспользуемых узлов) на узел. Плюс еще можно украсть неиспользуемые SDO
Единственное, что ПО должно позволять конфигурировать более 4-х PDO. Не даром же Communication Parameters в Object Dictionary есть для каждого из 512 PDO, независимо от номера узла.