首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java和CANopen

Java和CANopen
EN

Stack Overflow用户
提问于 2009-01-08 07:37:10
回答 1查看 7.7K关注 0票数 12

背景

我需要在笔记本电脑上创建一个Java程序来接收/发送CANopen消息。

选择RJ45作为网络的物理介质。我对CANopen和Java通信编程很陌生。

如果我看起来不熟悉的话请原谅。事实上,我已经读了很多书,但我仍然不知道如何开始。

问题

  1. 除了将PC连接到CANbus网络之外,CAN-PC适配器还能做什么?
  2. 可以在没有CAN-PC适配器的情况下将笔记本电脑连接到CANbus网络吗?
  3. 如果需要CAN-PC适配器,我应该使用哪种适配器?drivers?
  4. Should,并行,串行,usb等?
  5. 如何开始编写java程序来侦写CANopen消息?
  6. 我应该使用什么库?
  7. 我需要创建自己的
  8. 程序来处理心跳监测、错误检测等吗?或者这些是由CAN-PC适配器处理的?
  9. 如何从CANbus节点检索特定信息?
  10. 如何创建EDS文件和对象字典?每个节点都需要它们吗?
    1. 如何在不购买CAN
    2. 的情况下模拟一个CAN网络来测试我的Java程序

EN

回答 1

Stack Overflow用户

发布于 2009-01-08 23:27:19

有很多问题。我从来没有用Java做过任何与CAN相关的编程,但是让我们看看我可以回答哪些问题:

1)除了将PC连接到CANbus网络之外,CAN PC适配器还能做什么?

它主要取决于嵌入在适配器中的哪个CAN控制器。但基本上它只是处理低级别的东西,如总线仲裁,错误处理,重传和消息缓冲。

2)在没有CAN-PC适配器的情况下,可以将笔记本电脑连接到CANbus网络吗?

不是的。

3)如果需要CAN-PC适配器,我应该使用哪种适配器?PCMCIA,并行,串行,usb等?

在笔记本电脑上?我会选择USB接口。我对Kvaser的界面有很好的经验。

4)如何开始编写java程序来侦写/编写CANopen消息?

取决于适配器的API。API很可能是基于C的,所以我至少要从一些简单的C测试程序开始。CAN接口供应商可能有一些很好的例子。

5)我应该使用哪些库?

可能是你的CAN接口提供的,至少是基本的CAN部分。对于CANopen部分,有一些商业的CANopen堆栈可用,甚至有些是免费的。我怀疑是否有任何用Java编写的。如果您只进行简单的通信,也可以自己实现CANopen堆栈的必要部分。

6)我需要创建自己的驱动程序吗?

一般不会。取决于您的操作系统和CAN接口模型。为您的操作系统选择与驱动程序的CAN接口。

7)我的程序应该处理心跳监测/错误检测/等等吗?或者这些是由CAN-PC适配器来处理的?

CANopen堆栈应该在CANopen级别上处理这个问题。底层CAN总线错误处理由您的接口处理。

8)如何从CANbus节点检索特定信息?

我不知道你在这里是什么意思。PDO或SDO取决于您想要的信息类型。

9) EDS文件和对象字典是如何创建的?每个节点都需要它们吗?

您一般不需要创建EDS文件,但对于文档目的可能是有用的。对象字典是在软件中实现的.一些部分的OD是强制性的,如果使某些标准-符合标准。

如何在不购买CAN硬件的情况下模拟一个CAN网络来测试我的

程序?

我不会..。一个有意义的总线模拟器开发起来可能比仅仅用一个CAN适配器更昂贵。请注意,许多CAN适配器包含双接口,因此您可以在真正的CAN总线上进行通信测试,只需使用适配器和几个终端电阻就可以得到更多的硬件。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/423526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档