概览
将嵌入式设备部署到远程网络面临许多管理挑战,包括监视系统运行状况,执行远程配置,执行诊断和故障排除功能以及部署软件安装和更新。本文档探讨了NI软件产品组合提供的解决分布式系统管理难题的选项。
内容
· 基于Web的配置和监视实用程序
· 复制和部署实用程序
· 系统管理软件
· 以编程方式将性能监视纳入远程目标
· 程序访问
· 实时跟踪查看器
· 分布式系统管理员
· NI MAX系统信息
· 其他资源
基于Web的配置和监视实用程序
安装在远程NI目标中的基于Web的配置和监视实用程序可使用商用浏览器提供有关这些目标的信息。您可以使用此实用程序来远程配置和监视设备。它提供有关以下内容的信息:
· 系统设置-配置系统和启动设置并监视系统资源。
· 远程文件浏览器-访问远程设备的文件系统。
· 安全性-配置密码,用户,用户组和权限。
· Web服务管理-管理已部署的Web服务。
· 时间配置-配置目标的时间和日期。
· 软件管理-可视化目标中安装的软件。
· 网络配置-配置网络适配器设置。
图1:使用基于Web的配置和监视实用程序,您可以配置设置并可视化远程目标上的参数。
复制和部署实用程序
映像是用于管理实时(RT)目标的软件部署的有效工具。能够复制RT目标的映像使部署目标和系统变得更加容易和高效。无论您是对系统进行定期备份,从已开发的系统部署到许多新系统,还是在目标上更新映像,还是提供其他人来复制操作系统的工具,复制映像都可以使所有这些应用程序成为可能。但是,构建强大的应用程序以使用映像API自动执行RT目标的应用程序部署和管理并不是一件容易的事。复制和部署(RAD)实用程序为自动化RT映像部署,复制和管理提供了一个统包解决方案。它使用系统配置VI功能构建。
将应用程序从一个目标复制到另一个目标时,您将从一个RT目标检索应用程序映像并将其复制到另一个目标。应用程序映像包含RT目标硬盘的内容(所有文件和目录),这些内容定义了RT目标的行为以及设置为部署到FPGA闪存的任何位文件。您可以按创建日期和版本号来组织应用程序映像版本,并使用RAD Utility进行比较,以帮助用户从源代码控制中受益,以进行配置管理。要了解有关如何使用此实用程序的更多信息,请参考以下示例。
图2: “复制和部署实用程序”使您可以有效地管理实时目标的软件部署。
系统管理软件
Systeml
ink为分布式测试,测量和控制解决方案提供集中管理功能。直观的Web应用程序使您可以管理一组联网系统,其功能包括软件部署,设备配置和诊断。Systeml
ink还提供安全,可扩展的数据服务和LabVIEW API。支持的硬件包括PXI(Windows),CompactRIO(NI Linux Real-Time)和Windows PC。
图3: Systeml
ink和LabVIEW使整个分布式系统中的已连接设备,软件部署和数据通信的大规模协调成为可能。
以编程方式将性能监视纳入远程目标
在使用实时系统时,开发人员试图通过不过载系统资源来确保应用程序可靠地运行。当调度确定实时处理器执行哪些任务时,如果处理器过载,则无法预测系统的行为。 如《CompactRIO开发人员指南》所述,Natio
nal Instruments建议将CPU使用率保持在70%以下,同时还要确保为所需的系统操作留有足够的系统内存。为了帮助用户监视其实时目标,NI提供了多种访问系统资源信息的方法。
程序访问
对目标资源的编程访问使您可以创建可适应不断变化的条件的代码。例如,如果达到某个资源阈值,则可以修改大型项目以更改其行为。这种改变实时目标要求的能力可以帮助确保高优先级任务继续执行。此外,直接访问CPU和内存信息为创建自定义监视和日志记录工具提供了机会。在LabVIEW中,系统配置API和RT Utility VI可帮助您访问目标的系统资源。
RT Utility VI
RT Get CPU Loads VI位于RT Utilities面板中,提供了大量的CPU使用情况信息。通过发布与不同优先级任务关联的计算活动,该VI可以查看超过CPU总使用量的情况。掌握了这些信息后,您就可以确定某些过程是否正在获得足够的资源并隔离大型项目中的问题。如图4所示,该VI输出一个簇数组,每个元素提供有关相应内核的信息。
图4:使用RT Utilities VI。
系统配置API
使用NI硬件时,NI系统配置API使您能够配置,定位,映像设备并与设备通信。要使用此API,必须在实时目标上安装系统配置软件。图5显示了如何通过LabVIEW Real-Time软件向导安装该插件。
图5:安装系统配置API。
您可以使用系统会话属性节点Property Node(System).vi来访问有关设备的易失性和非易失性内存的信息。图6显示了初始化会话VI如何为该属性节点提供适当的目标引用。配置“系统会话”属性节点时,可以在“系统资源”标题下找到内存信息。
图6:系统会话属性节点。
此外,您可以使用Find.vi提取必要的硬件引用,以执行系统硬件属性节点,例如Property Node(Hardware).vi。图7显示了系统硬件属性节点如何提供对目标行为的进一步了解。但是,您必须小心将哪些硬件资源传递给属性节点。
图7:使用属性节点监视目标的行为。
使用属性节点时,请确保遵循最佳编程习惯,并使用系统配置API的Close.vi关闭引用。另外,NI Real-Time Linux OS目标的内存报告与预期行为有所不同,并在此知识库文章中进行了概述。
实时跟踪查看器
LabVIEW Real-Time模块随附的NI Real-Time Trace Viewer为开发人员提供了底层分析和基准测试工具。使用实时跟踪查看器,用户可以识别内存分配,查看特定的线程活动,并仔细查看各个CPU的执行和时序数据。
使用实时跟踪查看器需要将适当的VI添加到在特定目标上执行的代码中,然后查看RT执行跟踪查看器VI创建的文件。在目标上执行代码时创建的系统跟踪可以存储在本地或发送到主机。有关如何使用此底层系统资源分析工具的概述,请查看LabVIEW示例查找器中的相关示例之一。
图8:实时跟踪查看器。
此外,该工具包允许开发人员生成在查看跟踪会话时可见的自定义事件标志。您可以使用TraceTool日志用户Event.vi来帮助您集中精力查找程序特定区域中的系统资源分配。
注意,在LabVIEW Real-Time模块2013及更早版本中,打包的Real-Time Trace Viewer是一个单独的工具包(Real-Time Execution Trace Toolkit)。
分布式系统管理员
用户可以开发LabVIEW生态系统的监视工具,例如Distributed System Manager,而不必开发定制的监视软件。分布式系统管理器(DSM)允许工程师和技术人员查看通过不同NI产品发布到网络的信息。与System State Publisher软件一起使用时,用户可以查看关键的CPU和内存可用性信息。DSM不仅为用户提供详细信息,例如Time Structures使用的CPU百分比和可用的最大连续内存块,还通过双图表跟踪总内存和CPU数据。
图9:分布式系统管理器
要使用DSM,必须将System State Publisher安装在感兴趣的实时目标上。如下所示,LabVIEW Real-Time软件向导允许您安装System State Publisher附加组件,该附加组件将所有必需的信息发布到DSM。
图10:安装分布式系统管理器
NI MAX系统信息
尽管NI MAX不提供分布式系统管理器提供的深度信息,但它可以提供有用的系统运行状况快照。要访问此信息,请打开MAX并从“远程系统”标题中选择一个实时系统。可以在“系统设置”选项卡中找到“系统资源”部分,该选项卡在选择目标后默认显示。
图11: NI MAX系统信息