Цитата
Т.е. 512 PDO одного направления - это чисто такая договоренность для конкретизации структуры словаря (ну или способа настройки узлов)?!
Это ограничение CANopen на то количество сообщений, которое может генерить один узел. Ну зачем вам в одном узле больше чем 512 различных сообщений, если в каждое можно по 8 байт данных запихать?
А приведенная таблица - это такая рекомендация, которая в случае простой сети и наличия устройств "из коробки" позволяет одному узлу (мастеру) обмениваться индивидуально данными со 127 узлами. При этом каждый из 127 узлов имеет 4 TPDO, с помощью которых он передает мастеру данные и 4 RPDO, с помощью которых он принимает информацию от мастера. В итоге 128-ой узел - мастер должен иметь 127*4=508 настроенных RPDO и 508TPDO. То есть 508 PDO служат для того, чтобы один мастер передавал информацию 127 узлам, и 508 PDO нужно, чтобы 127 узлов передавали мастеру свою информацию. Ну а оставшиеся 8 PDO - для мастера. Еще раз повторюсь - это только пример.
Цитата
Изначально я думал, что возможен такой вариант: допустим, в сети всего два устройства и объявлены 1024 PDO. Одно из устройств является производителем всех этих 1024 PDO, а другое является потребителем этих же 1024 PDO. Т.о. у одного устройства обьявлено 1024 TPDO, а у другого - 1024 RPDO (с теми же идентификаторами).
Теоретически такой вариант возможен, но практически нет - так как в стандарте CANopen прописаны адреса в словаре только для 512 TPDO или RPDO. Т.е лимит 512TPDO из одного узла.
Цитата
Попытаюсь еще одним способом выразить как я себе представляю PDO в CANopen. В сети возможно существование 1024 PDO с различными идентификаторами (тут вроде все ясно). Эти PDO периодически возникают в сети и тот кому интересен тот или иной PDO вылавливает его и обрабатывает. А возникают PDO в сети благодаря производителям этих PDO. Т.о. возможно просто 1024 PDO, а какие они Tx или Rx - зависит кто с этим PDO работает: для производителя - это TPDO, а для потребителя - это RPDO. А то, что в CANopen описано 4 PDO на вход и 4 PDO на выход - это всего лишь рекомендации (которые меня сбивают с толку). Может быть 0 на вход и 8 на выход, или 200 на вход и 0 на выход.
Да - абсолютно правильно понимаете.
Цитата
Допустим, устройство с nodeID 05h посылает в сеть сообщение PDO, например, с номером b0011 (согласно таблицы). Т.о. у устройства с nodeID 05h есть TPDO с идентификатором 185h. Где-то в сети есть устройство с nodeID 06h и оно хочет принять PDO с идентификатором 185h. Но у этого PDO бит направления установлен на передачу. Как быть?
Никак. В принимающем узле прописываете RPDO с идентификатором 185h и принимаете нужное PDO. Бит направления - это просто условность.