NI可重配置I/O (RIO)产品适用于需要高速闭环控制的系统级应用,可在灵活的开发平台上实现高精度测量。相比核心系统所能提供的通道数和架构,这些应用有时需要更多的通道数或分布更广的架构。而扩展I/O可实现1个对N个系统的拓扑结构(使用一个控制器、“N”个现场可编程门阵列(FPGA)和多个I/O节点),应用于实现灵活的高通道数系统,以执行分布式控制和本地化处理。
高通道数系统的需求多种多样,而NI的差异化扩展I/O平台正是旨在提供全面的产品系列来满足这些需求。不同扩展I/O选项之间的主要区别在于将I/O与处理器分开的总线,如图1所示。 每条总线都具有独特的优势,使其成为扩展I/O应用子集的理想选择。
图1:扩展I/O将处理器与I/O分离。每个扩展选项在处理器和I/O之间执行不同的通信总线,并适合不同的应用领域。
每款扩展I/O选项均基于决定系统某些功能的独特通信总线(以太网、EtherCAT或MXI)。表1总结了每个扩展I/O选项之间的一些主要区别。
用户可以使用坚固耐用的4或8插槽以太网RIO机箱来添加基于FPGA的分布式I/O至任何以太网网络。得益于标准CAT-5布线所具有的灵活性,用户可连接以太网RIO系统至几乎所有可支持以太网的主机,包括NI CompactRIO、实时PXI控制器以及NI工业控制器。用户还可将以太网RIO扩展系统连接到基于Windows的PC,以创建经混合信号调理且基于FPGA的I/O灵活分布式网络。通过板载FPGA,用户可实现每个机箱的本地自定义信号分析、控制和安全联锁,从而搭建真正的模块化系统。 基于以太网RIO的系统非常适合注重灵活易用且低成本的应用。这些应用包括温度测量和流量测量等单点测量的分布式监测。
以太网控制自动化技术(EtherCAT) RIO是一个8插槽从动机箱,可基于确定性的EtherCAT协议实现以太网通信。EtherCAT RIO支持用户以指定的确定性和同步性,添加基于FPGA的I/O至高通道数或分布式I/O系统。借助EtherCAT RIO,用户能以菊花链的方式将多个从动设备连接至单个主设备,并将I/O与单个主时钟同步。EtherCAT RIO非常适合用于需要基于多个同步机箱的硬确定性的分布式单点控制和运动控制应用。用户可以将EtherCAT RIO用于风力发电机组的结构监测、同步测试装置以及远程控制应用。
NI不再提供MXI-Express RIO扩展机箱;建议考虑使用EtherCAT或以太网RIO扩展机箱。请参考表1进行比较,确定最适合您的迁移路径。
Ethernet RIO、EtherCAT RIO和MXI-Express RIO系统可通过C系列I/O模块连接至任何总线上的所有传感器。FPGA可直接支持这些I/O,用于执行嵌入式信号处理、自定义定时、专用触发和闭环控制。每个C系列I/O模块含有内置的信号调理和螺栓端子、BNC或D-SUB连接器。目前,适用于不同测量的NI和第三方C系列模块有100多款,包括:热电偶、电压、电阻式温度检测器(RTD)、电流、电阻、应变、数字(TTL和其他)、加速计和麦克风等。单个模块中通道数的范围从3路到32路不等,可满足多种系统需求。
FPGA芯片能够在各个行业中广泛应用,得益于FPGA集合了专用集成电路(ASIC)和基于处理器系统的各种优势。FPGA能够提供硬件定时的速度和稳定性,且不会像自定义ASIC设计中由设计高容量而产生前期高额费用。
可再编程的硅芯片具有与在基于处理器的系统中运行的软件相当的灵活性,但它并不受限于可用处理内核的数量。与处理器不同的是,FPGA属于真正的并行结构,因此不同的处理操作无需竞争相同的资源。每个独立的处理任务都配有专用的芯片部分,在不受其它逻辑块的影响下自主运作。因此,加入更多处理任务时,应用的其它性能也不会受到影响。
EtherCAT网络的理论设备限制是65535个从动设备,快速以太网(100 Mbit/s)的限制与之相似。该系统最大设备数量的实际限制因素包括所部署的I/O通道数、控制器速度和运行的应用。
注意,配置系统或计算总吞吐量需求时,菊花链上的所有机箱共享同一条连接回主控制器的“管道”或带宽。另外,循环速率还受到设备数量和总线数据的影响,因为每个机箱、每条线缆都会增加系统的延迟。
MXI-Express RIO具有星型和菊花链配置。可连接的机箱数量取决于系统,但一般来说,每条菊花链最多可包含6个机箱。星型配置的机箱总数取决于主控制器中可用的PCI总线部分,每个控制器可连接超过40个机箱。
MXI-Express RIO总线上的机箱间距限制在7 m以内。以太网RIO和EtherCAT从动机箱在设备之间未连接集线器、交换机或中继器之前最多可支持100 m的距离。
注意: 为了扩展EtherCAT网络的距离,用户必须使用兼容EtherCAT的设备;一般的以太网交换机不兼容EtherCAT网络。
定时和同步可实现事件的及时关联或协调,这是许多控制和测量应用不可分割的一部分,尤其是扩展至高通道数应用时。
由于EtherCAT总线通信标准定义了主系统时钟,且网络中的所有设备均参考该时钟,因此EtherCAT RIO会自动同步到系统的其他部分。这使得EtherCAT总线非常适合需要严格同步(小于1微秒)和硬确定性的系统。
MXI-Express RIO和以太网RIO机箱不支持基于通信总线(分别对应MXI-Express和快速以太网)的本地同步。总线架构没有内置时钟共享,并且由于网络拓扑结构导致数据包丢失或冲突而产生的延迟并未计算在内(系统内节点之间的通信是异步的)。然而,由于共享机箱背板,单个机箱中的所有模块均可同步,多个MXI-Express RIO或以太网RIO机箱也可使用C系列数字I/O模块进行同步,以在机箱间分配一个参考时钟信号。
本规范仅指由通信总线引起的抖动。系统抖动的主要来源通常与控制器而非通信总线(尤其是Windows控制器)相关。另外,系统的抖动还取决于系统架构和数据到达主机之前,必须以菊花链的方式进行协商的机箱数量。
对于控制循环包含分布式实时计算节点之间数据通信的应用,确定性通信非常重要。这意味着网络造成的任何抖动都会引起控制循环的抖动。可接受的控制循环抖动取决于所使用的系统,标准范围为控制循环时间的±10%。比如1 kHz的控制循环,如每次迭代的执行时间在900到1100 μs范围内,则系统仍可正确响应。
EtherCAT RIO和MXI-Express RIO的通信抖动分别低于10 ms和1 ms。 以太网RIO设备并未对抖动做出规定。 这是因为快速以太网和无线传输并非传输数据的确定性方法。
MXI-Express RIO以250 MB/s的最大理论带宽为控制器通信提供最大管道,而以太网RIO为25 MB/s,EtherCAT为12.5 MB/s。请牢记总线性能不仅取决于总线的理论最大带宽,也取决于其他因素,包括延迟、执行、电源需求、应用以及带宽。对于高吞吐量应用,MXI-Express RIO是最佳选择。以太网RIO和EtherCAT RIO的吞吐容量对于大部分控制和监测应用来说已经足够。
API(应用程序接口)是用作为软件应用构建模块的一套例行程序。对扩展I/O终端进行编程有两种方法:NI CompactRIO扫描模式或NI LabVIEW FPGA主机接口API。
您可以在EtherCAT和以太网机箱中使用NI CompactRIO扫描模式(也称为RIO扫描接口或RSI)。CompactRIO扫描模式可自动检测I/O模块并将其添加至LabVIEW项目。然后用户可将I/O变量拖放至LabVIEW Real-Time和主机VI的程序框图,并立即读写已换算和校准的I/O数据,而无需任何FPGA编程或编译。
图2:使用CompactRIO扫描模式
如果希望直接在FPGA上编程,则可使用LabVIEW FPGA模块。完成FPGA VI编写后,FPGA VI就会被编译成比特流文件并部署至FPGA。如果主机应用需要与FPGA通信,则可使用LabVIEW FPGA主机接口API。该API可允许用户执行读写寄存器和DMA传输等功能。
请注意,如果使用的是EtherCAT机箱,则只能使用用户定义I/O变量来实现控制器的实时VI和扩展机箱的FPGA VI之间的通信。(用户定义I/O变量用于同步FPGA数据和NI扫描引擎。)这意味着扩展机箱的FPGA VI不能使用FPGA主机接口、DMA传输功能或前面板调试等功能。
只能使用LabVIEW FPGA主机接口API来连接MXI-Express RIO。
C系列模块与每个机箱的兼容能力取决于其支持NI扫描模式的能力,因此其类型也存在一定的局限性。由于MXI-Express RIO仅支持LabVIEW FPGA,因此NI 986x CAN模块等依赖NI扫描模式的模块与MXI-Express RIO不兼容。请参阅NI C系列兼容性图表,获取有关C系列兼容性的完整列表。
4款扩展选件均使用不同的总线,因此控制器端需要采用不同的连接方式。
以太网RIO可插入至任何配有以太网端口的系统,且可与大多数标准网络拓扑接口配合使用。如需将以太网RIO直接连接至实时控制器的辅助以太网端口,请参阅连接以太网RIO扩展机箱至实时控制器的辅助以太网端口。NI-9149和NI-9147以太网RIO机箱还包括USB端口,便于设备配置。但此端口不可用于代替以太网端口。
EtherCAT RIO机箱可兼容所有配有两个以太网端口的实时控制器,包括CompactRIO、PXI和工业控制器平台。请注意,对于EtherCAT,如果实时PXI控制器未配备两个以太网端口,则必须添加仅支持实时控制器的NI PXI-8231/8232以太网接口(不兼容NI-8234以太网接口)。另外还需要采用NI-Industrial Communications for EtherCAT驱动软件,且第2个以太网端口必须处于EtherCAT模式。
MXI-Express RIO需要一个连接到主系统的MXI-Express接口:可选择的系统包括多核CompactRIO、PXI或工业控制器,以及运行Windows或实时操作系统且具有MXI-Express PCI卡接口的PC。用户可使用MXI-Express ExpressCard适配器将MXI-Express RIO机箱连接至尚未具有MXI-Express接口但具有内置ExpressCard插槽(如NI PXIe-8115)的控制器。用户还可使用NI PXIe-8364 MXI-Express接口将MXI-Express RIO连接至其PXI系统。MXI-Express与PCI或PCI Express适配器可用于MXI-Express RIO连接至PC。
以太网 | EtherCAT | MXI (EOL) | |
---|---|---|---|
添加基于FPGA的I/O至以太网网络的任何位置。 | 基于EtherCAT的确定性I/O适用于分布式应用。 | 高性能扩展机箱适用于高通道数应用。 | |
I/O计数 | 4或8个C系列插槽 | 8个C系列插槽 | 8或14个C系列插槽 |
FPGA | Artix-7 | Artix-7 | Virtex-5 (LX50/LX85/LX110 |
网络拓扑 | 与以太网相同 | 菊花链/星型 | 菊花链/星型 |
距离 | 连接集线器前可达100 m | 连接中继器前可达100 m | 机箱间距7 m |
多设备同步 | 基于FPGA的DIO | 总线固有功能 | 基于FPGA的DIO |
通信抖动 | 无规范 | <1 μs | <10 μs |
总线吞吐量 | 25 MB/s | 12.5 MB/s | 250 MB/s |
API支持 | FPGA主机接口/RSI | RSI | FPGA主机接口 |
主机 | Windows/Real-Time | 仅Real-Time | Windows/Real-Time |
表1:主要扩展I/O功能比较
机箱 | FPGA | 门 | 触发器 | LUT | 乘法器 | 块RAM (kbit) |
---|---|---|---|---|---|---|
以太网 | ||||||
NI-9149 | Artix-7 | – | 106400 | 53200 | 220 | 4480 |
NI-9147 | Artix-7 | – | 106400 | 53200 | 220 | 4480 |
NI-9148 (EOL) | Spartan-3 2000 | 200万 | 40960 | 40960 | 40 | 720 |
NI-9146 (EOL) | Spartan-6 LX45 | – | 54576 | 54576 | 58 | 2088 |
EtherCAT | ||||||
NI-9145 | Artix-7 | – | 106400 | 53200 | 220 | 4480 |
NI-9144 (EOL) | Spartan-3 2000 | 200万 | 40960 | 40960 | 40 | 720 |
MXI-Express | ||||||
NI-9159 (EOL) | Virtex-5 LX110 | – | 69120 | 69120 | 64 | 4608 |
NI-9157 (EOL) | Virtex-5 LX85 | – | 51840 | 51840 | 48 | 3456 |
NI-9155 (EOL) | Virtex-5 LX85 | – | 51840 | 51840 | 48 | 3456 |
NI-9154 (EOL) | Virtex-5 LX50 | – | 28800 | 28800 | 48 | 1728 |
表2:查看用于扩展RIO产品中的FPGA。