Как настроить Python canopen с интерфейсом usb2can?

Я пытаюсь использовать питон canopen библиотека и USB2CAN адаптер для связи с canopen 402 устройство.

До сих пор я не смог пройти мимо самого простого примера определения сети.

Сценарий последовательно вылетает при ошибке:

"AttributeError: у объекта" Usb2canBus "нет атрибута" _filters ""

В документации по python-can упоминается, что фильтры не реализованы для usb2can устройство, но, кажется, подразумевает, что оно все еще должно быть пригодным для использования.

Кому-нибудь удалось использовать адаптер usb2can с Python?

Я не смог найти никаких примеров, кто-то может указать мне на один?

Ниже приведен один из самых простых примеров, включенных в документацию по python canopen.

Это терпит неудачу с ошибкой фильтров, описанной выше, как и большинство других операций, которые я пробовал.

import canopen
import time

#define network
network = canopen.Network()

#establish connection
network.connect(channel='ED000200', bustype='usb2can', bitrate=500000)

# This will attempt to read an SDO from nodes 1 - 127
network.scanner.search()
# We may need to wait a short while here to allow all nodes to respond
time.sleep(0.05)
for node_id in network.scanner.nodes:
    print("Found node %d!" % node_id)

#close connection
network.disconnect()

В этом примере я ожидаю, что будет распечатан список узлов в сети, возможно, пустой список, потому что ни один узел не был добавлен.

Вместо этого я получаю ошибку:

AttributeError: у объекта "Usb2canBus" нет атрибута "_filters"

1 ответ

Пусть ваша строка network.connect неверна.

Я использую USB/CAN от seeedstudio на ПК с Windows, и вот что я сделал:

      network.connect(bustype='seeedstudio', channel='COM8', baudrate=2000000, bitrate=1000000)
Другие вопросы по тегам