当前位置:  开发笔记 > 编程语言 > 正文

Java和CANopen

如何解决《Java和CANopen》经验,为你挑选了1个好方法。

那是很多问题.我从未在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的某些部分是强制性的.

10)如何在不购买CAN硬件的情况下模拟CAN网络来测试我的java程序?

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



1> matli..:

那是很多问题.我从未在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的某些部分是强制性的.

10)如何在不购买CAN硬件的情况下模拟CAN网络来测试我的java程序?

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

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有