问题标签 [canopen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
461 浏览

canopen - CANopen 设备和 CANopen 节点之间的区别

CANopen 设备CANopen 节点之间有区别吗?

0 投票
1 回答
315 浏览

python - CANopen 客户端如何通过 CANopen/Modbus 网关与 Modbus 从站通信?

我现在正在研究和开发一个带有 python 堆栈的 CANopen 客户端,我正在努力找出如何通过网关与从属 Modbus 通信。

由于网关地址是CANopen的对象字典中存在的地址,并且网关有modbus Slaves I/O的地址,如何指定modbus输入的地址?

正如我所看到的,CANopen 使用节点 ID 来选择服务器和地址来选择要读/写的属性,但在这种情况下,我需要走得更远并指向一个输入。

只是要清楚我处于“学习”阶段,我没有想到 CANopen/Modbus 网关。

问候。

0 投票
1 回答
2286 浏览

c# - CANopen windows 库,多设备

我将编写 Windows 应用程序(用于商业用途),它将发送/接收和跟踪 CANopen 消息。

问题是我不知道这个应用程序的用户将使用哪些设备。目前我有一个要求是只支持 USB-CAN 设备。但是有很多此类设备的供应商,每个人都有其他 api/library/dll 来使用他们的设备。

(顺便说一句,问题是因为我必须使用 Windows。据我所知,Linux 上是 SocketCAN,一切都更加标准化:-()

我不知道我应该使用哪个库。你能给我推荐一些东西吗?当然,这个库应该支持尽可能多的供应商(和驱动程序)。第二个要求是这个库应该编译成 IL 或者我可以在我的 C# 应用程序中使用这个库。

我做了一些小研究:

  • 最受欢迎的是 CAN Festival,但它是废弃的项目,但有一些分叉。
  • .NET 有 CANopen 但仅支持 PEAK 设备且状态为 prealpha
  • CANopen for Python 支持更多设备,但状态也是 alpha,我不知道我是否可以在我的 c# 应用程序中使用这个库。也许当我使用 IronPython 时。
  • 我还找到了这个库:http ://www.emtas.de/en/allgemein/csharpapi 。它是商业的,但如果支持许多设备,我可以购买它。有人用过吗??
0 投票
0 回答
1091 浏览

stm32 - STM32上的CAN RX中断冻结

我有一个问题,我的 RX 中断回调在运行状态一段时间后没有触发(有时 30 秒,有时 10 分钟......),我不知道在哪里寻找故障。

我正在使用 Emtas 的 CANopen 堆栈,但该堆栈不会根据 fa 启用或禁用中断。Emtas,我也没有使用 IT 禁用。CPU 不会死机;即使在 RX 冻结之后,它也会在循环中运行。

信息:CPU-STM32f429、EMTAS CANOpen、Atollic lite、HAL 库。

代码流程:

CAN设置:

我在哪里/如何搜索这个问题的原因?

0 投票
2 回答
1305 浏览

networking - CANopen 中的 PDO 和节点

我目前正在阅读有关 CANopen 的信息,但我很难理解这些术语之间的区别:
- 节点和从站:从站是否代表节点?
- PDO 映射:什么是 PDO 映射以及它是如何工作的?
- 什么是索引和子索引?
- 哪个是正确的:一个节点包括4个TPDO和4个RPDO或一个PDO包括127个节点

0 投票
1 回答
209 浏览

embedded - CanFestival readNetworkDict() 失败

我正在尝试提出基于 CanFestival 的 CAN 总线客户端应用程序。

当我尝试从 CAN 服务器读取时 readNetworkDict() 在以下代码中失败

这是我字典中的 SDO_CLT。

只有几天的 CAN 总线经验,我有一些基本问题。

什么是 SDO_CLT?

它是零表示字典生成中的问题还是我必须在运行时初始化它?

0 投票
2 回答
7738 浏览

c++ - 如何编写 CanOpen 堆栈?

我有一个类似的问题。如何编写一个简单的 CANopen 层。我阅读了答案,但我必须自己编写一个 CANopen 层,我无法获得商业层。那么是否有任何编写 CANopen 堆栈的基础知识(或我不确定差异的层)?我什至不知道从哪里开始。。

如果需要,这里有一些信息:

我的主设备是带有 QNX 的小猎犬骨黑。我认为 QNX 有一个通用的 CAN 库,但不是特定于 CANopen。我的奴隶是军用无刷电机控制器。我正在用 C++ 编写。我有一份关于我的系统的一般要求的文档。有 2 个 RPDO 和 4 个 TPDO,传输是同步的,没有停止模式(所以没有心跳和节点保护),并说明了所有消息信息(大小、格式、相关节点 ID 等)

0 投票
2 回答
9487 浏览

can-bus - CAN 标识符和 COB-ID

你好我是一名学习canopen的学生。Canopen中的COB-ID和CAN标识符有什么关系?我在 CIA 主页上看到 COB-ID 不是 CAN ID,但我不明白。

例如,如果 PDO 通过 CAN 总线传输,它将从 CANopen 帧转换为 CAN 帧。CAN标识符不会使用COB-ID的节点ID进行转换吗?此时,COB-ID根据功能码不同而不同,但比较混乱的是CAN标识符每个设备只有一个。

总结一下我的问题,我想知道 CANopen 在通过 CAN 总线发送消息时如何转换标识符。

0 投票
1 回答
104 浏览

can-bus - 如何使用 CANopen 配置 kollmorgen 驱动器?

我想配置一个科尔摩根驱动器以通过 CANopen 以恒定速度旋转电机。我正在使用 SDO 模式。我的驱动设备 ID 是 0614。到目前为止,我已将其配置为:

启用电机功率

设置为剖面速度模式

目标速度 -

我面临的问题是,每当我尝试启用驱动器时,它都会自动禁用。当我尝试读取 StatusWord 时给出 0270。这意味着设备已禁用。它没有给出任何警告或故障。

0 投票
2 回答
606 浏览

c# - 用于 I/O 扫描设备的 TwinCAT3 自动化脚本(C#)

我想实现用于扫描 I/O 设备的 TwinCAT3 自动化脚本(C#)。我想扫描连接到 TwinCAT3 耦合器的 CANOpen 设备,并从 GUI 中选择适当的 CANOpen 设备。

我没有从 Beckhoff 文档中找到有关扫描 I/O 设备的任何信息。我刚刚从 Beckhoff 文档中找到了一些有关扫描 CANOpen 设备的信息。但是,它没有很好的记录。

他们没有指定我们可以将扫描的设备保存在哪里。他们只是简单地用索引激活设备。

请建议我,如何通过自动化 C# 脚本扫描 CANopen 设备并保存可用设备?