Я пытаюсь использовать библиотеку Python 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'