使用分布式I/O构建实时系统

这篇文章讨论了使用分布式I/O进行实时部署系统的设计。美国国家仪器公司推出了NI 9144扩展机箱,用于确定性以太网中的NI CompactRIO和可编程自动化控制器(PAC)系统。该C系列模块的8槽机箱,与LabVIEW实时模块的强大功能相结合,为确定性分布式I/O提供了便捷的解决方案。此外,您可以使用LabVIEW FPGA模块对NI 9144进行编程,建立能够完成自定义定时和在线处理的智能分布式设备。

1. 介绍
当你需要在实时控制系统中设计分布式I/O时,你将怎么办?首要问题就是如何在添加I/O的同时,不牺牲现有实时系统的确定性。在没有实时通信协议的情况下,你可能需要借助于数字I/O模块的共享时钟或硬件触发器对多个实时控制器进行同步。但随着添加的控制器越来越多,同步的复杂度使工作变得很费时而且很难处理,特别是需要分布式I/O时。

图1 添加确定性分布式I/O的复杂解决方案

图1 添加确定性分布式I/O的复杂解决方案

理想的解决方案包含使用高速、确定性的通信协议,在分布式I/O节点间传递数据,同时使用相同或相容的NI软硬件平台。

2. NI 9144扩展机箱
NI 9144扩展机箱为用户的NI CompactRIO或PAC系统添加了确定性的以太网I/O。这个用于C系列模块的8槽坚固机箱,利用开放的实时以太网协议EtherCAT进行确定性的通信。NI提供了多种实时嵌入式控制器,例如CompactRIO、PXI以及工业控制器,您已经用来作为分布式系统的主控制器。此外,可以按菊花链的方式从主控制器中连接多个NI 9144从机箱,从而扩展实时应用。

图2. 使用分布式I/O的NI实时系统

图2. 使用分布式I/O的NI实时系统

NI 9144是工业级的机箱,设计拥有极高的坚固程度、可靠性和-40到70°C的工作范围。为了自定义测量和控制系统,用户可以在30余种模拟和数字C系列模块间进行选择。而且,在添加实时扩展I/O时,软件配置和LabVIEW编程也被设计成易于使用的形式。

相关链接

NI 9144扩展机箱内部原理

3. C系列I/O模块的灵活性
由于NI 9144机箱是模块化的扩展系统,用户有着插入额外I/O模块来集成更多测量类型和通道的灵活性。同时,还可以附加另外的扩展机箱,以在系统中加入更多的模块插槽。每个机箱中所有的I/O模块都可以自动同步,而且网络中的扩展机箱也可以彼此同步。

每个C系列模块包含了内建的信号调理和信号隔离功能,对超越电压范围的信号及工业信号类型,诸如热电偶、电阻、电压、电流、应力和加速度等进行处理。与NI 9144机箱一样,所有的C系列模块都是经过UL测试的,可以工作在工业温度和冲击的环境下。同时,C系列I/O模块在其它NI硬件平台下是可以重用的,如嵌入式CompactRIO、USB CompactDAQ和Wi-Fi数据采集设备等。

美国国家仪器公司提供了使用LabVIEW FPGA的基础I/O功能,对每个I/O模块的输入/输出电路进行直接硬件访问,这为您提供了进行板载信号处理的功能,例如滤波、快速傅立叶变换(FFT)、PWM、波形发生等等。此外,对于单点模拟与数字I/O,您可以方便地使用LabVIEW实时模块中的NI扫描模式,对超过40个C系列模块进行编程。要获取完整的兼容模块列表,请查看C系列模块兼容性图表。NI 9144模块位于确定性分布式I/O分类下。

图4. 包含了特定传感器连接头、内建式信号调理及A/D转换器的C系列模块

图4. 包含了特定传感器连接头、内建式信号调理及A/D转换器的C系列模块

相关链接:

C系列家族产品视频

C系列模块兼容性图表

4. LabVIEW实时模块的方便扩展性
使用LabVIEW软件,用户可以轻易地将确定性扩展I/O集成到图形化编程环境中。NI 9144的“箱外”经验包含了在NI主控器上安装NI工业级通信的EtherCAT驱动,这样LabVIEW就可以自动识别所有连接的从设备及设备模块。LabVIEW实时模块还提供了I/O变量,使用户可以使用简单的拖放即可快速访问物理的I/O值。使用I/O强制和在线测试面板,用户可以使用I/O变量来监测系统性能并进行高级的故障排除。需要了解I/O变量背后的LabVIEW技术,请访问下面的链接。

图5. 将NI 9144 I/O变量拖到LabVIEW VI中

图5. 将NI 9144 I/O变量拖到LabVIEW VI中

相关链接

CompactRIO扫描模式介绍

5. LabVIEW FPGA带来的高性能
除了NI 9144的默认“箱外”经验可以带来最佳的使用方便性,每个NI 9144还包含了嵌入式Xilinx现场可编程门阵列(FPGA),您可以使用图形化LabVIEW FPGA工具进行自定义。由于使用了可重配置的逻辑门电路在硬件中执行代码,因此FPGA十分快捷、可靠,是在应用中执行任何实时控制、采集和定时功能的理想选择。此外,为在多个分布式NI 9144模块之间,提供了FPGA代码同步的虚拟单点定时信号做同步,其抖动小于100 ns。使用在NI 9144中嵌入的FPGA硬件,用户能够实现定制触发、在线处理以及用于模拟和数字I/O的控制。要获取更多关于使用LabVIEW FPGA的信息,请访问以下链接。

图6:LabVIEW FPGA为NI 9144 FPGA芯片提供了简便的图形化编程工具。

图6:LabVIEW FPGA为NI 9144 FPGA芯片提供了简便的图形化编程工具。

相关链接

什么是LabVIEW FPGA?

6. 更多相关资源

技术文档:CompactRIO扫描模式介绍

中文网页:分布式I/O全面介绍

在线研讨会: 用于可编程自动化控制器(PAC)的确定性分布式I/O

原文链接: http://www.ni.com/white-paper/7400/zhs/