From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



我的CAN卡接口可以连接我的CAL,CANopen,PCAL, SDS, CAN Kingdom, J1939, J1850或是一些其他的设备吗?



主要软件:
主要软件版本: 2.6.1
主要软件修正版本: N/A
次要软件: N/A

问题: 我有一个设备要使用CAL, CANopen, PCAL, SDS, CAN Kingdom J1939, J1850或者其他CAN应用层协议进行通讯。我的NI-CAN 设备是否可以连接使用不同应用层协议的CAN设备?有哪些限制?

解答:

如果应用层协议是将标准CAN协议作为基础,那么就可以进行通信。但是需要写一些代码。这些协议的本质就是CAN。 因此,我们是可以用LabVIEW一些执行应用层和合适的帧格式的一些VI。

有一些第三方公司已经来做这样的工作去解决上述的问题,如果没有现成的解决方案,您最好申请一些顾问服务服务或者系统整合服务。在这些方案中,你可以依靠我们全球合作伙伴联盟的网络支持。

对于使用CANopen协议的,您可以使用LabVIEW 的 NI CANopen 库。它可以执行CAN open 应用层。下面的这些例子会教您如何使用:

Developer Zone Example: CANopen Basics for USB 8473
Developer Zone Example: CANopen Basics for cRIO

NI-CAN的帧api和通道API可以支持部分的J1939协议。不过它的限制在于他们不支持超过八个字节的转换。这些变换必须要分在多个消息中进行处理。下图展示了如何用通道API建立一个J1939的消息

 

如果你要使用帧API,你必须手动的编码和解码。J1939 Transport Protocol Reference Example 会告诉你如何用帧API在NI-CAN 串口 2 或者Crio CAN 产品上执行J19396协议。

NI-CAN产品目前不支持J1850产品。 一个原因是因为可以使用第三方设备区连接包括J1850在内的不同的汽车网络。NI建议从我们的合作伙伴处获得这些工具包来连接这些网络工作。

另一种方式去将LabVIEW连接J1850网络工程的方式是用一个第三方的硬件接口并在LabVIEW中调用相应驱动的dll文件来控制接口。更多调用dll的信息可以参考以下链接Using External Code in LabVIEW,



相关链接: Developer Zone Example: CANopen Basics for USB 8473
Developer Zone Example: CANopen Basics for cRIO
Products and Services: NI CANopen LabVIEW Library

KnowledgeBase 2OKCMQ2Y: What is the difference between DeviceNet and CAN?

NI Alliance Partner Network
LabVIEW 2010 Help: Using External Code in LabVIEW

Developer Zone Example: J1939 Transport Protocol Reference Example

附件:





报告日期: 01/08/2003
最近更新: 08/01/2016
文档编号: 2T7F3V8R