我正在使用 canopen python 库,请参阅https://canopen.readthedocs.io/en/latest/index.html 。 我正在尝试将域发送到我的 CANopen 节点: 但是 python 给出了一个异常:canopen.sdo.exceptions.SdoA ...
我正在使用 canopen python 库,请参阅https://canopen.readthedocs.io/en/latest/index.html 。 我正在尝试将域发送到我的 CANopen 节点: 但是 python 给出了一个异常:canopen.sdo.exceptions.SdoA ...
我想将二进制文件传输到 CANopen 节点。 二进制文件最终应写入 CANopen 节点的 Eeprom 中。 我不确定我必须如何为此设置我的 Object 词典? 我的想法是将不同的对象作为制造商特定参数: DataIn(数组、域、...???) 命令写入动作状态 state 的艺术方法是什么 ...
我正在尝试使用 Lely CANopen 堆栈中的光纤执行一些任务。 但是,我要么不理解 model,要么有什么东西坏了。 我想做的是以不同的速率运行多个任务。 基于此处教程的示例:class MyDriver : public canopen::FiberDriver { public: ...
很明显,物理和数据链路由 CAN 覆盖。 但是 CANopen 是否涵盖了所有上层? 它应该涵盖所有吗? 更让我困惑的是有多个 CiA 文件(例如 CiA DS 301、303-1 ......)。 哪些文档描述了称为 CANopen 的协议? ...
对象 180Nh 具有以下子索引: 0x00:---- 0x01:---- 0x02:---- 0x03(禁止时间):该子索引包含一个以 100 µs 为步长的时间锁定(见下图)。 这可用于设置在发送 PDO 之后必须经过的时间,然后再发送 PDO。 此时间仅适用于异步 PDO。 这是为了防 ...
发送 PDO 消息,做了一个优先级,哪个消息的重要性高,我们应该如何理解这个? 在下图中,重点是优先级是181,然后是rest,这个是从哪里来的? 在此处输入图像描述 ...
我在 CANopen 中遇到了一个新的同步参数:同步计数器溢出。 https://www.ni.com/docs/en-US/bundle/ni-industrial-communications-canopen/page/canopenhelp/canopen_sync_object.html ...
我正在研究 CANopen 架构并且有三个问题: 1-当'同步窗口'关闭直到下一个SYNC消息时,我们应该发送SDO消息吗? 在此期间我们可以不发送消息吗? 2-在同时 window 期间是否可以不发送 PDO 消息? 3- 从站在 SYNC 消息中给出的答案是什么? ...
我遇到了一个问题,从 NMT 到节点进行同步的消息通常是通过 CANopen 中的 Master 完成的。 其他部门能做到吗? ...
我有一个简单的 CANopen 应用程序接收和传输一些 PDO 并从 2 个节点接收心跳。 它工作一个小时,然后停止接收心跳。 为了查看发生这种情况时是否收到任何错误帧,我尝试了一些日志记录。 candump -e -x -ta -a -l any,0~0,#FFFFFFFF 现在问题消失了。 ...
我正在尝试通过使用 libohiboard 作为 HAL 库将 CANopenNode 用于 STM32L476 设备。 在网络中,我有:(i)作为主机运行的板和(ii)商业节点。 启动时,节点发送 HB 消息和 SYNC 消息。 当我的板子使用CO_NMT_sendCommand(CO->N ...
美好的一天,我是 CANopen 新手,有几个与 PDO 输入/输出相关的问题。 我从传感器收到以下消息: 据我了解,这些是 PDO 消息。 如何解码它的有效载荷? 另外,我有一本传感器手册,它代表以下说明,例如 那么,例如,我怎样才能形成传感器获取温度的有效载荷? ...
我目前正在尝试在作为 CanOpen 从站的 I/O 模块和我的计算机(Python 脚本)之间实现简单的通信。 I/O 模块通过 PEAK USB-CAN 适配器连接到我的电脑。 我的目标是读取或写入输入/输出。 这甚至可以通过硬件实现,因为从那个角度来看,我没有真正的“主人”? 不幸的是, ...
这可能不是问这个问题的正确论坛,但我需要用结构化文本对 Phoenix Contact PLC 进行编程。 PLC 应与使用 CANOpen 协议的电机通信。 我拥有的唯一资源是 dbc 文件。 我有点不知道从哪里开始。 如果您有一些建议/建议,我将不胜感激。 ...
我目前正在使用 Python 制作 CAN 跟踪器。 连接以及从 CAN 接收的数据工作。 我现在的问题是:如何更改 PDO 映射并停止和启动通过 CAN 的传输,就像使用 CANopen 一样? ...
我需要读取 Emergency 对象的字节 3-7 中的数据。 下图,字节 2 是通信配置文件0x1001h可用的标准化 CanOpen 错误寄存器(我能够读取此内容)。 我需要“制造商特定错误字段”(byte3-7)中的信息。 下图来自制造商数据表: 我尝试阅读通信配置文件0x1 ...
我是 Canopen 的新手,需要构建一个具有以下特征的系统: 1 canopen Master(也是网关) 多个 canopen 从节点,由同一设备的多个实例组成(具有唯一的 SN,根据 LSS 的要求) 我想将此设备设计为在将其连接到总线之前不需要任何预配置,并且还允许先前连接到 ...
由于 SDO 通信用于点对点通信。 对于同一个 object,有没有办法让 CANOpen 服务器同时与两个不同的客户端通信? 例如:节点 1(服务器):ID-5,OD:6023h,长度:100 字节 节点 2(客户端):ID-10 节点 3(客户端):ID-11 Node-2和Node-3能否同 ...
我对 CANopen 协议和创建用于模拟读数的从属设备还很陌生。 我的问题与访问 SDO 层上的某些索引有关。 在官方文档 CIA 301 和 CIA 404 中,在所有索引中,子索引 0x00 定义了该索引下有多少条目。 但是像 nodeID 或.network 波特率这样的变量是单一的并且有单 ...
我正在使用 python 创建一个虚拟的 canopen 从站,以与现有的主站通信。 运行我的脚本时,我不断收到此错误“没有收到 sdo 响应”。 据我所知,我需要一个 sdo 服务器来向主服务器发送响应,是否可以创建一个虚拟 sdo 服务器来完成这项工作? 否则,有没有人知道如何解决这个问题? ...