Как настроить 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)