NI CompactDAQNI CompactRIO应用选择正确CAN接口

概述

National Instruments提供两种模块化平台,外形小巧紧凑,是各种应用的理想选择。NI CompactDAQ和NI CompactRIO两个平台均具有模块化CAN接口,可与机箱集成并与其他50多个NI C系列模块配合使用。每个模块都有其独特的特性,适合某些应用。本文档主要介绍不同的NI C系列CAN模块及其理想应用与相应原因。

内容

NI C系列CAN块 

NI为CAN提供两种不同类型的C系列模块:NI-XNET和NI 985x。 

NI-XNET C系列CAN系列

NI提供了两个单端口、高速/FD和低速/容错C系列CAN模块,均属于NI-XNET系列:NI-9862和NI-9861。与其他NI-XNET设备一样,这些模块也提供了不同于其他NI C系列CAN模块的主要功能:

  • 通过高层、易用的NI-XNET API与硬件交互的能力,该API适用于多种不同外形规格的CAN通信(PCI、PXI、NI CompactDAQ、NI CompactRIO)
  • 与USB、以太网和Wi-Fi NI CompactDAQ机箱和控制器系统的兼容性

 

NI 9862.png

图1:可在NI CompactDAQ和NI CompactRIO模块化平台上使用NI 986x NI-XNET高速/FD和低速/容错C系列CAN模块。

NI-985x C系列CAN系列

NI还提供NI-9852和NI-9853,分别为2端口低速和高速C系列CAN模块。这些模块的用户编程体验和平台兼容性与NI-986x模块不同。它们提供

  • 通过底层、高度灵活的基于LabVIEW FPGA的API与模块交互的能力
  • 兼容所有NI RIO平台(CompactRIO、NI单板RIO等)
  • 通过同一个FPGA API与其他C系列模块通信和同步

 

NI 9853和9852.png

图2:可在CompactRIO平台上使用NI 9852和NI 9853 C系列CAN模块,实现灵活的FPGA级控制。

NI-XNET C系列CAN理想应用

基本CAN通信

NI 986x模块可实现基本的CAN通信,包括读取和写入网络上的帧和信号。作为NI-XNET模块,它们使用高层API,通过提供直观的NI-XNET函数调用来简化开发并缩短开发时间。该API可用于USB、以太网和Wi-Fi NI CompactDAQ系统,以及使用cRIO-911x或cRIO-908x机箱的CompactRIO系统。

 

Multiple Sessions per Port.png

图3:NI-XNET API提供高层函数调用,用于直观地读取和写入CAN帧和信号。

标准不同设置环境CAN通信

由于NI 986x模块是NI-XNET模块,因此非常适合开发适用于多种不同环境和设置的CAN应用程序和项目。通过将相同的NI-XNET API应用于两个平台,NI 986x模块可用于基于移动USB、以太网和Wi-Fi的NI CompactDAQ系统以及无界面嵌入式CompactRIO系统。此外,由于PXI和PCI CAN接口使用相同的API,通过复制和粘贴可将相同的代码轻松移植到任意硬件平台。从使用PXI的实验室测试系统到使用NI CompactDAQ的移动USB CAN通信系统,再到使用CompactRIO的无界面、基于CAN的记录器,通用API均可显著缩短开发时间。

测试应用

实时测试涉及使用实时环境实现测试应用程序。工程师使用实时测试技术主要是为了在测试系统中实现更高的可靠性和/或确定性。这些技术在当今许多产品和系统的开发中也起着至关重要的作用。例如,耐用性、生命周期和其他需要实时执行平台提供卓越可靠性的测试系统,这些测试系统长时间运行或操作员长时间不在。使用闭环控制执行的环境测试单元、测功机、硬件在环(HIL)模拟器以及类似测试系统也需要出色的可靠性,同时还必须具有实时执行平台的低抖动确定性。

NI提供的软件产品可帮助用户更高效地实现实时测试应用程序。NI VeriStand是一个基于配置的软件环境,为创建实时测试系统提供了可定制的即用型工具。许多实时测试应用程序涉及CAN通信,NI VeriStand具有对所有NI-XNET产品的原生支持,这意味着对NI 986x模块的原生支持。NI VeriStand不仅提供了扩展软件以满足应用程序目标所需的灵活性,还开放了CAN应用程序的常见功能。

 

CAN通信

图4:可在NI VeriStand中为许多典型的CAN通信任务和功能配置NI-XNET CAN接口。

NI 985x C系列CAN理想应用

基本CAN通信

与NI 986x接口一样,NI 985x C系列CAN模块也可用于基本的CAN通信。主要区别在于不同模块的用户体验。LabVIEW FPGA API为NI 985x模块提供了底层软件API,可用于硬件编程,无需使用NI-XNET API对NI 986x接口等模块进行编程。使用该API,可完全控制读取和写入CAN帧的时间,同时使用与其他用于CompactRIO的C系列模块相同的LabVIEW FPGA API。

985x FPGA API.png

图5:NI 985x CAN接口通过LabVIEW FPGA API进行编程,用户可对硬件进行底层控制,包括发送帧和接收时间。

CAN通信FPGA触发

由于使用LabVIEW FPGA Module编程NI 985x C系列CAN接口,可使用与其他用于通用I/O的C系列模块相同的FPGA API对其进行编程,并利用CompactRIO平台中FPGA背板的速度和灵活性。将通用数据采集和CAN通信组合在同一个FPGA应用程序中,可实现CAN硬件的快速触发和周转时间。例如,可直接从FPGA应用程序调用NI 985x CAN接口,而不是将数据从通用模拟输入模块的FPGA应用程序传递至实时主机进行CAN函数调用。

CAN trigger from analog.png

图6:通过在FPGA应用程序中将NI 985x CAN模块与其他I/O模块配合使用,可实现快速灵活的CAN触发。

CAN数据FPGA操作

此外,可使用用于NI 985x CAN模块的LabVIEW FPGA编程API对硬件发送和接收的CAN数据进行快速字节级操作。可在LabVIEW FPGA应用程序中读取和修改CAN帧中的信息,而无需发送任何数据至系统的实时控制器,从而使这些模块高效快速地进行此类数据操作。 

 

985x字节级信息

图7:使用NI 985x CAN接口和LabVIEW FPGA可逐字节快速处理CAN帧中的所有数据。

结语

根据您的应用需求,您可以选择各种NI模块化平台和CAN接口,这些平台和接口具有某些环境和CAN相关项目的理想主要功能和优势。了解每个CAN接口和NI C系列平台的优势可以帮助您为应用选择正确的CAN模块并成功实现项目目标。