未收到sdo响应

2024-06-09 13:31:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python创建一个虚拟canopen从机,以便与现有主机通信。 当运行我的脚本时,我不断得到这个错误“没有收到sdo响应”。 据我所知,我需要一个sdo服务器来向主机发送响应,是否可以创建一个执行此任务的虚拟sdo服务器?否则,有人知道如何解决这个问题吗


Tags: 服务器脚本错误sdocanopen
1条回答
网友
1楼 · 发布于 2024-06-09 13:31:17

是的,可以创建具有SDO服务器的虚拟CAN设备。在硬件可用之前,您可以将其与虚拟can总线(Linux上的vcan)一起使用,以测试can通信

  1. 启用vcan:
 $ modprobe vcan
 $ sudo ip link add dev vcan0 type vcan
 $ sudo ip link set up vcan0
  1. 使用SDO服务器启动虚拟CAN设备:

从所讨论的标记中,我假设您使用python canopen。因此,您可以使用这个https://canopen.readthedocs.io/en/latest/sdo.html#canopen.sdo.SdoServer,它将读取您的node.edsnode.xdd文件。在一个终端中运行此Python脚本。记住使用vcan0接口。 network.connect(channel='can0', bustype='socketcan')

  1. 在第二个终端中运行“主”SDO客户端脚本。它将从虚拟设备读取SDO。记住使用vcan0接口

相关问题 更多 >