CANopen windows库,多个设备

时间:2017-01-02 10:09:26

标签: c# windows canopen

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

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

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

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

我做过小型研究:

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

1 个答案:

答案 0 :(得分:1)

我们正在使用并获得瑞典语datalink.se CANopen library的许可,它对我们非常有用。但老实说,我们只在Windows上使用CAN接口驱动程序层,用于访问一系列设备,如Lawicel,Kvaser,IXXAT a.s.o.我没有那么看过CANopen部件。

我当时看过其他CANopen SW堆栈,但是和你一样,我对CAN Festival感到不满。所以我们在Kickdrive software中所做的就是我们只实现了我们真正需要的CANopen数量。在帖子How to program a simple CANopen layer中查看我的回答。

根据您的实际要求,这可能已经足够好,甚至是最好的方法。