From 11:00 PM CDT Friday, Nov 8 - 2:30 PM CDT Saturday, Nov 9, 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